Create a new user called "mailman" "uid=1200".
Create a new group called "mailman" gid=1200.
Create an installation directory in "/usr/local/mailman".
cd /usr/local/mailman
curl -O http://unc.dl.sourceforge.net/sourceforge/mailman/mailman-2.1.tgz
gnutar -xvzf mailman-2.1.tgz
cd /
sudo chgrp mailman /usr/local/mailman
sudo chmod a+rx,g+ws /usr/local/mailman
cd /usr/local/mailman/mailman-2.1
sudo ./configure --prefix=/usr/local/mailman --with-cgi-gid=www --with-mail-gid=1
sudo make install
cd ..
sudo bin/check_perms -f
sudo bin/check_perms -f
# % cd /etc/httpd
# % open -e httpd.conf
#
#
# Find the section where ScriptAliases are setup, and add the following line:
#
# ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
#
# Find the section where Aliases are setup, and add the following line:
#
# Alias /pipermail/ "/usr/local/mailman/archives/public/"
# % cp /usr/local/mailman/icons/mailman.jpg /usr/share/httpd/icons/
# % cp /usr/local/mailman/icons/PythonPowered.png /usr/share/httpd/icons/
# % cp /usr/local/mailman/icons/gnu-head-tiny.jpg /usr/share/httpd/icons/
# % cp /usr/local/mailman/icons/mailman-large.jpg /usr/share/httpd/icons/
# % sudo apachectl graceful
cd /usr/local/mailman/cron/
crontab -u mailman crontab.in
cd /usr/local/mailman/Mailman
open -e mm_cfg.py
# Add the following lines to the end of the file:
DEFAULT_EMAIL_HOST = 'mail.domain.net'
DEFAULT_URL_HOST = 'www.domain.net'
cd ..
bin/mailmanctl start
bin/mmsitepass
Add the following line to /etc/hostconfig
MAILMAN = -YES-
download startup files:
http://www.afp548.com/Software/MailmanStartup.tar.gz
Place those files in /Library/StartupItems
Visit the url: http://my.dom.ain/mailman/create
Exim configure file
add to main config section:
MAILMAN_HOME=/usr/local/mailman
MAILMAN_WRAP=MAILMAN_HOME/mail/mailman
MAILMAN_USER=mailman
MAILMAN_GROUP=1
add to routers (near the beginning):
mailman_router:
driver = accept
require_files = MAILMAN_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : \
-confirm+* : -join : -leave : \
-owner : -request : -admin
transport = mailman_transport
add to transports:
mailman_transport:
driver = pipe
command = MAILMAN_WRAP \
'${if def:local_part_suffix \
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
{post}}' \
$local_part
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP