Mailman with nginx and thttpd

Francis Daly francis at daoine.org
Tue Oct 26 05:14:46 MSD 2010


On Mon, Oct 25, 2010 at 05:02:53PM -0700, David Newman wrote:

Hi there,

> Greetings. I'm getting 404 errors after installing the Mailman mailing
> list manager on a server running nginx and thttpd, and could use some
> help in understanding why.

> Thanks in advance for clues on answering these two questions:
> 
> 1. How to point nginx and thttp at the correct locations so that I'm not
> getting 404s?

The good news is, it looks like you probably have got the nginx side of
things right.

This:

>   server {
>     listen 80;
>     server_name lists.suctest.com;
>     location /mailman/ {
>       proxy_pass http://127.0.0.1:8000/mailman/;
>     }

is the important part of the configuration. If a request comes in that
starts http://lists.suctest.com/mailman/, it gets sent to thttpd mostly
unchanged.

Since that leads to 404 errors, all you need do is fix the mailman/thttpd
side of things.

You can test it directly, without involving nginx, by pointing your
client at the http://127.0.0.1:8000/ interface.

Your thttpd.conf makes it look like that it will try to access files like 

 /usr/local/mailman/cgi-bin/mailman/listinfo

Hopefully the logs thttpd generates will show you what to do next.

> 2. If possible, how to run Mailman under the canonical hostname of
> 'mail.suctest.com' instead of the separate name of 'lists.suctest.com'?

You'll need to know what the mailman-related urls are. Your config
suggests that they are only everything below /mailman/, /images/mailman/,
and /pipermail/. So long as nothing else on your server wants to
handle those locations, you just put the same location{} blocks in your
mail.suctest.com server{}. The main difference is that you won't want
the "/ is /mailman/listinfo" rewrite -- maybe you'll want a "/mailman/
is /mailman/listinfo" rewrite instead.

Good luck with it,

	f
-- 
Francis Daly        francis at daoine.org



More information about the nginx mailing list