Contents
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
...
}