Mailman
From Gentoo Linux Wiki
| Installation • Kernel & Hardware • Networks • Portage • Software • System • X Server • Gaming • Non-x86 • Emulators • Misc |
Please format this article according to the guidelines and Wikification suggestions, then remove this notice {{Wikify}} from the article
Contents |
[edit] Intro
Mailman is free software for managing electronic mail discussion and e-newsletter lists. Mailman is integrated with the web, making it easy for users to manage their accounts and for list owners to administer their lists. Mailman supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters, and more. See the features page for details.
Mailman is free software, distributed under the GNU General Public License. Mailman is written in the Python programming language, with a little bit of C code for security.
[edit] Installing
Install mailman with: emerge -a mailman
For up-to-date installation instructions, read the Gentoo readme: bzless /usr/share/doc/mailman-*/README.gentoo.bz2
[edit] Configuration
You will need to configure MailMan before use. The configuration file is /etc/mailman/mm_cfg.py and the default configuration is in /usr/lib/mailman/Mailman/Defaults.py. Do not edit Defaults.py as your changes may be overwritten when the package is upgraded. You will at least want to verify that DEFAULT_EMAIL_HOST and DEFAULT_URL_HOST are correct.
[edit] Upgrading pre 2.1.9-r2
Prior to version 2.1.9-r2, installation and data paths were most likely set to /usr/local/mailman. However, as of version 2.1.9-r2, a major configuration change was made to the ebuild, defaulting the installation directory to /usr/lib/mailman and the data directory to /var/lib/mailman. If you already are using the new directories, you make skip this section.
Update MAILMAN_PREFIX and MAILMAN_VAR_PREFIX to the current installation and data directories, respectively, by adding the following lines to /etc/make.conf.
| File: /etc/make.conf |
MAILMAN_PREFIX=/usr/local/mailman MAILMAN_VAR_PREFIX=/usr/local/mailman |
After the prefix directories are set, emerge mailman. Finally follow the ebuild instructions to update the mailman home directory.
| Code: Update the mailman home directory |
# usermod -d /usr/local/mailman mailman |
Alternatively, you make copy the corresponding data and installation directories to /var/lib/mailman and /usr/lib/mailman.
[edit] Troubleshooting
If you are receiving an error like:
<"|/usr/local/mailman/mail/mailman post list"@domain.tld> (expanded from list@domain.tld): unknown user: "|/usr/local/mailman/mail/mailman post list"
Be sure that your Postfix main.cf doesn't have the list aliases ( /usr/local/mailman/data/aliases ) listed as a virtual domain; the virtual transport does not allow for commands like the local transport does. Also, make sure that virtual_alias_maps doesn't have $alias_maps as one of its values, eg
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-maps.cf $alias_maps
seems to result in the virtual transport being used for all values of $alias_maps as well.
If you can't create lists through the web, check the error log for details (/usr/local/mailman/logs/error). If you have an error like this:
OSError: [Errno 13] Permission denied: '/usr/local/mailman/archives/private/listname.mbox'
It means that when the webserver runs the Mailman scripts, it doesn't have permission to create directories inside the "private" folder. On my system Apache executed the scripts as the "mailman" *group*, which didn't have write access to the folder. Running "chmod g+w /usr/local/mailman/archives/private" fixed the problem (as that folder was already owned by the mailman group, it was just restricted to read-only.)
Be sure to Google your error message. Also, try the Mailman documentation, the mailman-users archives, and, of course, Google Groups.
