I have been trying to get this to work for some time now.  As a true PHB, I
have read and reread everything I could find on Apache/Plone Virtual
Hosting.   While it seems to me that my requirements are fairly
straightforward, I can find no example that indicates how to configure it.
Rampant confusion on hostname vs servername, need for hosts entries, DNS, or
WIN, etc and also I cannot seem to find the syntax of the rewrite module
documented anywhere.  I need some help, my sysadmins do not want to support
this install and cannot as we are a complete Microsoft shop.  I am trying to
introduce open source products as a viable solution and this problem is not
helping me establish credibility with my boss.

Here is my configuration:

Plone 2.1.1, Zope 2.74, Apache 2.0.55 running under Win2000 to support an IT
department intranet.

The name of the computer (server) that I am running this on is named 'itweb'
and it is configured with 1 network card at address xxx.xxx.xxx.xxx, there
is a WINS entry but no DNS entry.  

I am trying to run 2 sites.  A Plone site, which is my main IT department
intranet.  It is configured to be served via port 9000.    I want to reach
this site by having the user enter http://itweb  Meaning I want Apache to
proxy this Plone site on port 80, I think.

I also have a ZenTrack PHP driven site which is called itwebtrack.  I would
like the user to reach this site by entering http://itwebtrack AND/OR
http://itweb/itwebtrack AND/OR http://itweb/track  or some URL that does not
contain a port number. 

The ZMI is port 9001.  I would like to be able to access the ZMI by entering
http://itweb:9001.

I am open to other thoughts that do not require port numbers.  Honestly, I
could live with port numbers but I have spent so much time trying to learn
the Apache VH stuff, its almost a crusade for me now.  I know it can can be
done, and I expect that it is really easy.  I have developed a mental block
I think after spending so much time on this.  I feel like I've tried every
permutation...

I can access all of my sites correctly otherwise just with the wrong URLs
for my purposes.

For example:

http://itweb - brings up the Zentrack site (Itwebtrack) because it's the
default port and Apache is serving it

http://itweb:9000  My plone site
http://itweb:9001 the ZMI

The following is the relevant sections of my httpd.conf file...Please help
and earn my undying gratitude!  

Steve
----------------------------------------------------------------------------
#
#
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 89.89.89.112:80


#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO
you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule access_module modules/mod_access.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_module modules/mod_auth.so
#LoadModule auth_anon_module modules/mod_auth_anon.so
#LoadModule auth_dbm_module modules/mod_auth_dbm.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule headers_module modules/mod_headers.so
LoadModule imap_module modules/mod_imap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule mime_magic_module modules/mod_mime_magic.so

# spw changed to support Zope Virtual Hosting 
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# End spw changes

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so

# spw changed to support Zope Virtual Hosting 
LoadModule rewrite_module modules/mod_rewrite.so
# End spw changes

LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule status_module modules/mod_status.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so

#

ServerName itweb:80

UseCanonicalName On

DocumentRoot "d:/itweb/itwebtrack/www"

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories). 
#
# First, we configure the "default" to be a very restrictive set of 
# features.  
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
# <Directory "C:/Program Files/Apache Group/Apache2/htdocs">

<Directory "d:/itweb/itwebtrack/www">



#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
    Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None

#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all

</Directory>

#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.  Be especially careful to use
# proper, forward slashes here.  On Windows NT, "Personal/My Website"
# is a more appropriate choice.
#
UserDir "My Documents/My Website"

#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
# You must correct the path for the root to match your system's configured
# user directory location, e.g. "C:/WinNT/profiles/*/My Documents/My
Website"
# or whichever, as appropriate.
#




### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry
about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs-2.0/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost 89.89.89.112:80
# NameVirtualHost 89.89.89.112:9000
# NameVirtualHost 89.89.89.112:9001

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#

<VirtualHost *.80>
ServerName itwebdefault
DocumentRoot "c:/program files/APache Group/apache2/htdocs"
</VirtualHost>

#  Host ITWeb
<VirtualHost *.80>
ServerName itweb
ReWriteEngine On
ReWriteLog logs/rewrite.log
# if URL contains 'itwebtrack' do nothing '-' meaning serve the default
itwebtrack/www directoy through Apache
ReWriteRule ^/itwebtrack(.*) - [L]
# Else Rewrite urls to be served by Plone as itweb:80 
ReWriteRule ^/(.*)
http://89.89.89.112:80/VirtualHostBase/http/itweb:80/plone/VirtualHostRoot/$
1 [L,P]
</VirtualHost>

#  Host itwebzmi
#<VirtualHost 89.89.89.112:9001>
#ServerName itwebzmi:80
#ReWriteEngine On
#ReWriteRule ^/(.*)
http://89.89.89.112:9001/VirtualHostBase/http/itwebzmi:80/manage_main/Virtua
lHostRoot/$1 [L,P]
#</VirtualHost>


--------------------------------------------------
This transmission contains information intended to be confidential and solely 
for the use of Value Line, Inc., and those persons or entities to whom it is 
directed. It is not to be reproduced, retransmitted, or in any other manner 
distributed. If you receive this message in error, please immediately delete it 
and all copies of it from your system, destroy any hard copies of it and notify 
the sender.


_______________________________________________
Setup mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/setup

Reply via email to