There does not appear to be a how-to about integrating mailman with lighttpd. I’m relatively new to lighttpd and it’s pretty different from Apache. Please let me know if I am missing something significant.
I am using mailman 2.1.9 installed from rpm in Fedora Core 6 (fc6). There should not be much difference if you install it from the distribution.
If you install mailman from scratch it is important that you run the configure with –with-cgi-gid=lighttpd. Substitute ‘lighttpd’ with the group id you will be using to run lighttpd. lighttpd runs as group ‘lighttpd’ by default in fc6.
# mkdir /srv/www/lighttpd/images
# cp /usr/lib/mailman/icons/* /srv/www/lighttpd/images
# vi /usr/lib/mailman/Mailman/mm_cfg.py
IMAGE_LOGOS = '/images/'
# vi /etc/lighttpd/lighttpd.conf
uncomment the following from "server.modules:"
"mod_redirect",
"mod_cgi",
If you're running lighttpd and mailman from the Fedora RPM:
server.groupname = "apache"
then
# Exec /mailman/* $prefix/cgi-bin/* or
# ScriptAlias /mailman/ $prefix/cgi-bin/
alias.url = ( "/mailman" => "/usr/lib/mailman/cgi-bin",
"/pipermail/" => "/var/lib/mailman/archives/public")
$HTTP["url"] =~ "^/mailman" {
cgi.assign = ( "" => "" )
}
The Apache config directives are in comments above. In essence:
Alias /mailman to "/usr/lib/mailman/cgi-bin" on the filesystem
Tell lighttpd that any web path starting with /mailman contains executables.
cgi.assign = ("" => "") tells lighttpd that files without extensions should be run without an interpreter.