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
