Mailman on FreeBSD
I am in the midst of migrating my personal web hosting content from an
old iServer FreeBSD-based virtual
server platform to the next generation hosting platform that the web
hosting company I work for (Verio)
has developed. The new platform is also "virtual" and is FreeBSD-based,
but it is identical in look and feel to a dedicated server... a virtual
dedicated server if you will. The marketing term coined for the new
platform is
Virtual
Private Server or VPS.
Everything you are viewing on this blog is hosted (and has always been
hosted) on one of the new next-generation Verio Virtual Private Servers.
I haven't moved the other stuff (mail, family web content) yet
because of 1) inertia, 2) it ain't broke, and 3) lack of time. Recently
however, the old iServer Virtual Server has become somewhat cluttered
(having served our family well for almost 10 years now) and is low on
free disk space (the new VPS platform has over 10x the storage
capacity). Over the past few days I have been moving content over, one
domain at a time. The last ones (berrett.org and sorenson.org) I'll
move probably sometime late at night when no one will mind a delayed
e-mail message or two).
I maintain a few mailing lists on several of the domain names I host for
family and friends. I use
mailman -
which I highly recommend. While migrating over the mailing lists to the
new platform (which basically acts and feels as if it were my
FreeBSD-based desktop system), I learned a few things and thought I would
share.
Setting up mailman mailing lists on a FreeBSD server:
- Set up a 'mailman' CNAME (canonical name) in each of the domain
names that will be hosting a mailing list.
- Install
mailman. This is easy... just
cd to /usr/ports/mail/mailman
and type:
- Set up Apache to handle all domain requests for the mailman.*
virtual host names. To do this add the following VirtualHost
blocks to your Apache config file:
<VirtualHost YOUR.IP.ADDR.ESS:80>
SSLDisable
User www
Group www
ServerAlias mailman.*
DocumentRoot /usr/local/apache/htdocs
TransferLog /dev/null
ErrorLog /usr/local/apache/logs/error_log
ScriptAlias /mailman "/usr/local/mailman/cgi-bin"
Alias /pipermail "/usr/local/mailman/archives/public"
Alias /icons "/usr/local/apache/icons"
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/mailman/
RewriteCond %{REQUEST_URI} !^/pipermail/
RewriteRule .* http://%{HTTP_HOST}/mailman/listinfo [R=301]
</VirtualHost>
<VirtualHost YOUR.IP.ADDR.ESS:443>
SSLEnable
User www
Group www
ServerAlias mailman.*
DocumentRoot /usr/local/apache/htdocs
TransferLog /dev/null
ErrorLog /usr/local/apache/logs/error_log
ScriptAlias /mailman "/usr/local/mailman/cgi-bin"
Alias /pipermail "/usr/local/mailman/archives/public"
Alias /icons "/usr/local/apache/icons"
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/mailman/
RewriteCond %{REQUEST_URI} !^/pipermail/
RewriteRule .* http://%{HTTP_HOST}/mailman/listinfo [R=301]
</VirtualHost>
- Set up the new mailing lists.
cd to
/usr/local/mailman and for each mailing list type:
bin/newlist --urlhost=mailman.domain.name \
--emailhost=domain.name listname
where "domain.name" is the domain name that is hosting the mailing
list name "listname". Note: I broke up the newlist command into two
lines... type it as one line on the command prompt.
Works like a champ.
:: Posted by rus on Tue, 28 Mar 2006 9:47 pm
:: Filed under /tech
|