Revision 5 as of 2020-04-14 18:13:37

Clear message

Description

Mailman is a mailing list manager. It's old, but very stable and very decent. The current running version uses Python 2. This is the installation on FreeBSD 12.1.

Installation

Of FreeBSD:

pkg install mailman

Configuration

DNS

Watch out using FreeBSD and sendmail! If you want to have a single hostname as a domain for your mailinglist server, you can't have a CNAME in your DNS. So the next is WRONG! I run into some trouble that my virtual domain was detected as a local domain and so the virtual mailinglist tables didn't exsists.

lists.example.org. 3600 CNAME smtp.example.org.
lists.example.org. 3600 MX 10 smtp.example.org.

This is right:

lists.example.org. 3600 A 1.2.3.4
lists.example.org. 3600 MX 10 smtp.example.org.

Webserver

Hiawatha

First, set the execution user in the file /usr/local/etc/hiawatha/cgi-wrapper.conf. Add the next line to the file:

Wrap = mailman ; /usr/local/mailman/cgi-bin ; www:www

Then, make cgi exectutable in /usr/local/etc/hiawatha/hiawatha.conf by adding this line:

CGIextension = cgi

In your virtual host configuration, add an executable directory and make it an alias:

Directory {
        DirectoryID = dir_mailman
        Path = /mailman/
        ShowIndex = no
        StartFile = listinfo
        ExecuteCGI = yes
        TimeForCGI = 10
        WrapCGI = mailman
}

VirtualHost {
        ...
        Alias /mailman:/usr/local/mailman/cgi-bin
        Alias /pipermail:/usr/local/mailman/archives/public
        Alias /icons:/usr/local/mailman/icons
        NoExtensionAs = cgi
        EnablePathInfo = yes
        UseDirectory = dir_mailman
        ...
}

First list

Now make your first mailinglist. Normally this is the mailman@* list. Run /usr/local/mailman/bin/newlist and create a new mailinglist.