A good overview of the mail configuration process is available from the Bell-labs Plan9 Wiki mail configuration page.
In our network we run a smtp server on the primary cpu/auth server plan9. To simplify the config all hosts deliver mail directly. An alternate approach would be to forward all mail to the gateway which could then deliver the mail. This sort of approach would require 2 versions of the rewrite file.
Having each host deliver mail directly means you must import the external interface from the gateway before sending mail. If we were to forward all mail to the gateway In most cases we would not need to import /net.alt. However, to deliver mail to hosts w/ MX records we need access to the lanl.gov DNS server, which means we would have to import /net.alt to send mail to the main lanl mailserver.
On the mail server machine the setup involves 4 files /mail/lib/rewrite, /mail/lib/remotemail, and /mail/lib/smtpd.conf and /mail/lib/blocked. (currently empty) plus doing a chmod 777 on /mail/tmp to enable the receipt of messages bigger than 64k.
On the clients one just needs to modify the files /mail/lib/rewrite and /mail/lib/remotemail. note that in our setup these files are shared by all hosts
on a dual homed mail server it is important that the defaultdomain in smtpd.conf matches the domain returned by ndb/query sys $sysname dom which should be the internal network domainname otherwise you can have mail loops.
Make sure /usr/$user/lib/profile has calls to plumber and upas/fs. Then you can then read your mail with the "mail" command, or better yet use acme mail. For acme mail, start acme, and the enter the string /acme/mail/Mail and click on it with the 2nd mouse button to run it.
There seems to be problems with locking mail boxes on the mailserver/gateway machine, which we are investigating. For now, this is easy to get around be not using mail clients on the gateway.
A good overview of the printer configuration process is available from the Bell-labs Plan9 Wiki printer configuration page, as well as the paper A guide to the lp printer spooler
We use a rather simple setup where the plan9 machines just send print jobs to our linux printhost (running lprng) we have the same copy of /sys/lib/lp/devices on all hosts.
On the fileserver machine we had to make a few directories before we could print from machines booted off of the file server
mkdir /n/vampiraother mkdir /n/vampiraother/lp mkdir /sys/lib/lp/tmp mkdir /sys/lib/lp/log
some permission changes:
chmod a+w /sys/lib/lp/log chmod a+w /sys/lib/lp/tmp chmod a+w /sys/lib/lp/log/*so all users can print.
Given that all of our printers live on the external network, we had to modify lpdsend.c to use /net.alt rather than the default /net.
In the 4th Ed. we did not make this change, instead we just issue the commands:
import plan9 /net.alt import plan9 /net.alt /netbefore printing.
Before running cron on the cpu/auth server we had to fix the permissions of a few files.
cd /cron chgrp upas upas chgrp -u upas upas cd upas chgrp upas * chgrp -u upas *better solution is just to add a key for upas on the cpu server console using
the timezone can be checked by looking at /env/timezone to set it copy the correct file onto /adm/timezone/local e.g.
cd /adm/timezone cp US_Mountian local
on gateway in cpurc use timesync -n acl.lanl.gov
set fileserver date by hand on console using date command (need to set it 2 hours ahead of local time on filserver-kernel is hardwired to New Jersey time)
terminals sync to fileserver using timesync -f in termrc
first on the file server console do:
newuser rminnich create /mail/box/rminnich rminnich upas 775 d create /mail/box/rminnich/mbox rminnich upas 662 althis creates the user account and adds the user to /adm/users
of you edit the /adm/users file on the cpu server or another host booted off the fileserver you will have to run the "users" command of the fileserver to reread /adm/users. Then on the auth server run:
/auth/enable rminnich (for 4th Ed. only) /auth/changeuser rminnich
Which asks for the passwd as well as a number of other questions. We make the pop/inferno passwd the same as the plan 9 passwd and use "bootes" as the post id.
Next boot a terminal off the file server by typing "il" at the boot prompt. Login as the new user with the passwd entered on the cpu/auth server. Run: