[Mailman-Users] separate mailman and web servers

Mark Sapiro msapiro at value.net
Sun Feb 4 04:50:21 CET 2007


Peter wrote:
> Le Samedi 3 Février 2007 15:37, Patrick Bogen a écrit :
>> On 1/31/07, Peter Matulis <pmatulis at sympatico.ca> wrote:
>>> Can someone explain to me how mailman and the web server can exist
>>> on separate machines?  I am new to mailman and I'm having a hard
>>> time understanding how mailman communicates with its web server.  I
>>> have a new client that connects to an external web server to add
>>> list members but mailman (and postfix) runs on a local system.
>> I believe this would have to work with Mailman acting upon and
>> reading from files that are stored in such a way that the external
>> web server can access them. This means:
>>
>> (a) The files are stored on the Mailman server, and the web server
>> accesses them through something like NFS.
>> (b) The files are stored on the web server, and the mailman server
>> accesses them through something like NFS.
>> (c) The files are stored in a third server, and both the web server
>> and the mailman server access them through something like NFS.
> 
> No, the web server is on the internet and the mailman server is on the 
> lan.


I'm not sure how the fact that one machine is 'on the internet' and the
other is 'on the lan' relates to Patrick's answer, so let's go back to
your original question.

Mailman's web pages are built by CGIs which access basic Mailman
classes, methods and functions defined in a set of Mailman modules.
These classes, methods and functions access various Mailman data. Most
of this is the list's configuration and membership which is normally a
Mailman list object saved as a Python pickle in
/some/path/to/lists/<listname>/config.pck.

Mailman's email processing is done by a set of qrunner processes
accessing the same Modules and data as above. There is one (or possibly
more) qrunner process for each queue - in, out, archive, commands,
bounces, news, retry and virgin.

Incoming mail is normally piped by the incoming MTA to a wrapper which
invokes a script to store the message in a queue to be processed by one
of the qrunners.

If both the web pages and the lists are accessing and updating 'live'
data, and the web server and the qrunners are not on the same machine,
they must be accessing the same list data via some file sharing scheme.
Normally, they would also access the same Mailman modules, but this
isn't necessary.

If the web is used only for inquiry and not update, it could be
operating on copies which are updated periodically, but if the web
interface is used to make any changes, both it and the qrunners must
access the same data and queues.

-- 
Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the Mailman-Users mailing list