Für das Zusammenspiel mit Squid wird Apache instruiert, die Daten über Port 81 auszuliefern.

Tipp: Damit mögliche Fehler bei doppelter Portbelegung nachvollziehbar werden, vor der Installation die Ausgabe sichern von

ifconfig –a 
netstat  –anp

Apache starten/stoppen

/etc/init.d/apache start
/etc/init.d/apache stop

httpd.conf

Listen 123.456.789.123:81
# Listen 0.0.0.0:80

Nur diejenigen Requests, die Apache nicht über die virtuellen Hosts bzw. den Squid-Cache ausliefern soll, werden über Port 80 bzw. 123.456.789.123:80 bedient, währenddessen die virtuellen Hosts allesamt auf 123.456.789.123:81 lauschen

NameVirtualHost 123.456.789.123:81

Im folgenden Beispiel wird auf der Domain www.mydomain.com ein virtueller Host für http://www.leukemia-net.org etabliert; die Inhalte liegen im Zope-Folder

http:// 123.456.789.123:8080/sites/leukemia-net/

Das rewriting erfolgt über das Standard-Zope-Produkt VirtualHostMonster, das über die Angabe von VirtualHostBase und VirtualHostRoot gesteuert wird:

<VirtualHost *:81>
  ServerName 123.456.789.123
  ServerAlias www.mydomain.com 
  RewriteEngine On
  RewriteRule ^(.*)
  http://www.mydomain.com:8080/VirtualHostBase/http/www.mydomain.com:80/VirtualHostRoot/$1 [P,L]
</VirtualHost>

<VirtualHost *:81>
  ServerName  <a href="www.leukemia-net.org">www.leukemia-net.org</a>
  DocumentRoot /home/www/html
  ScriptAlias /cgi-bin/ /srv/www/cgi-bin/
  php_admin_value open_basedir /home/www/html
  php_admin_value upload_tmp_dir /home/www/html
  RewriteEngine On
  # RewriteRule ^(.*)misc_/zms/(.*) /$2 [L]
  # RewriteRule ^/sites/content/(.*)
 <a href="http:/www.leukemia-net.org/sites/content/$1">http:/www.leukemia-net.org/sites/content/$1</a> [R,L]
  # RewriteRule (.*)/manage(.*) <a href="http://213.239.159.123:8080$1/manage$2">http://123.456.789.123:8080$1/manage$2</a> [R,L]
  # RewriteRule ^(.*) <a href="http://www.leukemia-net.org/sites/leukemia-net/content/$1">http://www.leukemia-net.org/sites/leukemia-net/content/$1</a>
  RewriteRule ^/trial/(.*)$ <a href="http://www.leukemia-net.org:8020/trial/$1">http://www.leukemia-net.org:8020/trial/$1</a> [R,L,P]
  RewriteRule ^(.*) <a href="http://213.239.195.123:8080/VirtualHostBase/http/www.leukemia-net.org:80/sit">http://123.456.789.123:8080/VirtualHostBase/http/www.leukemia-
    net.org:80/sit</a>es/leukemia-net/VirtualHostRoot/$1 [P,L]
</VirtualHost>

Anmerkung: das Beispiel illustriert einen Spezialfall, wo weitere URLs über den Port 8020 (hier Tomcat) gezogen werden.

Deaktivierung des Apache Proxy

# Proxy Server directives. Uncomment the following lines to
# enable the proxy server:
#
#<IfModule mod_proxy.c>
#ProxyRequests Off
#ProxyVia On
#CacheRoot "/var/cache/mod_proxy"
#CacheSize 1000
#CacheGcInterval 4
#CacheMaxExpire 10
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 8

#<Proxy *>
#    Order deny,allow
#    Deny from all
#    Allow from all
#</Proxy>
#
# Enable/disable the handling of HTTP/1.1 "Via:" headers.
# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block
#
#ProxyVia On
#
# To enable a cache of proxied content, uncomment the following lines.
# See http://httpd.apache.org/docs-2.0/mod/mod_cache.html for more details.
#
#<IfModule mod_disk_cache.c>
#   CacheRoot "/var/cache/mod_proxy"
#   CacheEnable disk /
#   CacheSize 500000
#   CacheDirLevels 5
#   CacheDirLength 3
#   CacheIgnoreNoLastMod On
#   CacheGcInterval 4
#   CacheMaxExpire 1
#   CacheLastModifiedFactor 0.1
#   CacheDefaultExpire 0.5
#   CacheForceCompletion 60
#</IfModule>
#<IfModule mod_mem_cache.c>
#   CacheEnable mem /
#   MCacheSize 512
#   MCacheMaxObjectCount 128
#   MCacheMinObjectSize 1
#   MCacheMaxObjectSize 2048
#</IfModule>

#</IfModule>
# End of proxy directives.