Linux Help

Mailman Setup Guide   
Printable Version

Mailman Setup Guide by Joey.
Created on April 30th, 2001.
Last updated on September 19th 2003.

For those of you who are interested in setting up a proper mailing list and cannot be bothered with the complex setup of MajorDomo. there is a simple solution, Mailman.

There are a few requirements that must be met before you can proceed with the MailMan installation.

  • You must have root access to the machine.
  • Apache must be installed.
  • Finally, you need a properly configured MTA (mail transport agent) like Sendmail, Exim or Qmail installed.

Once all the requirements have met you should have a quick look at their MailMan FAQ. You can download MailMan from one of the GNU Mirror Sites. The current release at the time of this update is 2.1.2.

The file you'll want to download is mailman-2.1.2.tgz. After you've downloaded it move it to /usr/local/src (I like to store all my source code there) and untar it by running the following command:

tar -zxvf mailman-2.1.2.tgz

This will create a directory called mailman-2.1.2, in /usr/local/src. Change directories into it and take a peek at their INSTALL file.

You will need to create a seperate user account on your system for MailMan to run as. The default username is mailman and you can create it by running the following command (as root):

adduser mailman

To set a password for this user you must run the following command as root:

passwd mailman

Once the user is created you can go ahead and begin the installation. You will have to find out what user your Apache web server is running as; normally it is www-data or nobody. If you aren't sure you can open up your httpd.conf file with your favorite text editor and look for the User entry (an example would be User www-data).

Once you figure out what user Apache is running as you will have to find the group ID. To do this open up /etc/group and find the user. My Apache server runs as user apache and has a group ID of 503. An example of this entry in my /etc/group would be:


Once you've figured it out, you will have to run the following commands from within the /usr/local/src/mailman-2.1.2 directory (Be sure to replace id=503 with the proper ID):

./configure --with-cgi-id=503
make install

Hopefully it will complete without any errors. If you do receive errors it's likely due to a library missing or one of the requirements listed at the beginning of this guide. If you aren't sure what the error message means you can try searching for it.

Once the commands listed above have completed you must go into /home/mailman/bin and execute the check_perms file. If you receive errors you can fix them by running check_perms -f

Once you have ran check_perms without receiving any errors you can then move on to the Apache configuration portion of the install. You must now configure Apache to allow execution of CGI scripts in /home/mailman/cgi/ to do this, you will have to add the following lines to your httpd.conf file and then restart your Apache server

ScriptAlias /mailman/ /home/mailman/cgi-bin/
<Directory /home/mailman/cgi-bin/>
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
Alias /pipermail/ /home/mailman/archives/public/

You'll want to place the GNU icons into your web tree, normally /icons/ or /images/ with default Apache installations. You can specify this directory in the /home/mailman/Mailman/ file:

IMAGE_LOGOS = '/images/'

MailMan uses crontab entries in order to perform certain tasks. You'll have to add the crontab entries for the mailman user by running the following commands:

su - mailman

cd /home/mailman/cron


The next step in the install is to create the mail aliases MailMan will use. You will have to create aliases for mailman and mailman-owner. I use Sendmail for my mail server so I would add the following to /etc/aliases (/etc/mail/aliases on some systems) and then run the newalisaes command.

mailman:        joey
mailman-owner:  joey

Consult your mail server documentation on how to add aliases if you are using something other than sendmail.

Now you will have to set your default adminstrator password for the MailMan web interface. Please do not pick a simple password. You can set it by running the following:

/home/mailman/bin/mmsitepass thisisabadpassword

You can now create your mailing list by running the following command:


You will be prompted for the name of the list and to provide an email address for the admin. It will then spit out a 4 lines which you will have to add to your /etc/aliases (/etc/mail/aliases on some systems) file, they will look something like the following:

listname:                    "|/home/mailman/mail/wrapper post listname"
listname-admin:              "|/home/mailman/mail/wrapper mailowner listname"
listname-request:            "|/home/mailman/mail/wrapper mailcmd listname"
listname-owner:              listname-admin

Once that is added, once again you must run the newaliases command.You will then receive an email at the address you provided with instructions on how to log onto your list and how to subscribe.

If you are having problems, please see section 7 of the INSTALL file as it has a detailed problem/solution listing.

If everything goes okay, you should now have a working mailing list on your server.

Having trouble? Got questions? Require further assistance? If so please feel free to visit our Help Forums and ask the experts!

Copyright © 1997 - 2017 Private World Domination Inc. All rights reserved.
Linux is a registered trademark of Linus Torvalds. All other trademarks and copyrights are the property of their respective owners.
| Contact Us | Link to Us | RSS Feed | Staff |

DNS Hosting by easyDNS