beginning of DNS and Apache support
[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>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.
32   <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.
33   <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.
34   <li>domain - Your domain name.
35   <li>editreferrals - The existance of this file will allow you to change the referral of existing customers.
36   <li>erpcdmachines - Your ERPCD authenticaion machines, one per line.  This enables export of `/usr/annex/acp_passwd' and `/usr/annex/acp_dialup'.
37   <li>hidecancelledpackages - The existance of this file will prevent cancelled packages from showing up in listings (though they will still be in the database)
38   <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)
39   <li>home - For new users, prefixed to usrename to create a directory name.  Should have a leading but not a trailing slash.
40   <li>invoice_from - Return address on email invoices.
41   <li>lpr - Print command for paper invoices, for example `lpr -h'.
42   <li>mxmachines - MX entries for new domains, weight and machine, one per line, with trailing `.'
43   <li>nsmachines - NS nameservers for new domains, one per line, with trailing `.'
44   <li>nismachines - Your NIS master (not slave master) machines, one per line.  This enables export of `/etc/global/passwd' and `/etc/global/shadow'.
45   <li>passwordmin - Minimum password length (default 6);
46   <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'.
47   <li>radiusmachines - Your RADIUS authentication machines, one per line.  This enables export of `/etc/raddb/users'.
48   <li>registries - Directory which contains domain registry information.  Each registry is a directory.
49     <ul>
50       <li>registries/internic - Currently the only supported registry
51         <ul>
52           <li>registries/internic/from - Email address from which InterNIC domain registrations are sent.
53           <li>regestries/internic/nameservers - The nameservers for InterNIC domain registrations, one per line.  Each line contains an IP address and hostname, separated by whitespace.
54           <li>registries/internic/tech_contact - Technical contact NIC handle for domain registrations.
55           <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'.
56           <li>registries/internic/to - Email address to which InterNIC domain registrations are sent.
57         </ul>
58     </ul>
59   <li>sendmailmachines - Your sendmail machines, one per line.  This enables export of `/etc/virtusertable' and `/etc/sendmail.cw'.
60   <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.
61   <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.
62   <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.
63   <li>showpasswords - The existance of this file will allow unencrypted user passwords to be displayed.
64   <li>smtpmachine - SMTP relay for Freeside's outgoing mail.
65   <li>soadefaultttl - SOA default TTL for new domains.
66   <li>soaemail - SOA email for new domains, in BIND form (`.' instead of `@'), with trailing `.'
67   <li>soaexpire - SOA expire for new domains
68   <li>soamachine - SOA machine for new domains, with trailing `.'
69   <li>soarefresh - SOA refresh for new domains
70   <li>soaretry - SOA retry for new domains
71   <li>usernamemin - Minimum username length (default 2);
72   <li>usernamemax - Maximum username length (default is the size of the SQL column, probably specified when fs-setup was run)
73 </ul>
74 </body>
75