FreeBSD + GNU Mailman + Postfix =============================== Shanker Balan http://shankerbalan.com/ Changelog: Wed Jun 11 13:41:51 IST 2003 - May the flames begin Overview: Mailman is a mailing list manager (MLM) with a user-friendly web front-end from http://www.list.org/ The workstation that I am installing GNU Mailman is running FreeBSD -CURRENT with Postfix as the MTA. Apache2 is the web server. [godzilla] ~> uname -a FreeBSD godzilla.mydomain.com 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Tue Jun 10 10:12:19 IST 2003 root@godzilla.mydomain.com:/usr/obj/usr/src/sys/MYKERNEL i386 [godzilla] ~> pkg_info -x mailman Information for mailman-2.1.1: [godzilla] ~> pkg_info -x postfix Information for postfix-2.0.10,1: [godzilla] ~> pkg_info -x apache Information for apache-2.0.46: [godzilla] ~> pkg_info -x python Information for python-2.2.3: - Compiling mail/mailman Update the mailman/Makefile with MAIL_GID="mailman" See /usr/ports/mail/mailman/pkg-message for details. I got this error with the default GID which was "mailnull" : Command died with status 2: "/usr/local/mailman/mail/mailman post mailman". Command output: Group mismatch error. Mailman expected the mail wrapper script to be executed as group "mailnull", but the system's mail server executed the mail script as group "mailman". Try tweaking the mail server to run the script as group "mailnull", or re-run configure, providing the command line option `--with-mail-gid=mailman'. [godzilla] ~# portinstall mail/mailman - Update apache2/httpd.conf ### ### Apache: apache2/httpd.conf # Mailman ScriptAlias /mailman "/usr/local/mailman/cgi-bin" Alias /pipermail "/usr/local/mailman/archives/public" The cgi scripts should now work via the browser. [godzilla] ~> links -g http://godzilla.mydomain.com/mailman/create - Postfix Configuration ### ### postfix/main.cf ### # mailman owner_request_special = no alias_maps = hash:/usr/local/etc/postfix/aliases, hash:/usr/local/mailman/data/aliases - Mailman Configuration Do the steps as outlined in /usr/local/share/doc/mailman/README.POSTFIX and then follow the INSTALL doc /usr/local/share/doc/mailman/INSTALL. Set the MTA to postfix and set the permissions on data/alias* The INSTALL file has detailed information on the post-install configuration which is adequate for getting a list going. The steps mentioned below is just a repeat of it. Generete the aliases hash: [godzilla] /usr/local/mailman# bin/genaliases Run bin/check_perms to test [godzilla] /usr/local/mailman# bin/check_perms /usr/local/mailman/data/aliases.db owned by root (must be owned by mailman Problems found: 1 Re-run as mailman (or root) with -f flag to fix [godzilla] /usr/local/mailman/data# chown mailman aliases* [godzilla] /usr/local/mailman# bin/check_perms No problems found - Create a new list using "bin/newlist" and then start the Mailman daemon. [godzilla] /usr/local/mailman# bin/newlist Enter the name of the list: [...] [godzilla] ~# /usr/local/etc/rc.d/mailman.sh start