|  Mailman
 Ron McCarty
              Despite the ever-increasing pace of the Internet evolution, many 
              of us turn to email lists to supply professional advice, keep us 
              up-to-date on news, and interact with others with common interests. 
              Network administrators often need to support mailing lists within 
              organizations. Majordomo (http://www.greatcircle.com/majordomo/) 
              may be the mailing list manager that comes to mind for most admins; 
              however, there are alternatives available such as Mailman (http://www.lists.org), 
              which I will examine this month.
              Mailman is a list manager written in the Python language (it requires 
              version 1.52 or later) and is supported on most versions of UNIX. 
              Mailman supports multiple list managers to ensure the systems administrator 
              does not get caught up in the day-to-day running of the mailing 
              lists. Mailman also supports a Web-based management for list managers 
              and subscribers, as well as Web-based archiving.
              Mailman can be downloaded from:
              
             
http://www.list.org/mailman.tar.gz
or, if you prefer ftp:  
             
ftp://ftp.gnu.org/gnu/mailman/
The installation instructions covered here are for Red Hat 6.2, with 
            other versions being very similar. I will, however, point out where 
            Red Hat's features make the installation easier or more difficult. 
            Apache (or another Web server) is required for the installation, and 
            some Apache configuration is required and covered here.  Place the downloaded distribution into the directory structure 
              where source code is stored. On Linux, I prefer /usr/local/src/. 
              Unzip and untar the distribution:
              
             
cd /usr/local/src
gunzip mailman.tar.gz
tar xvf mailman.tar
Create a user named "mailman" and a group named "mailman". 
            Red Hat uses a one-to-one mapping of users to groups, which means 
            that each user has its own group by the same name. So, for Red Hat, 
            we simply use:  
             
/usr/sbin/useradd mailman
passwd mailman
The Mailman directory needs to be executable by everyone, and also 
            needs to allow set group identification (set gid), so change the permissions:  
             
chmod a+rx,g+ws /home/mailman/
Log in as user "mailman" to configure and install the software.  
             
cd /usr/local/src/mailman-2.0.1/
./configure
./make install
The installation routine may report some errors concerning mv 
            commands, which is fine -- the installation copies previous files 
            to backup files with a .prev extension. After the installation, 
            the directories used by Mailman are created in the following /home/mailman 
            directory. Run:  
             
/home/mailman/bin/check_perms -f
and then repeat the:  
             
/home/mailman/bin/check_perms -f
To ensure all the problems were fixed with the first check_perms.  Apache Configuration
              Now Apache needs to be configured. Add the entry:
              
             
Alias /pipermail/ "/home/mailman/archives/"
after the:  
             
Alias /icons/ "/home/httpd/icons/"
entry, and add:  
             
ScriptAlias /mailman/ "/home/mailman/cgi-bin/"
after the:  
             
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
entry in the Apache httpd.conf configuration, which is stored 
            in /etc/httpd/conf/httpd.conf on a standard Red Hat 6.2 install.  The Alias entry (above) allows the public archives created by 
              Mailman to be access through the Web directory /pipermail/. 
              The ScriptAlias is necessary to allow Mailman's CGI scripts 
              to be executed by Apache. As root, copy the graphics Mailman will 
              need for proper display to Apache's icon directory:
              
             
cp /home/mailman/icons/* /home/httpd/icons/
and change the owner of the graphics:  
             
chown root:root /home/httpd/icons/PythonPowered.png
chown root:root /home/httpd/icons/gnu-head-tiny.jpg
chown root:root /home/httpd/icons/mailman-large.jpg
chown root:root /home/httpd/icons/mailman.jpg  
Finally, restart Apache:  
             
/etc/rc.d/init.d/httpd restart
As user Mailman, set up the crontab to execute the Mailman scripts:  
             
cd /home/mailman/cron/
crontab crontab.in
and set the Mailman site password to "password" (use an 
            appropriate password):  
             
/home/mailman/bin/mmsitepassword password
As root, add aliases for user Mailman and Mailman-owner to point to 
            the global Mailman administrator. For example:  
             
mailman: ronald.mccarty@gte.net
mailman-owner: mailman
and run newaliases so that Sendmail knows about the changes. 
            Sendmail uses the Sendmail-restricted shell (smrsh) for local 
            mail delivery, so smrsh must be configured to allow execution 
            of the wrapper by linking the wrapper to the /etc/smrsh/ directory:  
             
ln -s /home/mailman/mail/wrapper /etc/smrsh/wrapper
You should now be able to access the Mailman Web front end by pointing 
            your browser at the Web site directory /mailmain/admin/, as 
            shown in Figure 1.  List Creation
              To create a Mailman list, log in as Mailman and run the newlist 
              command:
              
             
newlist
which will prompt you for the list owner and list password, and will 
            print out the entries you need to add to the /etc/aliases file. 
            It sends an email to the list owner after you hit enter, as directed 
            by the newlist program.  Enter the email of the person running the list: ronald.mccarty@gte.net 
              Initial netadmin password: Entry for aliases file:
              
             
## netadmin mailing list
## created: 11-Apr-2001 mailman
netadmin:           "|/home/mailman/mail/wrapper post netadmin"
netadmin-admin:     "|/home/mailman/mail/wrapper mailowner netadmin"
netadmin-request:   "|/home/mailman/mail/wrapper mailcmd netadmin"
netadmin-owner:     netadmin-admin
Hit "enter" to continue with netadmin owner notification. 
            As root, enter the aliases printed out above to /etc/aliases, which 
            would be:  
             
netadmin:           "|/home/mailman/mail/wrapper post netadmin"
netadmin-admin:     "|/home/mailman/mail/wrapper mailowner netadmin"
netadmin-request:   "|/home/mailman/mail/wrapper mailcmd netadmin"
netadmin-owner:     netadmin-admin
and run newaliases to let Sendmail know about the new aliases. 
            (If you mess up the list creation, use the rmlist command to 
            remove the list. If a list is removed, do not forget to delete the 
            aliases in /etc/aliases.)  Assuming all is configured correctly, the list owner you specified 
              above will receive an email with the password and a URL to be used 
              for list management. An example of the admin screen is shown in 
              Figure 2. Additionally, the URL for users to access the system is 
              also provided and is shown in Figure 3.
              Besides the URL given for user access, users can also subscribe 
              to the newly created list by sending an email to the netadmin-request 
              mailing address with "subscribe" in the body. The commands 
              that Mailman understands are similar to other mailing list programs, 
              and the user can get a complete list of the commands by sending 
              the command "help" in the message of the body to netadmin-request 
              (or appropriate other list-request alias).
              Miscellaneous Administration
              Basic installation and list creation has been covered here. I 
              recommend a strong understanding of Mailman if the software is planned 
              for public mailing lists. A good method to learn the software is 
              to go through each of the administrative screens and see how changes 
              affect Mailman's operation. Pay close attention to the privacy 
              settings to make spammers' lives as difficult as possible and 
              keep them off of your lists, and to keep your subscribers' 
              email addresses out of view.
              Summary
              Mailman is definitely worth considering for your mailing list 
              needs. The Web front end for administrators and users with easy 
              integration with Apache makes it one of the easiest mailing list 
              programs to maintain. Check it out!
              Ronald McCarty received his bachelor's degree in Computer 
              and Information Systems at the University of Maryland's international 
              campus at Schwaebisch Gmuend, Germany. After completing his degree, 
              Ronald McCarty started his network career as network administrator 
              at the Schwaebisch Gmuend campus. Ronald McCarty works for Lucent 
              Technologies as a senior systems engineer on a customer team responsible 
              for a major telecommunications carrier. He spends his free time 
              with his two best friends in the world: his daughter, Janice, and 
              his wife, Claudia. Ron can be reached at: ronald.mccarty@gte.net.
           |