Auf einem einzigen Rechner werden viele ZMS-Mandanten gehostet; die Mandanten werden über unterschiedliche Domainnamen adressiert. Vorgestellt wird ein Lösungsansatz basierend auf zope.cgi.
Lösungsansatz: Apache bietet die Möglichkeit zur Verwendung von virtuellen Hosts, um verschiedene Server für verschiedene IP-Adressen, verschiedene Rechnernamen oder verschiedene Ports auf demselben Rechner zu benutzen. Die virtuellen Hosts werden in der Datei httpd.conf, der Konfigurationsdatei des Apache Web-Servers, eingetragen.
Die ZMS-Mandanten werden als virtuelle Hosts des Apache Web-Servers konfiguriert.
Dazu legt man zunächst ein neues Verzeichnis zope-cgi-bin unter /usr/local/httpd an. In dieses Verzeichnis /usr/local/httpd/zope-cgi-bin kopiere man nun die Datei $ZOPE_HOME/Zope.cgi.
Anschliessend füge man in die Datei /etc/httpd/conf/httpd.conf den VirtualHost-Eintrag analog dem Beispiel (s.u.) ein.
Man beachte, dass die Pfade je nach lokaler Installation variieren können.
<VirtualHost IP_ADRESS>
ServerName www.myzms.com
ServerAdmin webmaster@myzms.com
ErrorLog /home/www/web3/log/error
CustomLog /home/www/web3/log/access combined
RewriteEngine On
RewriteRule ^/myzms/content/(.*) /$1
RewriteRule /myzms/content/(.*) /$1
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) /usr/local/httpd/zope-cgi-
bin/Zope.cgi/myzms/content$1 \
[e=HTTP_CGI_AUTHORIZATION:%1,
t=application/x-httpd-cgi,l]
</VirtualHost>Kommentar: Für den Fall, daß über eine Domain zuerst die Sekundärsprache angesteuert werden soll, so kommt z.B. für die englische Variante folgende Apache-Regel zum Einsatz, die den Einstiegs-Request auf index_eng.html umleitet:
RewriteRule ^/$ /content/index_eng.html