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.