[Zope] Vhosting

Quentin Smith quentins@comclub.dyndns.org
Thu, 22 Aug 2002 22:15:22 -0400


Hi-
Use a Virtual Host Monster, one in the root of the site. Ideally, you 
should put Apache or Pound in front of Zope instead of squid, but you 
can use the Mappings tab of the Virtual Host Monster to define the 
virtual hosts. I used to use SiteRoots for my site, and none of the 
directions I found actually worked.
HTH,
--Quentin
On Thursday, August 22, 2002, at 08:27  PM, Adam Getchell wrote:

> Hello all,
>
> I've read and re-read 
> http://www.zope.org/Members/4am/SiteAccess2/vhosting a
> number of times.
>
> I have a webserver that needs to host a bunch of different sites,
> site1.ucdavis.edu, site2.ucdavis.edu, etc.
>
> I planned to use name based redirection, so I have c-names to the IP 
> address
> of the server, i.e. site1.ucdavis.edu --> IP, site2.ucdavis.edu --> IP, 
> etc.
>
> I installed on OpenBSD, so Zope runs as an instance in /home/zoperoot 
> under
> port 8080, and Squid sits in front of it and redirects from 80 to port 
> 8080.
> This part is working fine.
>
> Under my main zope site, I created two folders, site1 and site2. I then
> created, in each folder, an empty SiteRoot. That is, Title, Base, and 
> Path
> are all blank. At least, that's how I interpreted the directions above.
>
> I then created a DTML method called host_redirector, with the following
> content:
>
> Extract the part of HTTP_HOST we care about, and declare our rewrite
> dictionary.
> <dtml-let hostname="_.string.upper(_.string.split(HTTP_HOST, '.')[0])"
>           sitemap="{'SITE1': 'site1',
>                     'SITE2': 'site2'}">
>     Do we have a match?
>     <dtml-if expr="sitemap.has_key(hostname)">
> Set the logical root: <dtml-call "REQUEST.set('SiteRootPATH', '/')">
> Add physical root: <dtml-call
> "REQUEST['TraversalRequestNameStack'].append(sitemap[hostname])">
>     </dtml-if>
> </dtml-let>
>
> Since I only care about the first part of the name, I rewrote the script
> from the example. It may be incorrect! I tried the equivalent at a 
> python
> interpreter, but I may certainly have goofed up.
>
> In the root folder, I Set an Access rule to host_redirector.
>
> I changed the index pages in each of Site1 and Site2 to differentiate 
> them.
> However, going to site1.ucdavis.edu gives the top level index_html, 
> while
> going to site1.ucdavis.edu/site1 gives index_html in the Site1 folder, 
> so
> clearly I did something wrong.
>
> Any pointers?
>
> ***************************	
> *	Adam Getchell
> AdamG@hrrm.ucdavis.edu
> *	System Architect/Programmer			(530) 752-1584
> *	Human Resources Information Systems
> http://www.hr.ucdavis.edu/
> ***************************	
> "Invincibility is in oneself, vulnerability in the opponent." -- Sun Tzu
>
>
>
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
>