[freeside.git] / htdocs / docs / config.html
1 <head>
2   <title>Configuration files</title>
3 </head>
4 <body>
5   <h1>Configuration files</h1>
6 Configuration file layout has changed in 1.2.x.
7 <ul>
8   <li>First, the file `/usr/local/etc/freeside/mapsecrets' is read.  Each line
9 in this file contains a username and filename, separated by whitespace.  Note
10 that these are not local usernames - they are passed from Apache (you _did_
11 setup <a href="http://www.apache.org/docs/misc/FAQ.html#user-authentication">
12 user authetication</a>, correct?).  Filenames are located in 
13 `/usr/local/etc/freeside/'.  The specified filename is parsed exactly
14 the same as the pre-1.2.x `secrets' file:
15   <li>Three lines: Database engine datasource (for example,
16   `DBI:mysql:freeside' or `DBI:Pg:dbname=freeside'), username, and password.
17   This file should not be world readable.  See the DBI manpage and the manpage
18   for your DBD for the exact syntax.
19 </ul>
20 All further configuration files and directories are located in
21 `/usr/local/etc/freeside/conf.<i>datasource</i>', for example, 
22 `/usr/local/etc/freeside/conf.DBI:Pg:dbname=freeside'
23 <ul>
24   <li>address - Your company name and address, four lines.
25   <li>apacheroot - The directory containing Apache virtual hosts
26   <li>apachemachine - A machine with the apacheroot directory and user home directories.  The existance of this file enables setup of virtual host directories, and, in conjunction with the `home' configuration file, symlinks into user home directories.
27   <li>apachemachines - Your Apache machines, one per line.  This enables export of `/etc/apache/vhosts.conf', which can be included in your Apache configuration via the <a href="http://www.apache.org/docs/mod/core.html#include">Include</a> directive.
28   <li>bindprimary - Your BIND primary nameserver.  This enables export of /var/named/named.conf and zone files into /var/named
29   <li>bindsecondaries - Your BIND secondary nameservers, one per line.  This enables export of /var/named/named.conf
30   <li>bsdshellmachines - Your BSD flavored shell (and mail) machines, one per line.  This enables export of `/etc/passwd' and `/etc/master.passwd'.
31   <li>countrydefault - Default two-letter country code (if not supplied, the default is `US')
32   <li>cybercash2 - <a href="http://www.cybercash.com/cybercash/services/cashreg214.html">CyberCash v2</a> support, four lines: paymentserverhost, paymentserverport, paymentserversecret, and transaction type (`mauthonly' or `mauthcapture').  CCLib.pm is required.
33   <li>cybercash3.2 - <a href="http://www.cybercash.com/cybercash/services/technology.html">CyberCash v3.2</a> support.  Two lines: the full path and name of your merchant_conf file, and the transaction type (`mauthonly' or `mauthcapture').  CCMckLib3_2.pm, CCMckDirectLib3_2.pm and CCMckErrno3_2 are required.
34   <li>deletecustomers - The existance of this file will enable customer deletions.  Be very careful!  Deleting a customer will remove all traces that this customer ever existed!  It should probably only be used when auditing a legacy database.  Normally, you cancel all of a customers' packages if they cancel service.
35   <li>domain - Your domain name.
36   <li>editreferrals - The existance of this file will allow you to change the referral of existing customers.
37   <li>erpcdmachines - Your ERPCD authenticaion machines, one per line.  This enables export of `/usr/annex/acp_passwd' and `/usr/annex/acp_dialup'.
38   <li>hidecancelledpackages - The existance of this file will prevent cancelled packages from showing up in listings (though they will still be in the database)
39   <li>hidecancelledcustomers - The existance of this file will prevent customers with only cancelled packages from showing up in listings (though they will still be in the database)
40   <li>home - For new users, prefixed to usrename to create a directory name.  Should have a leading but not a trailing slash.
41   <li>icradiusmachines - Your <a href="ftp://ftp.cheapnet.net/pub/icradius">ICRADIUS</a> machines, one per line.  The existance of this file (even if empty) turns on radcheck table creation (in the freeside database - the radcheck table needs to be created manually).  Machines listed in this file will have the radcheck table exported to them.  Each line of this file should contain four items, separted by whitespace: machine name, MySQL database name, MySQL username, and MySQL password.  For example: "<CODE>radius.isp.tld&nbsp;radius_db&nbsp;radius_user&nbsp;passw0rd</CODE>".  Note that to use ICRADIUS export you need to be using MySQL.
42   <li>icradius_mysqldest - Destination directory for the MySQL databases, on the ICRADIUS machines.  Defaults to "/usr/local/var/".
43   <li>icradius_mysqlsource - Source directory for for the MySQL radcheck table files, on the Freeside machine.  Defaults to "/usr/local/var/freeside".
44   <li>invoice_from - Return address on email invoices.
45   <li>lpr - Print command for paper invoices, for example `lpr -h'.
46   <li>mxmachines - MX entries for new domains, weight and machine, one per line, with trailing `.'
47   <li>nsmachines - NS nameservers for new domains, one per line, with trailing `.'
48   <li>nismachines - Your NIS master (not slave master) machines, one per line.  This enables export of `/etc/global/passwd' and `/etc/global/shadow'.
49   <li>passwordmin - Minimum password length (default 6);
50   <li>qmailmachines - Your qmail machines, one per line.  This enables export of `/var/qmail/control/virtualdomains', `/var/qmail/control/recipientmap', and `/var/qmail/control/rcpthosts'.  The existance of this file (even if empty) also turns on user `.qmail-extension' file maintenance in conjunction with `shellmachine'.
51   <li>radiusmachines - Your RADIUS authentication machines, one per line.  This enables export of `/etc/raddb/users'.
52   <li>registries - Directory which contains domain registry information.  Each registry is a directory.
53     <ul>
54       <li>registries/internic - Currently the only supported registry
55         <ul>
56           <li>registries/internic/from - Email address from which InterNIC domain registrations are sent.
57           <li>regestries/internic/nameservers - The nameservers for InterNIC domain registrations, one per line.  Each line contains an IP address and hostname, separated by whitespace.
58           <li>registries/internic/tech_contact - Technical contact NIC handle for domain registrations.
59           <li>registries/internic/template - Template for InterNIC domain registrations with special markup.  A suitable copy of the InterNIC domain template v4.0 is in `fs-x.y.z/etc/domain-template.txt'.
60           <li>registries/internic/to - Email address to which InterNIC domain registrations are sent.
61         </ul>
62     </ul>
63   <li>sendmailmachines - Your sendmail machines, one per line.  This enables export of `/etc/virtusertable' and `/etc/sendmail.cw'.
64   <li>shellmachine - A single machine with user home directories mounted.  This enables home directory creation, renaming and archiving/deletion.  In conjunction with `qmailmachines', it also enables `.qmail-extension' file maintenance.
65   <li>shellmachines - Your Linux and System V flavored shell (and mail) machines, one per line.  This enables export of `/etc/passwd' and `/etc/shadow' files.
66   <li>shells - Legal shells (think /etc/shells).  You probably want to `cut -d: -f7 /etc/passwd | sort | uniq' initially so that importing doesn't fail with `Illegal shell' errors, then remove any special entries afterwords.  A blank line specifies that an empty shell is permitted.
67   <li>showpasswords - The existance of this file will allow unencrypted user passwords to be displayed.
68   <li>smtpmachine - SMTP relay for Freeside's outgoing mail.
69   <li>soadefaultttl - SOA default TTL for new domains.
70   <li>soaemail - SOA email for new domains, in BIND form (`.' instead of `@'), with trailing `.'
71   <li>soaexpire - SOA expire for new domains
72   <li>soamachine - SOA machine for new domains, with trailing `.'
73   <li>soarefresh - SOA refresh for new domains
74   <li>soaretry - SOA retry for new domains
75   <li>usernamemin - Minimum username length (default 2);
76   <li>usernamemax - Maximum username length (default is the size of the SQL column, probably specified when fs-setup was run)
77 </ul>
78 </body>