[Mailman-Users] Mailman Virtual Hosts?

Mikaël PIRIO mikael at pirio.org
Sat Feb 15 13:43:18 CET 2003


Hello,

> What I have is a box, say box.example.com running the list server. I
> have also setup apache with the mailman aliases for list.example.com,
> lists.something.com, lists.somethingelse.com.
>
> I have this in my mm_cfg.py:
> 
> DEFAULT_EMAIL_HOST = 'lists.example.com'
> DEFAULT_URL_HOST = 'lists.example.com'
> add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
> MTA = 'Postfix'
> POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com',
> lists.something.com', ['lists.somethingelse.com']

It's POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com',
     'lists.something.com', 'lists.somethingelse.com']


> What I want to do be able to create lists in these different domains
> and have them completely separate, so, when you go to
> http://lists.something.com/mailman/admin you only see lists for
> something.com
> 
> At the moment, I seem to be able to have multiple domains but they are
> global, so http://lists.something.com/mailman/admin shows all lists. 
> The other problem is, when I create a list it sends out the "new list"
> message with all the URL's as lists.example.com - is there no way to 
> get the "create list" web page to ask you the domain for the new list?

Yes, i had the same pb (excuse for my bad english...). My Mailman works
now. Add this in your mm_cfg.py :

VIRTUAL_HOSTS = {'lists.example.com':'example.com',
                 'lists.something.com':'something.com',
                 'lists.somethingelse.com':'somethingelse.com'}
VIRTUAL_HOST_OVERVIEW = 1


VIRTUAL_HOST_OVERVIEW is a var to confine list in a virtual host and not
global

VIRTUAL_HOSTS is use in the CGI script 'create' to set the var host_name
in the list config :

# Initialize the host_name and web_page_url attributes, based on
# virtual hosting settings end the request environment variables
hostname = Utils.get_domain()
mlist.default_member_moderation = moderate
mlist.web_page_url = mm_cfg.DEFAULT_URL_PATTERN % hostname
mlist.host_name = mm_cfg.VIRTUAL_HOSTS.get(
                  hostname, mm_cfg.DEFAULT_EMAIL_HOST)
mlist.save()



for example, in your config :

hostname = Utils.get_domain() = lists.something.com

mlist.host_name = mm_cfg.VIRTUAL_HOSTS.get(
                  hostname, mm_config.DEFAULT_EMAIL_HOST)
                = VIRTUAL_HOSTS[hostname] if the map VIRTUAL_HOSTS is
                  set in you mm_cfg.py
                = DEFAULT_EMAIL_HOST if the key 'hostname' isn't find
                  in the map VIRTUAL_HOSTS or if VIRTUAL_HOSTS isn't 
                  set.

the last case (map not set) is your case... So add a correct
VIRTUAL_HOSTS in your mm_cfg like the one i give you in this mail.

bbye :)

-- 
Mikaël,




More information about the Mailman-Users mailing list