Configure your web server
to run MailMan as a CGI script
If MailMan still isn't working at this point, then it may be because
your web server doesn't understand how to handle the file, or
because it knows but it is configured to not allow you to run
a CGI script. If your server simply sends the MailMan script file
to you as if it were a text document, then that's probably the
problem.
This is the part where you mess with your
web server configuration to tell it to run MailMan as a CGI script.
You need to have the authority to mess with the configuration
of your web server to follow these instructions, so if you do
not then you are in the wrong place. If you are installing MailMan
on a hosted server, then your hosting provider should have already
configured the server with some policy of their preference for
how CGI scripts work. You will need to contact the support department
at your hosting provider to find out details on that if you didn't
see MailMan just magically work when you tried it above. If you
have any problems at all understanding what your hosting provider's
support team is telling you, then just let
us know what they said and we will be happy to try to help.
We provide instructions for Apache
because the overwhelming majority of web servers out there are
running Apache or Apache variants now. If you are using a different
web server, then there is a pretty strong chance that it's based
on Apache anyway, and so these instructions still might apply.
Otherwise you might need to consult the documentation for your
server. We're still happy to try to help if you're not using Apache,
but we might not be the most appropriate authority on the subject.
Contacting your web server's support team or doing a few Google
searches might work better.
If you are using Apache, make sure that
you have the "AddHandler"
directive specified in your "httpd.conf"
file to allow CGI scripts from locations other than "/cgi-bin".
Most recent Apache version ship with a default "httpd.conf"
file that includes a sample line "AddHandler
cgi-script .cgi", but it's commented-out. Just un-comment
the line. That line will tell your web server that any file that
ends in ".cgi" is to be treated
as a CGI script. Note that this is not the only way to run MailMan,
but it is the most common. You also have the option of sticking
the "mailman.cgi" file into
a "cgi-bin" directory somewhere
on your server, where it will be identified as a CGI script by
its location instead of by its extension. Some people prefer to
do that, and if you want to do that then you can, but you will
have to store your template and image files in a different directory
and explicitly configure MailMan so that it knows where they are.
You will also need to verify that the option
"ExecCGI" is allowed on the
directory that MailMan lives in. See section 8.1 for more information.
The default configuration of Apache does not allow CGI scripts
to be run from arbitrary locations. In order to allow CGI scripts
from your directory, you need to add the option to a "Directory"
directive in your "httpd.conf" file.
The default "Directory" directive in
most of the Apache distributions that we have seen has an "Option"
statement that looks something like "Options
FollowSymLinks" or "Options None".
You will need to add the "ExecCGI"
option to the directory that MailMan is installed in. You can
do this either by adding "Options FollowSymLinks
ExecCGI" to the default directory configuration (denoted
in your file by the empty directive "") or by adding
the "ExecCGI" option to the directory
configuration for your "htdocs" directory,
or perhaps even by explicitly specifying directory options for
the directory that MailMan is installed in, with:
"Options FollowSymLinks ExecCGI".
Explicitly creating a new entry for your MailMan directory really
is probably the best way to do it.
Once
you have made changes to your "httpd.conf" file, restart
your Apache process. Then try to access "mailman.cgi".
If you still get an error then don't freak out yet, there are
still some common problems that we can look for. Look
at our troubleshooting
page for more information.
|