Mailman is free mailing list manager for managing electronic mail discussions and newsletter lists. It is widely used mailing list manager which supports supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters.
Here I will explain how to install and configure mailman on a linux system.
First download the latest pack from the link below,
wget http://ftp.gnu.org/gnu/mailman/mailman-2.1.15.tgz
useradd -m /usr/local/mailman mailman
chmod 02775 /usr/local/mailman
apt-get install python-dev
tar -zxvf mailman-2.1.15.tgz
cd mailman-2.1.15
I am running my web server as apache user, having gid = 48.
./configure --with-cgi-gid=48 --with-mail-gid=mailman
make
make install
check installation,
/usr/local/mailman/bin/check_perms -f
Set up webserver for maintaining discussion archives ..
create a new virtual host for lists.test.com
vim /etc/apache2/sites-available/list
<VirtualHost *:80>
ServerName lists.test.com
DocumentRoot /var/www/lists
ErrorLog /var/log/apache2/lists-error.log
CustomLog /var/log/apache2/lists-access.log combined
<Directory /usr/local/mailman/archives/>
Options FollowSymLinks
AllowOverride None
</Directory>
Alias /pipermail /usr/local/mailman/archives/public/
Alias /images /usr/local/mailman/icons
ScriptAlias /admin /usr/local/mailman/cgi-bin/admin
ScriptAlias /admindb /usr/local/mailman/cgi-bin/admindb
ScriptAlias /confirm /usr/local/mailman/cgi-bin/confirm
ScriptAlias /create /usr/local/mailman/cgi-bin/create
ScriptAlias /edithtml /usr/local/mailman/cgi-bin/edithtml
ScriptAlias /listinfo /usr/local/mailman/cgi-bin/listinfo
ScriptAlias /options /usr/local/mailman/cgi-bin/options
ScriptAlias /private /usr/local/mailman/cgi-bin/private
ScriptAlias /rmlist /usr/local/mailman/cgi-bin/rmlist
ScriptAlias /roster /usr/local/mailman/cgi-bin/roster
ScriptAlias /subscribe /usr/local/mailman/cgi-bin/subscribe
ScriptAlias /mailman /usr/local/mailman/cgi-bin
ScriptAlias / /usr/local/mailman/cgi-bin/listinfo
</VirtualHost>
mkdir /var/www/lists
a2ensite list
/etc/init.d/apache2 reload
Now edit the
vim /usr/local/mailman/Mailman/mm_cfg.py
IMAGE_LOGOS = '/images/'
DEFAULT_URL_PATTERN = 'http://%s/'
DEFAULT_EMAIL_HOST = 'mail.test.com'
DEFAULT_URL_HOST = 'lists.test.com'
For postfix support,
vim /etc/postfix/main.cf
recipient_delimiter = +
unknown_local_recipient_reject_code = 550
transport_maps = hash:/etc/postfix/transport
relay_domains = mail.test.com
mailman_destination_recipient_limit = 1
mydestination = $myhostname, localhost.$mydomain, localhost mail.test.com
vim /etc/postfix/transport
mail.test.com mailman:
/etc/init.d/postfix restart
Now create a new maillist. We can create it either command line or through web interface,
command line -
/usr/local/mailman/bin/newlist --urlhost=lists.test.com --emailhost=mail.test.com mailman
mailman is the name of the list.
This will give you the entries we need to add to our aliases file, that is ..
vim /etc/aliases
mailman: "|/usr/local/mailman/mail/mailman post mailman"
mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/local/mailman/mail/mailman join mailman"
mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman"
mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman"
mailman-request: "|/usr/local/mailman/mail/mailman request mailman"
mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe mailman"
Then type command,
newaliases
chown mailman.mailman /etc/aliases.db /etc/aliases
/etc/init.d/postfix restart
Now we can start mailman service,
/usr/local/mailman/scripts/mailman start
(for stopping /usr/local/mailman/scripts/mailman stop)
Admin interface - http://lists.test.com/admin
Lists of available maillists - http://lists.test.com/listinfo
For creating mailing list through interface,
/usr/local/mailman/bin/mmsitepass <mailman-password>
http://lists.test.com/create
Now we can subscribe to any mailing list through http://lists.test.com/listinfo. A confirmation mail will be send to your mail account and then you are done.
Now send mails to <listname>@mail.test.com for example (mailman@mail.test.com), It will be forwarded to all members in the mailing list.
This will be also archived in our website - http://lists.test.com/pipermail/mailman/
Thanks for reading.
Cheers /-
Here I will explain how to install and configure mailman on a linux system.
First download the latest pack from the link below,
wget http://ftp.gnu.org/gnu/mailman/mailman-2.1.15.tgz
useradd -m /usr/local/mailman mailman
chmod 02775 /usr/local/mailman
apt-get install python-dev
tar -zxvf mailman-2.1.15.tgz
cd mailman-2.1.15
I am running my web server as apache user, having gid = 48.
./configure --with-cgi-gid=48 --with-mail-gid=mailman
make
make install
check installation,
/usr/local/mailman/bin/check_perms -f
Set up webserver for maintaining discussion archives ..
create a new virtual host for lists.test.com
vim /etc/apache2/sites-available/list
<VirtualHost *:80>
ServerName lists.test.com
DocumentRoot /var/www/lists
ErrorLog /var/log/apache2/lists-error.log
CustomLog /var/log/apache2/lists-access.log combined
<Directory /usr/local/mailman/archives/>
Options FollowSymLinks
AllowOverride None
</Directory>
Alias /pipermail /usr/local/mailman/archives/public/
Alias /images /usr/local/mailman/icons
ScriptAlias /admin /usr/local/mailman/cgi-bin/admin
ScriptAlias /admindb /usr/local/mailman/cgi-bin/admindb
ScriptAlias /confirm /usr/local/mailman/cgi-bin/confirm
ScriptAlias /create /usr/local/mailman/cgi-bin/create
ScriptAlias /edithtml /usr/local/mailman/cgi-bin/edithtml
ScriptAlias /listinfo /usr/local/mailman/cgi-bin/listinfo
ScriptAlias /options /usr/local/mailman/cgi-bin/options
ScriptAlias /private /usr/local/mailman/cgi-bin/private
ScriptAlias /rmlist /usr/local/mailman/cgi-bin/rmlist
ScriptAlias /roster /usr/local/mailman/cgi-bin/roster
ScriptAlias /subscribe /usr/local/mailman/cgi-bin/subscribe
ScriptAlias /mailman /usr/local/mailman/cgi-bin
ScriptAlias / /usr/local/mailman/cgi-bin/listinfo
</VirtualHost>
mkdir /var/www/lists
a2ensite list
/etc/init.d/apache2 reload
Now edit the
vim /usr/local/mailman/Mailman/mm_cfg.py
IMAGE_LOGOS = '/images/'
DEFAULT_URL_PATTERN = 'http://%s/'
DEFAULT_EMAIL_HOST = 'mail.test.com'
DEFAULT_URL_HOST = 'lists.test.com'
For postfix support,
vim /etc/postfix/main.cf
recipient_delimiter = +
unknown_local_recipient_reject_code = 550
transport_maps = hash:/etc/postfix/transport
relay_domains = mail.test.com
mailman_destination_recipient_limit = 1
mydestination = $myhostname, localhost.$mydomain, localhost mail.test.com
vim /etc/postfix/transport
mail.test.com mailman:
/etc/init.d/postfix restart
Now create a new maillist. We can create it either command line or through web interface,
command line -
/usr/local/mailman/bin/newlist --urlhost=lists.test.com --emailhost=mail.test.com mailman
mailman is the name of the list.
This will give you the entries we need to add to our aliases file, that is ..
vim /etc/aliases
mailman: "|/usr/local/mailman/mail/mailman post mailman"
mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/local/mailman/mail/mailman join mailman"
mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman"
mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman"
mailman-request: "|/usr/local/mailman/mail/mailman request mailman"
mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe mailman"
Then type command,
newaliases
chown mailman.mailman /etc/aliases.db /etc/aliases
/etc/init.d/postfix restart
Now we can start mailman service,
/usr/local/mailman/scripts/mailman start
(for stopping /usr/local/mailman/scripts/mailman stop)
Admin interface - http://lists.test.com/admin
Lists of available maillists - http://lists.test.com/listinfo
For creating mailing list through interface,
/usr/local/mailman/bin/mmsitepass <mailman-password>
http://lists.test.com/create
Now we can subscribe to any mailing list through http://lists.test.com/listinfo. A confirmation mail will be send to your mail account and then you are done.
Now send mails to <listname>@mail.test.com for example (mailman@mail.test.com), It will be forwarded to all members in the mailing list.
This will be also archived in our website - http://lists.test.com/pipermail/mailman/
Thanks for reading.
Cheers /-
No comments:
Post a Comment