INSTALL
上传用户:s81996212
上传日期:2007-01-04
资源大小:722k
文件大小:31k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1.                                  Installation
  2.                                        
  3.      * Overview
  4.      * Authentication modules
  5.      * Confirming selected authentication options
  6.      * LDAP authentication
  7.      * VPOPMAIL authentication
  8.      * PAM authentication
  9.      * MySQL authentication
  10.      * AUTHDAEMON proxy
  11.      * Runtime configuration
  12.      * Domain-based templates
  13.      * Shared folders
  14.      * LDAP address books
  15.        
  16. Overview
  17.    The typical sequence of commands to compile and install SqWebMail is
  18.    as follows:
  19.   ./configure [options - see below]
  20.   make configure-check
  21.   make
  22.   make check
  23.   make install-strip
  24.    Be sure to read the notes below if you intend to use LDAP or vpopmail
  25.    authentication.
  26.    
  27.    NOTE: On some systems "make install-strip" fails due to a combination
  28.    of a brain dead install program, and an automake bug. If that happens,
  29.    enter "make install" instead. The only difference would be that
  30.    sqwebmail installs without stripping the debug data. If you can live
  31.    with a deceptively large binary in your cgi-bin, that's fine. If not,
  32.    you can strip the binary manually, using the strip command. However,
  33.    take care to preserve the ownership and the permissions of the binary,
  34.    because the strip command may lose them.
  35.    
  36.    If the --with-cachedir option is used, after installing you must add a
  37.    cron job that runs the cleancache.pl script at regular intervals.
  38.    cleancache.pl is installed in /usr/local/share/sqwebmail, or in the
  39.    directory specified by the --with-htmllibdir option.
  40.    
  41.    The options to the configure program are as follows:
  42.      * --with-module, --without-module - explicitly specifies that
  43.        authentication module named "module" should be included or
  44.        excluded. See below for more details.
  45.      * --with-cachedir - SqWebMail will create a directory that caches
  46.        login information. This option may be useful to sites with large
  47.        number of logins, or if authentication is comparatively expensive
  48.        (such is the case with LDAP or vpopmail/MySQL authentication). The
  49.        cache will remove the need to scan the passwd database for each
  50.        http request. If this option is used, it will be necessary to also
  51.        install a small cron job that regularly purges expired cache
  52.        entries.
  53.      * --with-cachedir=dir - use dir instead of /var/run/sqwebmail, or
  54.        /var/cache/sqwebmail (one or the other is selected by default),
  55.        for the cache directory.
  56.      * --with-cacheowner=user - specifies who should own the cache
  57.        directory. This is bin by default. However, if you choose to
  58.        install vsqwebmail owned by the virtual userid, instead of root,
  59.        you MUST use the cacheowner option to specify the virtual userid.
  60.      * --without-gzip - do not use gzip compression. By default, some
  61.        pages will be compressed with gzip before being sent by sqwebmail
  62.        (to browsers that support gzip compression). Note that this may
  63.        result in additional load on your server, so --without-gzip can be
  64.        used to turn it off, if necessary. The gzip program must be in
  65.        your default path at the time you run configure in order for gzip
  66.        compression to be enabled (the absolute pathname is computed and
  67.        used at runtime).
  68.      * --with-db=db - SqWebMail requires that you must have either the
  69.        GDBM or the DB library. The configuration script will check for
  70.        either one's availability. If both are found, GDBM will be
  71.        selected. Use this option to select the DB library instead (if you
  72.        only have the DB library installed, this option is not required).
  73.      * --enable-https - have SqWebMail generate https:// URLs for all
  74.        accesses, instead of http://.
  75.      * --enable-https=login - generate a single https:// URL for the
  76.        login function only. The idea is to use SSL just to send the login
  77.        and the password. In order for this option to work the URL for
  78.        both http:// and https:// path to SqWebMail must be identical!
  79.      * --enable-webpass=no - do not use SqWebMail-only passwords as an
  80.        alternative authentication mechanism. This mechanism allows the
  81.        user to specify a SqWebMail-only password to be used for logging
  82.        in, instead of the default system password. This password will be
  83.        stored in a protected file in the user's Maildir directory. See
  84.        SECURITY for more information.
  85.      * --enable-webpass=vpopmail - use the vpopmail.a library to change
  86.        passwords (this will only work if the virtual userid used for the
  87.        accounts also owns the vpopmail password database).
  88.      * --enable-hardtimeout=seconds - hard session timeout interval, in
  89.        session. After the interval expires, the user is automatically
  90.        logged out.
  91.      * --enable-softtimeout=seconds - soft session timeout interval, in
  92.        session. If no account accesses come within the indicated time
  93.        period, the user is automatically logged out.
  94.      * --enable-autopurge=days - deleted messages are automatically
  95.        purged after this time interval by default.
  96.      * --enable-maxpurge=days- allow users to specify days as the maximum
  97.        interval for preserving deleted messages.
  98.      * --with-htmllibdir=directory - a directory where SqWebMail stores
  99.        its HTML template files. Note - this directory SHOULD NOT be
  100.        accessible by httpd.
  101.      * --with-defaultlang=en - reserved for future use. Selects which set
  102.        of HTML template files SqWebMail will serve by default. Currently
  103.        only English HTML templates are supplied.
  104.      * --enable-cgibindir=directory - where to install the sqwebmail
  105.        executable program. This should be your /cgi-bin directory. The
  106.        configure script will look for one in the usual places, this
  107.        option can be used to tell configure where to look.
  108.      * --enable-imagedir=directory - where to install the icons and
  109.        images program. This should be somewhere in your web server's
  110.        document hierarchy. The configure script will look for one in the
  111.        usual places, this option can be used to tell configure where to
  112.        look.
  113.      * --enable-imageurl=URL - the URL to the directory containing images
  114.        and icons. The given URL must contain a trailing slash.
  115.      * --enable-mimetypes=filelist - a colon-separated list of your
  116.        mime.types files. When an attachment is uploaded, the
  117.        corresponding MIME type is derived by searching for the file's
  118.        extension in the mime.types file. A mime.types file normally comes
  119.        with Pine or Apache. If this option is not specified, configure
  120.        will look in some places where mime.types is usually found. If a
  121.        mime.types file is found in any directory, it is added to the
  122.        list. This is a list of multiple files separated by a colon. If
  123.        the MIME type is not found in the first file, SqWebMail will look
  124.        in the next file.
  125.      * --enable-mimecharset=charset - default charset= tag to stick into
  126.        the Content-Type: header. the default is us-ascii.
  127.      * --enable-lang=lang - reserved for future. Default language of web
  128.        pages to serve.
  129.      * --enable-bannerprog=program - full path to a banner program.
  130.        sqwebmail replaces @B in the HTML template files with the output
  131.        generated by this program. The first argument to the program will
  132.        be the name of the HTML file. The banner program can use that to
  133.        customize banner output.
  134.        It is also possible for a site to stick multiple @B tags in the
  135.        same HTML page. To distinguish each instance follow the @B tag
  136.        with up to 30 letters or digits, surrounded by braces. For
  137.        example: @B{TOP} and @B{BOTTOM}. "TOP", or "BOTTOM" (or anything
  138.        else) will be the second argument to the banner program.
  139.      * --with-maxargsize=n - set maximum size of an HTTP post SqWebMail
  140.        will accept.
  141.      * --with-maxformargsize=n - like the above, but applies to an HTTP
  142.        multipart/formdata post. This is approximately the largest
  143.        attachment that can be uploaded SqWebMail.
  144.      * --with-maxmsgsize=n - maximum size of messages (including
  145.        attachments. Defaults to 2097152 (two megabytes). Note that
  146.        attachments are base64-encoded, which adds 25% overhead, so the
  147.        maximum size of attachments is really about 1.5 megabytes.
  148.      * --with-ispell=pathname - if configure finds ispell in the default
  149.        path, or if you specify the full name to ispell using this option,
  150.        users will be able to spell check their documents.
  151.      * --without-ispell - disable spell checking.
  152.        
  153.      * --with-fcgi - enable fastcgi support (see http://www.fastcgi.com).
  154.        Assumes libfcgi.a and headers are in search path or in main
  155.        sqwebmail build directory. --enable-bannerprog doesn't work with
  156.        fcgi.
  157.        
  158.    After running configure, run make configure-check to verify the
  159.    directories where the CGI and the image files will be installed. make
  160.    configure-check prints the directories that the configuration script
  161.    thinks your web server is installed. Rerun configure and use
  162.    --enable-cgibindir and --enable-imagedir if necessary.
  163.    
  164.    Run make to compile SqWebMail, and make install-strip to install the
  165.    files. As mentioned before, use make install if make install-strip
  166.    fails for some silly reason. To serve the initial log-on script, the
  167.    URL is the path to the sqwebmail (or the vsqwebmail) program, with no
  168.    additional frills. SqWebMail will take it from there.
  169.    
  170.    Before running make install-strip, check out the sendit.sh script, and
  171.    make sure that your mail transfer agent is corrently invoked.
  172.    
  173. Authentication modules
  174.    Authentication modules are responsible for taking the entered userid
  175.    and password, validing them, then locating the corresponding Maildir
  176.    for the userid. The authentication module mechanism replaces a hodge
  177.    podge of various authentication-related options to the configure
  178.    script that were present in earlier versions of SqWebMail.
  179.    
  180.    There are several authentication modules available. Each
  181.    authentication module implements a separate way of authenticating
  182.    logins, and not all authentication modules can be used by everyone.
  183.    Some authentication modules can be used only on systems that have
  184.    certain libraries or software installed separately.
  185.    
  186.    The --with-module and --without-module options to the configure
  187.    specify whether a given authentication "module" should be explicitly
  188.    included or excluded. Multiple --with and --without options are, of
  189.    course, allowed (each one specifying a different authentication
  190.    module). As explained later, it will not be necessary in most cases to
  191.    explicitly specify the disposition of each one of the following
  192.    authentication modules, and most people will find it sufficient to let
  193.    the configure script decide which one of the following authentication
  194.    modules will be used:
  195.      * authpwd - this module looks up userids and passwords in your
  196.        /etc/passwd file, or the equivalent NIS map (as supported by your
  197.        system's getpw functions).
  198.      * authshadow - this module is like authpwd, except that it should be
  199.        used on systems that use shadow password files, /etc/shadow.
  200.      * authpam - this module should be used on systems that have the PAM
  201.        library. With this module, SqWebMail will use whatever PAM modules
  202.        are defined for authenticating the "webmail" PAM service.
  203.        Essentially, authpam allows any PAM module to be used for
  204.        authenticating SqWebMail's logins. NOTE: in addition to including
  205.        this module, you will have to take additional, site-specific,
  206.        steps in order to configure your PAM library for the "webmail" PAM
  207.        service. The specific details regarding your PAM configuration
  208.        differs from system to system, and you should consult your own
  209.        documentation. It might be tempting to throw in a towel and use
  210.        authshadow or authpwd if you cannot figure out how to install PAM
  211.        support, however that is not advisable. It is highly recommended
  212.        to use authpam wherever the PAM library is available.
  213.      * authuserdb - this module uses GDBM or DB database files, usually
  214.        /etc/userdb.dat and /etc/userdbshadow.dat to look up userids and
  215.        passwords. These files are GDBM or DB database files that are
  216.        loosely equivalent in function to /etc/passwd and /etc/shadow.
  217.        These database files are maintained indirectly by several Perl
  218.        scripts (which are included with SqWebMail), which build these
  219.        database files from a plain text file, usually called /etc/userdb
  220.        that can be modified using any text editor, or via command line
  221.        with the aid of the Perl scripts. /etc/userdb may also be a
  222.        subdirectory containing multiple text files of the same format,
  223.        which are concatenated. This allows creation of virtual mail
  224.        accounts that do not have a corresponding login account -- virtual
  225.        mail accounts that can share the same, reserved, system userid.
  226.        /etc/userdb can also be used to complete supercede /etc/passwd.
  227.        With many accounts it can be quite a drain to have to continuously
  228.        linearly scan /etc/passwd in order to look up an account. Instead,
  229.        a fast database lookup can retrieve the same information from the
  230.        database file. Read the included manual pages, starting with
  231.        userdb(8) for more information.
  232.      * authvchkpw - this is another virtual mail database lookup module,
  233.        except that it uses the vpopmail vpasswd files. This module is
  234.        provided for a quick way to use your existing vpopmail vpasswd
  235.        files. Where possible, you should convert over to /etc/userdb. The
  236.        included script vchkpw2userdb(8) might be of some help in doing
  237.        so.
  238.      * authmysql - this is yet another virtual mail database lookup
  239.        module, that uses the MySQL database. Note, that this is a NATIVE
  240.        MySQL authentication module, which is different from authvchkpw.
  241.        NOTE -- not yet functional for SqWebMail -- needs additional work.
  242.      * authldap - authenticates against an LDAP server. This is a new
  243.        module included with SqWebMail 0.28, and should be considered as
  244.        unstable, untested, code. See below for more information.
  245.      * authdaemon - daemon authentication proxy. This is not a new
  246.        authentication method. Enabling this module installs a background
  247.        daemon process, authdaemond that must be activated at system boot
  248.        time. Authentication requests are then implemented by this daemon
  249.        process. This can be very useful if expensive database authention
  250.        back-end is used (such as an LDAP or MySQL), where connecting and
  251.        disconnecting to the database can be very expensive. The
  252.        background daemon process would maintain a persistent database
  253.        connections, and process authentication requests with greater
  254.        efficiency. See below for more information.
  255.        
  256.    It is possible to include more than one authentication module. For
  257.    example, if you select both authuserdb and authpam, each login will
  258.    first be authenticated against /etc/userdb. If SqWebMail cannot find
  259.    the specified account in /etc/userdb, it will then attempt to
  260.    authenticate using the PAM library.
  261.    
  262.    If neither --with nor --without is specified for any one of these
  263.    modules, the configure script will try to figure out whether or not to
  264.    the given authentication module should be used. Therefore, in most
  265.    situations, it will not be necessary for you to explicitly specify
  266.    what to do with each authentication module. For most people, letting
  267.    configure figure it out will be sufficient.
  268.    
  269.    configure will use the following logic to determine which
  270.    authentication modules need to be included by default:
  271.      * authuserdb - this module is always included by default
  272.      * authpam - configure will attempt to detect if the PAM library is
  273.        installed, or not. In most cases, an explicit --with-authpam will
  274.        not work if the PAM library is missing, because PAM development
  275.        libraries, required for compilation, are probably unavailable as
  276.        well. --without-authpam can be used to avoid installing authpam on
  277.        systems that do have a PAM library installed. Hopefully, you will
  278.        have a good reason to do something this silly.
  279.      * authpwd, authshadow - whether or not these modules are installed
  280.        by default depends upon what happened with authpam and authldap.
  281.        If PAM or LDAP support is installed, via authpam or authldap,
  282.        these two modules are usually not necessary, because the PAM
  283.        library, or the LDAP server, provides this functionality. If PAM
  284.        support is unavailable, these modules will be installed by
  285.        default.
  286.      * authdaemon - the authdaemon proxy (see below) is enabled by
  287.        default if either authmysql or authldap is enabled, and disabled
  288.        otherwise.
  289.      * authvchkpw - this module is compiled by default only if the
  290.        vpopmail account is defined.
  291.        
  292. Confirming selected authentication options
  293.    You can find out what authentication modules were actually used, but
  294.    after running the configure script you must also at least run make,
  295.    and have it succesfully complete. Running make, compiles the authinfo
  296.    program in the authlib subdirectory. Run this program to tell you what
  297.    authentication modules got compiled in.
  298.    
  299. LDAP authentication
  300.    SqWebMail 0.28 includes a new experimental authentication module,
  301.    authldap, which should be considered as unstable, untested, code. This
  302.    module attempts to authenticate against an LDAP server, and will
  303.    automatically enable the --with-cachedir option to configure, because
  304.    it is required for LDAP authentication to work.
  305.    
  306.    This option will install a template configuration file, which is
  307.    /usr/local/share/sqwebmail/authldaprc by default. This configuration
  308.    file defines the location of your LDAP server, as well as the names of
  309.    attributes used to perform LDAP authentication. See the comments in
  310.    the sample configuration file, and the authldap(8) manual page, for
  311.    more information.
  312.    
  313. VPOPMAIL authentication
  314.    If you use vpopmail's support for MySQL authentication, you MUST use
  315.    the --enable-logincache option, and do everything you need to do in
  316.    order to use this option (install the cron job, etc...), otherwise
  317.    you're going to bring your server to its knees.
  318.    
  319. PAM authentication
  320.    On systems that have the PAM library, SqWebMail will use the PAM
  321.    library to authenticate userids and passwords. However, you must
  322.    explicitly configure the PAM library to authenticate the webmail
  323.    service. Different versions of the PAM authentication library use
  324.    different configuration procedures, so you will need to consult your
  325.    documentation. This is a separate process, and because of the
  326.    differences amongst many PAM implementations, SqWebMail can't do that
  327.    for you.
  328.    
  329.    The following instructions will work with most versions of the PAM
  330.    library, and should be tried as a last resort:
  331.    
  332.    If you have the directory /etc/pam.d, you should create the file
  333.    /etc/pam.d/webmail, containing the following text:
  334. #%PAM-1.0
  335. auth    required  /lib/security/pam_pwdb.so shadow nullok
  336. account required  /lib/security/pam_pwdb.so
  337.    Your system may use the pam_unix.so module instead of pam_pwdb.so, and
  338.    your modules may be located in a different directory.
  339.    
  340.    If instead of /etc/pam.d you have a global file named /etc/pam.conf,
  341.    try appending the following lines to the end of this file:
  342. webmail auth    required pam_pwdb.so shadow nullok
  343. webmail account required pam_pwdb.so shadow nullok
  344.    Again, you may have to use pam_unix.so or specify the full pathname to
  345.    the PAM module.
  346.    
  347. MySQL authentication
  348.    This module allows authentication information to be stored in a MySQL
  349.    database.
  350.      * Supports both physical and virtual mail accounts.
  351.      * Can be configured to use either crypted or cleartext passwords (or
  352.        both).
  353.        
  354.    When authmysql is installed, a default configuration file, authmysqlrc
  355.    will be installed too. You must edit this file to set up your MySQL
  356.    authentication.
  357.    
  358.    NOTE: this authentication module should NOT be used if you are using
  359.    the vpopmail virtual mailing list manager. You should select the
  360.    authvchkpw authentication module instead (which should happen
  361.    automatically). It may be necessary to use the --without-authmysql
  362.    flag to the configure script, because configure by default will
  363.    include authmysql if it finds MySQL client libraries..
  364.      _________________________________________________________________
  365.    
  366.    Edit authmysqlrc, and initialize the following variables:
  367.      * MYSQL_SERVER - MySQL server name (required).
  368.      * MYSQL_USERNAME - MySQL username with log in with (required).
  369.      * MYSQL_PASSWORD - MySQL password with log in with (required).
  370.      * MYSQL_DATABASE - MySQL database to log in to (required).
  371.      * MYSQL_USER_TABLE - name of the MySQL with the authentication
  372.        information (see below) (required).
  373.      * MYSQL_CRYPT_PWFIELD - name of the field containing the crypt-ed
  374.        password (either MYSQL_CRYPT_PWFIELD or MYSQL_CLEAR_PWFIELD is
  375.        required).
  376.      * MYSQL_CLEAR_PWFIELD - name of the field containing the cleartext
  377.        password (either MYSQL_CRYPT_PWFIELD or MYSQL_CLEAR_PWFIELD is
  378.        required).
  379.      * MYSQL_MAILDIR_FIELD - name of the field containing a non-default
  380.        location of the account's system mailbox (optional).
  381.      * DEFAULT_DOMAIN - if the user logs in without specifying @domain,
  382.        use the following domain (in this case the id field must always
  383.        contain user@host) (optional).
  384.        
  385.    The table specified by MYSQL_USER_TABLE should look as follows
  386.    (recommended):
  387. CREATE TABLE passwd (
  388.         id                    char(128) DEFAULT '' NOT NULL,
  389.         crypt                 char(128) DEFAULT '' NOT NULL,
  390.         clear                 char(128) DEFAULT '' NOT NULL,
  391.         uid                   int(10) unsigned DEFAULT '65534' NOT NULL,
  392.         gid                   int(10) unsigned DEFAULT '65534' NOT NULL,
  393.         home                  char(255) DEFAULT '' NOT NULL,
  394.         maildir               char(255) DEFAULT '' NOT NULL,
  395.         KEY id (id(128))
  396. );
  397. AUTHDAEMON proxy
  398.    Selecting the authdaemon authentication module installs a binary,
  399.    /usr/libexec/sqwebmail/authlib/authdaemond, and you must arrange to
  400.    execute the following command at system boot time:
  401. /usr/libexec/sqwebmail/authlib/authdaemond start
  402.    You may also run authdaemond stop from the system shutdown script.
  403.    
  404.    authdaemon offers an alternative to compiling all the authentication
  405.    methods into SqWebMail. Enabling authdaemon in addition to any other
  406.    modules will result in authdaemon being built as the only "official"
  407.    authentication module. However, the remaining modules are compiled
  408.    into the separate "authdaemond" process.
  409.    
  410.    The authdaemon module uses a filesystem socket to forward the
  411.    authentication request to the running authdaemond process. The
  412.    filesystem socket is created in the directory
  413.    /usr/local/share/sqwebmail/authdaemon, so the filesystem where this
  414.    directory is must be able to support filesystem domain sockets. Most
  415.    networks filesystems, like NFS or AFS, either do not support
  416.    filesystem domain sockets, or the support is troublesome. You may
  417.    install a soft link at that location that points to a directory on a
  418.    local disk. Note that this directory must be owned by root, and must
  419.    not have ANY group or world permissions.
  420.    
  421.    The /usr/local/share/sqwebmail/authdaemonrc configuration file sets
  422.    several operational parameters for the authdaemond process. See the
  423.    comments in the default file installed for more information.
  424.    Currently, authdaemonrc sets two parameters: number of daemon
  425.    processes, and which available authentication modules will be used.
  426.    
  427.    Although authdaemond might be built with several authentication
  428.    modules, not all of them may be used. This allows for a single
  429.    authdaemond build to be made that gets installed on multiple systems
  430.    with different authentication needs. The default module list specified
  431.    by authdaemonrc would be a list of all the available authentication
  432.    modules.
  433.    
  434.    The number of authdaemond processes is also set in this configuration
  435.    file. The more processes that are started, the more authentication
  436.    requests can be handled. If authdaemon does not receive an answer
  437.    within a moderate amount of time, it will declare an authentication
  438.    failure, and abort. Try increasing the number of processes if you
  439.    start seeing random authentication failures. However, that should only
  440.    be used as a stop-gap measure. If the default number of authdaemond
  441.    processes proves to be insufficient, it is far more likely that more
  442.    resources are needed for the server: more RAM, a faster disk, or a
  443.    faster CPU, at least in the humble opinion of the author. Increasing
  444.    the number of processes should only be used as a stop-gap measure,
  445.    until a more thorough analysis on the bottleneck can be made.
  446.    
  447.    After making any changes to authdaemonrc, run the following command
  448.    for these changes to take effect:
  449.     /usr/libexec/sqwebmail/authlib/authdaemond restart
  450. Runtime configuration
  451.    There's some limited amount of configuration that can be done after
  452.    installation. The following presumes that SqWebMail's supporting files
  453.    have been installed in /usr/local/share/sqwebmail.
  454.    
  455.    /usr/local/share/sqwebmail/hostname - when SqWebMail is installed with
  456.    a basic configuration for a single domain, SqWebMail sets the domain
  457.    in the return address for outgoing messages to the defined system
  458.    hostname. If this file exists it will be used instead of the defined
  459.    system hostname.
  460.    
  461.    /usr/local/share/sqwebmail/sendit.sh is a shell script that's called
  462.    to actually mail a message. It can be customized to do something like
  463.    rewriting some of the headers, or adding the client's IP address to
  464.    the headers (sqwebmail does not do that by default).
  465.    
  466.    /usr/local/share/sqwebmail/nochangingfrom - if this file exists (it
  467.    can be a 0-length dummy file), SqWebMail will not allow the From:
  468.    header to be changed, it will always have its default value.
  469.    
  470.    /usr/local/share/sqwebmail/usexsender - if this file exists (it can be
  471.    a 0-length dummy file), SqWebMail will attach an X-Sender: header to
  472.    all outgoing messages. This can be used in the event you would like to
  473.    be able to modify the From: header, yet also be able to track sent
  474.    mail to the original account. Although your mail server should records
  475.    the id of the sending user in the headers of outgoing messages, this
  476.    is not possible when you have many virtual accounts that share the
  477.    same system userid.
  478.    
  479.    /usr/local/share/sqwebmail/noimages - if this file exists then no
  480.    images or icons will be used. The generated interface will be a
  481.    text-only interface.
  482.    
  483.    /usr/local/share/sqwebmail/logindomainlist - if this file exists then
  484.    the login screens will include a drop-down list whose contents will be
  485.    read from this file. This file should contain a list of E-mail
  486.    domains, one per line. It should be created if SqWebMail is used to
  487.    provide mail access for multiple domains. Instead of typing
  488.    "user@domain" to log in, it will only be necessary to enter "user",
  489.    and select the domain from the drop-down list.
  490.    
  491.    /usr/local/share/sqwebmail/html/LANG/footer - if this file exists, the
  492.    contents of this file will be appended to the end of every sent
  493.    message. LANG is the language code here, there can be a separate
  494.    footer per installed language.
  495.    
  496. Domain-based templates
  497.    The default set of templates for the dynamically generated HTML is
  498.    installed in /usr/local/share/sqwebmail/html. When the same server is
  499.    used to provide webmail access for multiple domains it is possible to
  500.    specify a different set of HTML templates for each domain.
  501.    
  502.    This functionality is not directly implemented in SqWebMail, simply
  503.    because there is no standard way to specify this. Instead, this is
  504.    something that will require some minor manual set up to work.
  505.    
  506.    Domain-based templates are implemented by making the web server set
  507.    the environment variables SQWEBMAIL_TEMPLATEDIR prior to running the
  508.    sqwebmail CGI. The contents of this environment variable override the
  509.    default location of /usr/local/share/sqwebmail/html. By having the web
  510.    server initialize this variable based on the domain name it is
  511.    possible to present different templates, based on the domain name
  512.    used.
  513.    
  514.    To do this, as many different copies of the HTML templates as are
  515.    needed must be created, in different directories, then the web server
  516.    must be configured to initialize SQWEBMAIL_TEMPLATEDIR appropriately.
  517.    For example, with Apache:
  518.   <VirtualHost a.b.c.d>
  519.     ServerName webmail.example.com
  520.     [...]
  521.     SetEnv SQWEBMAIL_TEMPLATEDIR /usr/local/share/webmail/webmail.example.com
  522.     [...]
  523.   </VirtualHost>
  524.    The possibilities are endless.
  525.    
  526. Shared folders
  527.    SqWebMail supports shared folders. The SqWebMail distribution includes
  528.    an enhanced maildirmake command that created shared folders.
  529.    
  530.    The maildirmake command will be installed in
  531.    /usr/local/libexec/sqwebmail by default, and the manual page will be
  532.    installed in /usr/local/share/sqwebmail/man by default.
  533.    
  534.    See the manual page for more information on how to set up shared
  535.    folders.
  536.    
  537. LDAP address books
  538.    SqWebMail can import E-mail addresses from public LDAP address books
  539.    into an individual address book. A default systemwide list of
  540.    accessible LDAP address books is defined for everyone, and individuals
  541.    can configure additional LDAP address books for themselves.
  542.    
  543.    OpenLDAP runtime libraries and tools are required to be installed in
  544.    order to search LDAP address books. It is not necessary to have
  545.    OpenLDAP development libraries installed. SqWebMail simply runs the
  546.    ldapsearch tool to query LDAP address books, and parses the results.
  547.    
  548.    The file /usr/local/share/sqwebmail/ldapaddressbook should contain a
  549.    default systemwide list of accessible address book. A default file
  550.    will be installed, listing some common Internet address books. Each
  551.    line in this file contains the following information:
  552. name<tab>host<tab>port<tab>suffix<tab>binddn<tab>bindpw
  553.    <tab> is a single ASCII TAB character.
  554.    
  555.    The file /usr/local/share/sqwebmail/ldapsearch is a wrapper shell
  556.    script that calls the ldapsearch tool. The configuration script
  557.    attempts to find the location of where OpenLDAP tools are installed.
  558.    The path to ldapsearch in this shells script should be verified and
  559.    fixed, if necessary. The default shell script adds some additional
  560.    options to ldapsearch to limit the search time to sixty seconds, and
  561.    to return a maximum of twenty entries from the address book.