Nice hack....

I indeed like this better.   In that time I was able to switch things
over and everything works great!


On Tue, 2002-05-21 at 12:20, Bob Weissman wrote:
> At 09:55 AM 5/21/02, Ashley M. Kirchner wrote:
> >Terry Davis wrote:
> >> Thank you for your reply.  Where can I read up on how to 'recompile' for
> >> that directory?  What config files much I change, etc.
> >
> >    When that's done, recompile, and reinstall.  Do this for each individual vhost.
> 
> You don't need to do this. One installation of Mailman is sufficient for multiple 
>vhosts. I have this running just fine on my site. You have to be willing to patch 
>Mailman/Cgi/admin.py, but this is much cleaner than having multiple copies of Mailman.
> 
> 1. Create your virtual hosts, if you haven't already. Make sure your vhosts are 
>pointing to Mailman for cgi, icons, and pipermail. For Apache, this is (depending on 
>where ~mailman lives):
> 
> ScriptAlias /mailman /usr/home/mailman/cgi-bin
> <Directory "/usr/home/mailman/cgi-bin">
>   AllowOverride None
>   Options None
>   Order allow,deny
>   Allow from all
> </Directory>
> Alias /icons /usr/home/mailman/icons
> Alias /pipermail /usr/home/mailman/archives/private
> 
> This goes inside your <VirtualHost> sections of vhosts.conf for each vhost.
> 
> 2. In your Mailman/mm_config.py file, make sure that VIRTUAL_HOST_OVERVIEW is set to 
>1. (I use 2, which is nonstandard, to get an exact vhost match rather than the 
>standard substring match. See patch below. If you have vhost names which are 
>substrings of each other, you will need to use 2 and you will also need to change 
>listinfo.py similarly to admin.py.)
> 
> 3. Apply the patch below to admin.py. This copies some vhost-discrimination code 
>from listinfo.py to admin.py. It works for 2.0.9 and above (I haven't tried it on 
>older versions.)
> 
> 4. For each list, change the web_page_url to point to the virtual host. This is the 
>bottom-most parameter on the main admin page for each list. You may need to wait some 
>time for the DNS records of the new vhosts to propagate before people can access the 
>pages.
> 
> - Bob
> 
> Patch follows
> 
> *** admin.py.ORIG       Thu May  9 12:24:58 2002
> --- admin.py    Thu May  9 12:32:06 2002
> ***************
> *** 25,30 ****
> --- 25,31 ----
>   import types
>   import rfc822
>   import signal
> + from urlparse import urlparse
> 
>   from Mailman import Utils
>   from Mailman import MailList
> ***************
> *** 200,205 ****
> --- 201,229 ----
>       for n in names:
>         l = MailList.MailList(n, lock=0)
>           if l.advertised:
> +             # Following cloned from listinfo.py - BW 5/9/02
> +           # XXX We need a portable way to determine the host by which we are being
> +           #     visited!  An absolute URL would do...
> +           http_host = os.environ.get('HTTP_HOST', os.environ.get('SERVER_NAME'))
> +           port = os.environ.get('SERVER_PORT')
> +           # strip off the port if there is one
> +           if port and http_host[-len(port)-1:] == ':'+port:
> +               http_host = http_host[:-len(port)-1]
> +           if mm_cfg.VIRTUAL_HOST_OVERVIEW:
> +                 if mm_cfg.VIRTUAL_HOST_OVERVIEW == 2: # Want an exact match
> +                     # extract the host part of the url
> +                     host_part = urlparse(l.web_page_url)[1]
> +                     # remove the port, if any
> +                     host_part = string.split(host_part, ":")[0]
> +                     if http_host and host_part != http_host:
> +                         # List is for different vhost - skip it.
> +                         continue
> +                 else: # Want a simple containment match
> +                     if http_host and \
> +                     string.find(http_host, l.web_page_url) == -1 and \
> +                     string.find(l.web_page_url, http_host) == -1:
> +                       # List is for different identity of this host - skip it.
> +                       continue
>               advertised.append(l)
> 
>       if error:
-- 
Terry Davis
http://approbation.org/



------------------------------------------------------
Mailman-Users mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py

Reply via email to