Installing Mailman on an Ubuntu server

This is an excellent (and up-to-date) set of instructions on how to install Mailman on an ubuntu server:

Mailman – Community Ubuntu Documentation

This guide explains how to setup Mailman mailing list software with the Apache web server and either the Exim4 or Postfix mail servers on Ubuntu. The intended audience is experienced linux users and system administrators.

It does some nice things, such as suggesting that you use a dedicated host name for handling mailing lists (“lists.yourdomain.com”) – all mail to that host is then routed through mailman; this means that you don’t have to remember to update your /etc/aliases every time you add a new mailing list. Because it’s no longer necessary to manage email aliases, it’s then possible for anyone to create their own mailing list without involving IT.

To do this, you’ll need to run this command on the mailing list server:

# mmsitepass -c ‘listcreatorpassword’

substituting an appropriate password for “listcreatorpassword”. Then just tell list creators to visit http://lists.yourdomain.com/cgi-bin/mailman/create/ and they can create their own lists.

Because the guide is meant to be a beginner’s quickstart guide to creating a mailing list server, it does not include anything on how to customize defaults for a mailman server. There are two changes that I always make. The changes are made in mm_cfg.py, which is located in /etc/mailman/ on Ubuntu:

# Are archives public or private by default?
# 0=public, 1=private
DEFAULT_ARCHIVE_PRIVATE = 1

# Unwieldy limit on list postings removed.
DEFAULT_MAX_MESSAGE_SIZE = 0

This makes list archives private by default. This makes sense in our environment, but may or may not make sense in yours. The second change is more important. On some versions of mailman, the default maximum size for mailing list message attachments is 64K. Otherwise, messages will be held for moderation or rejected (depending on list settings). The proposed change makes the default attachment size unlimited – again this may or may not make sense in your environment. Don’t forget to restart mailman if you make changes to the mm_cfg.py file. For a complete list of all of the variables that can be set in the mm_cfg.py file, see Defaults.py, which is located in /usr/lib/Mailman/mailman/ on Ubuntu. The Defaults.py is really must reading for anyone setting up a mailman server.

By the way, I tested the instructions by configuring mailman on a virtual Ubuntu server running in  VirtualBox. The host OS was CrunchBang (an Ubuntu varient) running on my trusty IBM ThinkPad X31 with 768 MB of RAM. I allocated 256MB for the virtual machine and had no trouble at all installing it. If you’d like more information on configuring VirtualBox on a system like mine, let me know.

Advertisements

3 thoughts on “Installing Mailman on an Ubuntu server

  1. thanks Ben this looks great! i keep getting hung up on the Apache part after trying sudo ln -s ../../mailman/apache.conf /etc/apache2/sites-enabled/mailman i cannot restart the apache server. It fails with the error Could not open configuration file /etc/apache2/sites-enabled/apache.conf: No such file exists 😦 basically stuck arrghhh.. thanks in advance for all your help!

  2. bchapman says:

    >> ln -s ../../mailman/apache.conf /etc/apache2/sites-enabled/mailman

    @Matt – the ‘ln -s’ line is to create a symbolic link to the file. The problem is that it is using a relative path and you are not in the directory that it thinks you are in. Try this instead:

    ln -s /etc/mailman/apache.conf /etc/apache2/sites-enabled/mailman

    This will create a new ‘shortcut’ or symbolic link in /etc/apache2/sites-enabled/mailman named ‘apache.conf’. Restart apache and see if that fixes it. If it’s easier, you could also just copy the original mailman.conf file into the sites-enabled directory:

    cp /etc/mailman/apache.conf /etc/apache2/sites-enabled/mailman/

    After you make these changes, you’ll need to restart apache:

    sudo service apache2 restart (I think!)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s