
###########  This is a beta release.  Please report bugs to
###########  shaver@atanasoff.cs.iastate.edu (Dave Shaver)

Beta: 12/MAY/90

Installation ============

1)  Create a library directory where the mail server programs reside, e.g.
    "/usr/local/lib/mailserver".  Change $lib in config to reflect this choice
    for the library directory.  (dorequest.pl and process.pl must have ONE line
    changed to reflect this choice also:  look for the &source(".../config") line.)

2)  A user id must be chosen for execution of the sever, e.g. daemon.  This
    user id does not need any privileges, except for access to the
    archives.  For security reasons it should NOT be root.  Change
    listener.c and Makefile.SH to reflect this uid.

3)  Run Makefile.SH.  This will create the Makefile using your library
    selection in the config file.  (It uses the Perl program getval to
    grab $lib from config.)

4)  Take a look at config.  The first section lists UNIX commands
    needed by the server.  Next are the location of system files used
    by the server.  (The most notable entry here is the library
    directory changed in step 1 above.) When searching for a file
    requested by a user, the serer looks at all directories in
    @libdirs.  The next section is an attempt to thwart hacking.  The
    name of the server and some network mail addresses come next.  The
    final section is a catch-all.  (When editing be careful not to
    remove the 1; at the end of config.)

5)  "make" the programs.  Hopefully this won't result in any errors.  If it
    doesn't, type "make -n install"  then "make install" as root.  (Look at
    the source of the listener program to verify it will not change your
    idea of a secure system.  taintperl should be used one of these days.)

6)  Check to be sure that syslog.pl and syslog.h are working in your
    Perl include directory.  To build syslog.h, cd into your Perl
    source directory and type "./makelib syslog.h".  This should create
    /usr/local/lib/perl/syslog.h (or wherever $privlib points in your
    Perl Makefile.)  Make sure it's readable by everyone.  (See the
    Perl man page and the makelib script for more information.)

7)  Create suitable aliases wherever your aliases are kept (e.g
    /usr/lib/aliases or /etc/aliases for sendmail-based systems).  You
    might want to also create an alias for $humanaddr (see config file):

    	csdserv: "|/usr/local/lib/mailserver/process"
    	csdserv-admin: shaver

8)  If this all went well you're ready to test the server.

    From the source directory after make install:

    % cd `getval lib`
    % ./listener << Yow
    From: (your_login_name)

    test
    Yow

    Hopefully you'll get back a mail message saying that the
    test worked.  If you don't, try to invoke "process" exactly
    as above.  (If things are still broken you might look
    at the syslog logs.)

9)  If this works, try:

    % mail csdserv << Yow
    test
    Yow

10) Things still working?  Try:

    % cd <one-of-your-@libdirs>
    % cat > foo << Yow
    Test
    Yow
    % mail csdserv << Yow
    send foo
    Yow

    If this works you should be all set.  Check the return headers
    carefully to make sure things all look OK.

11) Place the files "help" and "unpack.pl" in one of your
    @libdirs.

    Also, supply "btoa.shar" with the btoa/atob handling
    programs, "uudecode.shar" with uu{de,en}code, and "compress.shar"
    with {un}compress.

12) Report any bugs/improvements to shaver@atanasoff.cs.iastate.edu (Dave Shaver)
