User Tools

Site Tools


Configuring [[|Mailman]] for Ubuntu

Taken from

Draft - Started 17 December 2005 Released to the unsuspecting world - 21 December 2005 Latest minor revision - 24 August 2006 at 01:30 PM

Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Software selected


There is only one package you'll need to add - mailman. Use Synaptic Package Manager or apt-get to add it to your machine.

It's my belief the Ubuntu install files leave you with the wrong file ownerships, so if you haven't already opened a terminal window do so and become root $ sudo -s (and enter your password) Mailman includes a handy script to make check your permissions. It's in /usr/sbin/ so it should be on root's path. # check-perms - and note the massive problems. To fix permissions, # check-perms -f A bunch of changes scroll by, but did it get them all? # check-perms -f Nope; still errors. In fact, you need to # cd /var/lib/mailman # chown -R list:list *

Of course I'm using for this HOWTO. Substitute your own domain name. Mailman configuration files

The Mailman configuration files are in /etc/mailman. Use your favorite text editor to edit /etc/mailman/ You'll want to check/edit/add the following lines:

 MTA=None # No MTA processing req'd for Ubuntu/virtual/
 IMAGE_LOGOS = '/icons/'

I'm not sure if you need this line - can someone tell me?


Apache 2 config files are in /etc/apache2. The Apache authors think you should put anything that looks like a module in mods-available and mods-enabled. Go ahead and create a new file: /etc/apache2/mods-available/mailman.conf

 ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
 ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/
 <Directory /usr/lib/cgi-bin/mailman/>
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
 Alias /pipermail/ /var/lib/mailman/archives/public/
 <Directory /var/lib/mailman/archives/public>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

Optional - pipermail is one of those directory names which hangs around for historical reasons but makes little sense to users. You might want to add a more sensible-sounding alias for the mailing list archives.

 Alias /archives/ /var/lib/mailman/archives/public/
 <Directory /var/lib/mailman/archives/public>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

Now add a symlink to this file so Apache will use your new Mailman aliases the next time it starts:

 # cd /etc/apache2/mods-enabled
 # ln -s /etc/apache2/mods-available/mailman.conf mailman.conf

All your configuration files are now set. Activate everything by restarting your services:

 # /etc/init.d/apache2 restart
 # /etc/init.d/postfix reload
 # /etc/init.d/mailman start

Create your first list

Mailman doesn't have anything to do until there is at least one list for it to act on, so let's make one:

 # newlist mailman

You'll be asked for an administrator email address - give it yours - and a password. If all goes well you should immediately get an email welcoming you to your new list. The email will have a URL where you can go and experiment with the web-based mailman configuration. There's just one thing that won't work – emails sent to the list will not work. On to the final section of this howto. Adding MySQL aliases

If you've installed phpmyadmin as Ivar suggests you can use a GUI interface, otherwise you'll edit your MySQL database through the command line. Insert the following entries into the aliases table of the maildb database:

 mail	destination	      

Your 'mailman' list should be operational.

configuring_mailman_for_ubuntu.txt · Last modified: 2016/11/25 22:38 (external edit)