A short link to this page is https://wiki.list.org/x/7602370

Clear message

4.84 How do I run Mailman using separate email and web servers?

The mail server and web server are separate machines.

Email (and Mailman) are handled on an internal server that only accepts mail from the outside, not web.

Here's a simple way to "fake" it so that the mail server doesn't need to have an exposed web interface.

  1. Install Mailman on the mail server as normal. Set up apache (or whatever) as normal on that machine.
  2. Test to make sure Mailman works correctly on that machine, including testing that the web interface works.
  3. Set the firewall so that the web server can access the necessary web port (80 for http, 443 for https), but no one else can.
  4. In apache on the web server, add the following configuration, where MAILSERVER is the address/name for the mail server running Mailman
         ProxyPass /mailman http://MAILSERVER/mailman
         ProxyPassReverse /mailman http://MAILSERVER/mailman

You will need to make sure that the lists on the mail server have the correct web settings so that the reverse-proxy URLs are correct. http://mail.python.org/pipermail/mailman-users/2004-July/038394.html may have more details.

If you don't want to run a web service on the mail server at all, you can use NFS to share the needed files between the web and mail servers. There is a how-to at http://wiki.qmailtoaster.com/index.php/Mailman#Running_with_a_Separate_Web_Host that tells how to configure Mailman to run with a separate web server. You might find something useful at http://www.mail-archive.com/mailman-users@python.org/msg07516.html as well.

This is one of many Frequently Asked Questions.