6.23. Mailman and nginx
This FAQ will try to illustrate how to setup Nginx ( http://nginx.net/) for Mailman support.
Since Nginx does not supports CGI, we need an additional web server for serving CGI scripts.
In this FAQ I use thttpd (http://www.acme.com/software/thttpd/).
First of all, lets configure thttpd so that it can serve the CGI scripts defined in our system (I'm using Debian Etch).
Edit the /etc/thttpd/thttpd.conf and set:
port=8000 # Make sure to disable chroot nochroot user=www-data host=127.0.0.1 # Serve all the CGI on the system dir=/usr/lib/cgi-bin cgipat=/**
Note that, by default, thttpd will generate index pages for directories and you usually do not want this.
You can either recompile thttd, undefining the GENERATE_INDEXES macro in config.h, or you can chmod 711 the individual directories.
Restart thttpd with
/etc/init.d/thttpd restart
Now lets configure nginx.
Create a new file in /etc/nginx/sites-available, as an example lists.domain.com, an create a symbolic link in /etc/nginx/sites-enabled to enable the new site.
This configuration assumes that a virtual server can be dedicated to Mailman.
server { listen 80; server_name lists.domain.com;
access_log /var/log/nginx/lists.domain.com.access.log;
# Show in the main page the list info rewrite ^/$ /mailman/listinfo last;
location /mailman/ { # Use thttpd for CGI proxy_pass http://127.0.0.1:8000/mailman/;
proxy_set_header Host $host; #proxy_intercept_errors on; }
location /images/mailman/ { alias /var/lib/mailman/icons/; }
location /pipermail/ { alias /var/lib/mailman/archives/public/;
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } }
NOTES: Nginx does not transfer, by default, the Server header from the proxied server response.
Moreover, if you enable proxy_intercept_errors, then all the errors from thttpd will be handled by nginx (but you need to create error pages, since a default nginx installation only has a custom 50x.html page).
This can be useful if you want to hide thttpd usage.
Last changed on Thu Nov 29 13:36:32 2007 by Manlio Perillo
7. What's new with Mailman 2.1?
Converted from the Mailman FAQ Wizard
This is one of many Frequently Asked Questions.