INSTALL - Nmail



Quick install - (if you have a fairly "standard" linux system)
----------------------

  1.  'make install'

  2.  Point your web-browser to:

         http://your_hostname/cgi-bin/nmail

  3.  (optional), edit /var/nmail/pref/default and change hostname= to
      point to your hostname. This just sets up the default domain name
      for the reply-to address for each new user until they setup their
      own personal preferences. 





Installation for out-of-the-ordinary systems
----------------------

Nmail is not autoconfigurable yet. Here are a few things that have
been found to differ from system to system. I'll add an auto-configure
script evenutially, but for now ...

   1. Look in "config.h". Most changes can be configured in here.

   2. Distributions do not always put their http server files in the same 
      place. You may need to configure the place for your html files and 
      cgi-bin files by editing "config.h"

      RedHat-6.x
         HTTPROOT="/home/httpd/html"
         CGIBIN="/home/httpd/cgi-bin"
      SuSE
         HTTPROOT="/usr/local/httpd/htdocs"
         CGIBIN="/usr/local/httpd/cgi-bin"
      RedHat-7.0
         HTTPROOT="/var/www/html"
         CGIBIN="/var/www/cgi-bin"         


   3. Qmail and Exim do not like the -U sendmail option. There is a 
      place to comment this out in "config.h"

   4. Permissions on the mailfiles in /var/spool/mail seem to be an issue.

      Nmail wants the mail in /var/spool/mail/* to have permissions

         -rw-rw---- userID  mail        filename

      Some local mail delivery agents set the permissons to

	 -rw------- userID  userGROUP   filename

      This is because the programs that access the mail files either run 
      as root, or run SUID root, and then setuid(user). But, to even be 
      able to setuid(user), the process must be running as root. The only 
      way to read mail in the second configuration is for the program 
      accessing it to run SUID root. 

      I did not want this. Most delivery agent can be configured to save 
      mail in the first example. The local delivery agent that comes with 
      sendmail (mail.local) is one example. In the sendmail docs, it even 
      says:

         "[mail.local] is not intended to be used on *stock* System V 
         derived systems such as Solaris or HP-UX, since they use a totally 
         different approach to mailboxes (essentially, they have a setgid 
         program rather than setuid, ..."

      Here are some local delivery agents and what needs to be done to 
      configure them to use the setgid approach.

         - procmail - already runs this way (at least on my system. I have
              had one person report differently.)

         - exim - to configure exim to save mail with group mail and 
              permissions -rw-rw---- you need to add the following options 
              to your appendfile configuration 
                 group = mail
                 mode = 660
              I'm not sure exactly which file it is, or if I have the
              syntax exactly correct. I just "suggested" it to another
              user and he said it worked.
              
         - mail.local - mail.local defaults to the first example.
              To configure the setgid way, you'll need to recompile at
              least the mail.local binary. I just downloaded the sendmail
              source and only compiled the mail.local binary. I left the
              rest of sendmail alone on my system and everything works fine.

              Once you get the sendmail source extracted, create the file
                 devtools/Site/site.config.m4
              and add the line
                 APPENDDEF(`conf_mail_local_ENVDEF',`-DMAILGID=12')
              Then, in the mail.local/ directory, build mail.local
                 ./Build -f ../devtools/Site/site.config.m4
              The binary will be floating around somewhere in the sendmail
              source directory, but you should be able to handle it from here.

          
 

Uninstall
----------------------

Sorry to hear your reading this. I'd appreciate your comments on what you 
didn't like.

 - Remove /home/httpd/cgi-bin/nmail
 - Remove /home/httpd/html/nmail
 - Remove /usr/sbin/login_validate
 - Remove /var/nmail





