@(#) DAEMON.ins 1.3 90/01/06 19:47:10



This document describes how to install the daemon software on the file

server that exports the per-user mail directories, and how to adapt the

local sendmail.cf file.



Operation

=========



The per-user mail directories are mounted from a file server.  The UUCP

file transfer functions of the pc-mail cico program are taken over by

the following two programs that run on the file server:



pc-mail:	deliver mail to a user's mail directory (the receiving

		function of the cico program). This program is intended 

		to be called by sendmail.



pc-maild:	scan user mail directories for unsent mail, and pipe it 

		through the UNIX rmail command (the sending function of 

		the cico program). This program should be started at

		system boot time.



All per-user mail directories live below the pc-mail spool directory

(/var/spool/pc-mail by default).



Both programs report all problems via the syslog facility. Most error

conditions case the programs to retry at a later time.



Installation on the server

==========================



Build the pc-mail and pc-maild programs.  In the Makefile, you should

specify the location of the executable programs and the pc-mail spool

directory, and how often the daemon program will scan user directories

for unsent mail.  You will probably have to do a `make depend' before

you can `make' the programs.



Execute the following command to create the pc-mail spool directory, and

to install the pc-mail and pc-maild programs.  You must be root.



    % make install



The output from the "make" command will depend on how you specified the

path names in the Makefile:



    mkdir /var/spool/pc-mail

    chmod 755 /var/spool/pc-mail

    cp pc-mail pc-maild /usr/local/lib

    chown root /usr/local/lib/pc-mail

    chmod u+s /usr/local/lib/pc-mail



Execute the following command if you wish to install the manual pages.



    % make installman



Again, the output from make will depend on what you specified in the

Makefile:



    cp pc-mail.8 pc-maild.8 /usr/local/man/man8



Add a line with the command



    /usr/local/lib/pc-maild



to the file /etc/rc.local (the exact name of the rc script depends on

your version of unix, and the exact path name of the pc-maild program

depends on where you installed it).



For now, you will have to start the pc-maild program by hand (unless

you wish to reboot the machine).



Add to the sendmail.cf file a line that looks like:



    Mpc,	P=/usr/local/lib/pc-mail, F=lsDFMn, S=xxx, R=yyy, A=pc-mail $u



Where xxx and yyy may be the same rewriting rules as used for the local

mailer (usually defined with the "Mlocal" line). The exact path name of

the pc-mail executable depends on what you specified in the Makefile.



In the file sendmail.cf, at the end of ruleset S0, but just BEFORE the

local mailer will be invoked (something like "R$* $#local $:$1"), add a

line with



    R $=X			$#pc $:$1



Use a different letter if X is already in use.  



There are two ways to define X as a list of pc-mail users.  The list can

be wired into the sendmail.cf file, e.g.:



    CXjohn marsha



Multiple usernames on a line, and multiple CX lines are allowed.  



A better way is to have sendmail read the list from an external file, by

putting the following line into the sendmail.cf file:



    FX/etc/pc-mail-users %s



The /etc/pc-mail-users file should contain only a single login name per

line.



Each time you change the list of pc-mail users (either in sendmail.cf,

or in the /etc/pc-mail-users file) you will have to kill the sendmail

daemon and restart it.



Note that the sendmail program ON THE NFS SERVER will never read the

pc-mail user's .forward file.  That file will still be useful, however,

if the user's home directory is exported to OTHER hosts running

sendmail.  In that case you will want to create a .forward file in the

user's home directory containing



	username@fully-qualified-hostname-of-the-server



The same effect can be achieved, of course, by adding an entry to the

network-wide alias data base:



	username:	username@server

