<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.sitepark.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CGi</id>
	<title>SiteparkWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sitepark.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CGi"/>
	<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php/Spezial:Beitr%C3%A4ge/CGi"/>
	<updated>2026-05-26T04:14:46Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7380</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7380"/>
		<updated>2015-05-05T16:03:13Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integration eines sog. Client Zertifikats für die Kommunikation mit dem CMS-Server (optionale Konfiguration) ==&lt;br /&gt;
&lt;br /&gt;
 Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.&lt;br /&gt;
 Allgemein empfiehlt sich das genaue Studium der Apache-Doku zu diesem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html&lt;br /&gt;
&lt;br /&gt;
 Folgendes Szenario wird hier exemplarisch vorgestellt:&lt;br /&gt;
     Web-Client &amp;lt;--&amp;gt; öffentlicher Webserver mit Client-Zertifikat &amp;lt;-- HTTPS --&amp;gt; CMS-Server intern&lt;br /&gt;
 D.h. der Webbrowser sendet über den öffentlichen Webserver als Proxy seine Anforderungen an das CMS.&lt;br /&gt;
 Dabei verwendet der Proxy das konfigurierte Client-Zertifikat, um sich dem CMS-Server gegenüber zu autorisieren.&lt;br /&gt;
 Ob der Webbrowser über HTTP oder HTTPS mit dem Proxy kommuniziert ist unerheblich. Die Kommunikation mit dem CMS erfolgt immer über HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration auf dem öffentlichen Webserver / Proxy ===&lt;br /&gt;
&lt;br /&gt;
 Zunächst wird eine Datei both.pem aus dem nicht verschlüsselten Zertifikat und dem zugehörigen Schlüssel erzeugt:&lt;br /&gt;
 &amp;lt;pre&amp;gt; cat client.pem client.key &amp;gt; both.pem &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Diese Datei wird als Client-Zertifikat eingebunden, z.B.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLProxyMachineCertificateFile /etc/httpd/ssl/both.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration auf dem CMS-System ===&lt;br /&gt;
&lt;br /&gt;
 Bei der klassischen SSL-Konfiguration muss dem Server zusätzlich das Haupt-CA-Zertifikat CA.pem, mit dem die Client-Schlüssel erzeugt wurden,&lt;br /&gt;
 bekannt gemacht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLProxyEngine on&lt;br /&gt;
    SSLCipherSuite ALL:!ADH:!EXPORT:+RSA:+HIGH:+MEDIUM:-RC4:-LOW&lt;br /&gt;
    SSLProtocol All -SSLv2 -SSLv3&lt;br /&gt;
    SSLCertificateFile    /etc/httpd/ssl/server.cert&lt;br /&gt;
    SSLCertificateKeyFile /etc/httpd/ssl/server.key&lt;br /&gt;
    SSLCACertificateFile  /etc/httpd/ssl/CA/CA.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In dem betreffenden geschützten Verzeichnis ist dann eine Art Schein-Basic-Authentication nach dem folgenden Muster einzurichten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Directory /webserver-path&amp;gt;&lt;br /&gt;
       SSLVerifyClient      require&lt;br /&gt;
       SSLVerifyDepth       5&lt;br /&gt;
       SSLOptions           +FakeBasicAuth&lt;br /&gt;
       SSLRequireSSL&lt;br /&gt;
       AuthName &amp;quot;Secure Area&amp;quot;&lt;br /&gt;
       AuthType basic&lt;br /&gt;
       AuthBasicProvider file&lt;br /&gt;
       AuthUserFile      .htpasswd&lt;br /&gt;
       Require valid-user&lt;br /&gt;
       ErrorDocument 403 &amp;quot;You need a client side certificate issued by CAcert to access this site&amp;quot;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Es wird also gegen die .htpasswd-Datei authentifiziert, in welcher alle validen Client-Zertifikate eingetragen sein müssen.&lt;br /&gt;
&lt;br /&gt;
=== .htpasswd-Beispiel für die Client-Authentifizierung  ===&lt;br /&gt;
&lt;br /&gt;
 Ist für den Client der CommonName '/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient' vergeben worden,&lt;br /&gt;
 so lautet der Inhalt der .htpasswd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient:xxj31ZMTZzkVA&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Das Passwort entspricht dabei der DES-verschlüsselten Zeichenkette &amp;quot;password&amp;quot;. Es wird anscheinend nicht wirklich benutzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7379</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7379"/>
		<updated>2015-05-05T16:02:15Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integration eines sog. Client Zertifikats für die Kommunikation mit dem CMS-Server (optionale Konfiguration) ==&lt;br /&gt;
&lt;br /&gt;
 Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.&lt;br /&gt;
 Allgemein empfiehlt sich das genaue Studium der Apache-Doku zu diesem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html&lt;br /&gt;
&lt;br /&gt;
 Folgendes Szenario wird hier exemplarisch vorgestellt:&lt;br /&gt;
     Web-Client &amp;lt;--&amp;gt; öffentlicher Webserver mit Client-Zertifikat &amp;lt;-- HTTPS --&amp;gt; CMS-Server intern&lt;br /&gt;
 D.h. der Webbrowser sendet über den öffentlichen Webserver als Proxy seine Anforderungen an das CMS.&lt;br /&gt;
 Dabei verwendet der Proxy das konfigurierte Client-Zertifikat, um sich dem CMS-Server gegenüber zu autorisieren.&lt;br /&gt;
 Ob der Webbrowser über HTTP oder HTTPS mit dem Proxy kommuniziert ist unerheblich. Die Kommunikation mit dem CMS erfolgt immer über HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration auf dem öffentlichen Webserver / Proxy ===&lt;br /&gt;
&lt;br /&gt;
 Zunächst wird eine Datei both.pem aus dem nicht verschlüsselten Zertifikat und dem zugehörigen Schlüssel erzeugt:&lt;br /&gt;
 &amp;lt;pre&amp;gt; cat client.pem client.key &amp;gt; both.pem &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Diese Datei wird als Client-Zertifikat eingebunden, z.B.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLProxyMachineCertificateFile /etc/httpd/ssl/both.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration auf dem CMS-System ===&lt;br /&gt;
&lt;br /&gt;
 Bei der klassischen SSL-Konfiguration muss dem Server zusätzlich das Haupt-CA-Zertifikat CA.pem, mit dem die Client-Schlüssel erzeugt wurden,&lt;br /&gt;
 bekannt gemacht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLProxyEngine on&lt;br /&gt;
    SSLCipherSuite ALL:!ADH:!EXPORT:+RSA:+HIGH:+MEDIUM:-RC4:-LOW&lt;br /&gt;
    SSLProtocol All -SSLv2 -SSLv3&lt;br /&gt;
    SSLCertificateFile    /etc/httpd/ssl/server.cert&lt;br /&gt;
    SSLCertificateKeyFile /etc/httpd/ssl/server.key&lt;br /&gt;
    SSLCACertificateFile  /etc/httpd/ssl/CA/CA.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In dem betreffenden geschützten Verzeichnis ist dann eine Art Schein-Basic-Authentication nach dem folgenden Muster einzurichten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Directory /webserver-path&amp;gt;&lt;br /&gt;
       SSLVerifyClient      require&lt;br /&gt;
       SSLVerifyDepth       5&lt;br /&gt;
       SSLOptions           +FakeBasicAuth&lt;br /&gt;
       SSLRequireSSL&lt;br /&gt;
       AuthName &amp;quot;Secure Area&amp;quot;&lt;br /&gt;
       AuthType basic&lt;br /&gt;
       AuthBasicProvider file&lt;br /&gt;
       AuthUserFile      .htpasswd&lt;br /&gt;
       Require valid-user&lt;br /&gt;
       ErrorDocument 403 &amp;quot;You need a client side certificate issued by CAcert to access this site&amp;quot;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Es wird also gegen die .htpasswd-Datei authentifiziert, in welcher alle validen Client-Zertifikate eingetragen sein müssen.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Client ===&lt;br /&gt;
&lt;br /&gt;
 Ist für den Client der CommonName '/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient' vergeben worden,&lt;br /&gt;
 so lautet der Inhalt der .htpasswd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient:xxj31ZMTZzkVA&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Das Passwort entspricht dabei der DES-verschlüsselten Zeichenkette &amp;quot;password&amp;quot;. Es wird anscheinend nicht wirklich benutzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7378</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7378"/>
		<updated>2015-05-05T16:01:41Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integration eines sog. Client Zertifikats für die Kommunikation mit dem CMS-Server (optionale Konfiguration) ==&lt;br /&gt;
&lt;br /&gt;
 Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.&lt;br /&gt;
 Allgemein empfiehlt sich das genaue Studium der Apache-Doku zu diesem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html&lt;br /&gt;
&lt;br /&gt;
 Folgendes Szenario wird hier exemplarisch vorgestellt:&lt;br /&gt;
     Web-Client &amp;lt;--&amp;gt; öffentlicher Webserver mit Client-Zertifikat &amp;lt;-- HTTPS --&amp;gt; CMS-Server intern&lt;br /&gt;
 D.h. der Webbrowser sendet über den öffentlichen Webserver als Proxy seine Anforderungen an das CMS.&lt;br /&gt;
 Dabei verwendet der Proxy das konfigurierte Client-Zertifikat, um sich dem CMS-Server gegenüber zu autorisieren.&lt;br /&gt;
 Ob der Webbrowser über HTTP oder HTTPS mit dem Proxy kommuniziert ist unerheblich. Die Kommunikation mit dem CMS erfolgt immer über HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration auf dem öffentlichen Webserver / Proxy ===&lt;br /&gt;
&lt;br /&gt;
 Zunächst wird eine Datei both.pem aus dem nicht verschlüsselten Zertifikat und dem zugehörigen Schlüssel erzeugt:&lt;br /&gt;
 &amp;lt;pre&amp;gt; cat client.pem client.key &amp;gt; both.pem &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Diese Datei wird als Client-Zertifikat eingebunden, z.B.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLProxyMachineCertificateFile /etc/httpd/ssl/both.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration auf dem CMS-System ===&lt;br /&gt;
&lt;br /&gt;
 Bei der klassischen SSL-Konfiguration muss dem Server zusätzlich das Haupt-CA-Zertifikat CA.pem, mit dem die Client-Schlüssel erzeugt wurden,&lt;br /&gt;
 bekannt gemacht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLProxyEngine on&lt;br /&gt;
    SSLCipherSuite ALL:!ADH:!EXPORT:+RSA:+HIGH:+MEDIUM:-RC4:-LOW&lt;br /&gt;
    SSLProtocol All -SSLv2 -SSLv3&lt;br /&gt;
    SSLCertificateFile    /etc/httpd/ssl/server.cert&lt;br /&gt;
    SSLCertificateKeyFile /etc/httpd/ssl/server.key&lt;br /&gt;
    SSLCACertificateFile  /etc/httpd/ssl/CA/CA.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In dem betreffenden geschützten Verzeichnis ist dann eine Art Schein-Basic-Authentication nach dem folgenden Muster einzurichten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Directory /webserver-path&amp;gt;&lt;br /&gt;
       SSLVerifyClient      require&lt;br /&gt;
       SSLVerifyDepth       5&lt;br /&gt;
       SSLOptions           +FakeBasicAuth&lt;br /&gt;
       SSLRequireSSL&lt;br /&gt;
       AuthName &amp;quot;Secure Area&amp;quot;&lt;br /&gt;
       AuthType basic&lt;br /&gt;
       AuthBasicProvider file&lt;br /&gt;
       AuthUserFile      .htpasswd&lt;br /&gt;
       Require valid-user&lt;br /&gt;
       ErrorDocument 403 &amp;quot;You need a client side certificate issued by CAcert to access this site&amp;quot;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Es wird also gegen die .htpasswd-Datei authentifiziert, in welcher alle validen Client-Zertifikate eingetragen sein müssen.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Client ===&lt;br /&gt;
&lt;br /&gt;
 Ist für den Client der CommonName '/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient' vergeben worden,&lt;br /&gt;
 so lautet der Inhalt der .htpasswd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;conf&amp;quot;&amp;gt;&lt;br /&gt;
/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient:xxj31ZMTZzkVA&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Das Passwort entspricht dabei der DES-verschlüsselten Zeichenkette &amp;quot;password&amp;quot;. Es wird anscheinend nicht wirklich benutzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7377</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7377"/>
		<updated>2015-05-05T15:56:09Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integration eines Client Certificates in die Kommunikation mit dem CMS-Server ==&lt;br /&gt;
&lt;br /&gt;
 Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.&lt;br /&gt;
 Allgemein empfiehlt sich das genaue Studium der Apache-Doku zu diesem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html&lt;br /&gt;
&lt;br /&gt;
 Folgendes Szenario wird hier exemplarisch vorgestellt:&lt;br /&gt;
     Web-Client &amp;lt;--&amp;gt; öffentlicher Webserver mit Client-Zertifikat &amp;lt;-- HTTPS --&amp;gt; CMS-Server intern&lt;br /&gt;
 D.h. der Webbrowser sendet über den öffentlichen Webserver als Proxy seine Anforderungen an das CMS.&lt;br /&gt;
 Dabei verwendet der Proxy das konfigurierte Client-Zertifikat, um sich dem CMS-Server gegenüber zu autorisieren.&lt;br /&gt;
 Ob der Webbrowser über HTTP oder HTTPS mit dem Proxy kommuniziert ist unerheblich. Die Kommunikation mit dem CMS erfolgt immer über HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration auf dem öffentlichen Webserver / Proxy ===&lt;br /&gt;
&lt;br /&gt;
 Zunächst wird eine Datei both.pem aus dem nicht verschlüsselten Zertifikat und dem zugehörigen Schlüssel erzeugt:&lt;br /&gt;
 &amp;lt;pre&amp;gt; cat client.pem client.key &amp;gt; both.pem &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Diese Datei wird als Client-Zertifikat eingebunden, z.B.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLProxyMachineCertificateFile /etc/httpd/ssl/both.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration auf dem CMS-System ===&lt;br /&gt;
&lt;br /&gt;
 Bei der klassischen SSL-Konfiguration muss dem Server zusätzlich das Haupt-CA-Zertifikat CA.pem, mit dem die Client-Schlüssel erzeugt wurden,&lt;br /&gt;
 bekannt gemacht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLProxyEngine on&lt;br /&gt;
    SSLCipherSuite ALL:!ADH:!EXPORT:+RSA:+HIGH:+MEDIUM:-RC4:-LOW&lt;br /&gt;
    SSLProtocol All -SSLv2 -SSLv3&lt;br /&gt;
    SSLCertificateFile    /etc/httpd/ssl/server.cert&lt;br /&gt;
    SSLCertificateKeyFile /etc/httpd/ssl/server.key&lt;br /&gt;
    SSLCACertificateFile  /etc/httpd/ssl/CA/CA.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In dem betreffenden geschützten Verzeichnis ist dann eine Art Schein-Basic-Authentication nach dem folgenden Muster einzurichten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Directory /webserver-path&amp;gt;&lt;br /&gt;
       SSLVerifyClient      require&lt;br /&gt;
       SSLVerifyDepth       5&lt;br /&gt;
       SSLOptions           +FakeBasicAuth&lt;br /&gt;
       SSLRequireSSL&lt;br /&gt;
       AuthName &amp;quot;Secure Area&amp;quot;&lt;br /&gt;
       AuthType basic&lt;br /&gt;
       AuthBasicProvider file&lt;br /&gt;
       AuthUserFile      .htpasswd&lt;br /&gt;
       Require valid-user&lt;br /&gt;
       ErrorDocument 403 &amp;quot;You need a client side certificate issued by CAcert to access this site&amp;quot;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Es wird also gegen die .htpasswd-Datei authentifiziert, in welcher alle validen Client-Zertifikate eingetragen sein müssen.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7376</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7376"/>
		<updated>2015-05-05T15:55:19Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Integration eines Client Certificates in die Kommunikation mit dem CMS-Server ===&lt;br /&gt;
&lt;br /&gt;
 Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.&lt;br /&gt;
 Allgemein empfiehlt sich das genaue Studium der Apache-Doku zu diesem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html&lt;br /&gt;
&lt;br /&gt;
 Folgendes Szenario wird hier exemplarisch vorgestellt:&lt;br /&gt;
     Web-Client &amp;lt;--&amp;gt; öffentlicher Webserver mit Client-Zertifikat &amp;lt;-- HTTPS --&amp;gt; CMS-Server intern&lt;br /&gt;
 D.h. der Webbrowser sendet über den öffentlichen Webserver als Proxy seine Anforderungen an das CMS.&lt;br /&gt;
 Dabei verwendet der Proxy das konfigurierte Client-Zertifikat, um sich dem CMS-Server gegenüber zu autorisieren.&lt;br /&gt;
 Ob der Webbrowser über HTTP oder HTTPS mit dem Proxy kommuniziert ist unerheblich. Die Kommunikation mit dem CMS erfolgt immer über HTTPS.&lt;br /&gt;
&lt;br /&gt;
 * Konfiguration auf dem öffentlichen Webserver / Proxy&lt;br /&gt;
&lt;br /&gt;
 Zunächst wird eine Datei both.pem aus dem nicht verschlüsselten Zertifikat und dem zugehörigen Schlüssel erzeugt:&lt;br /&gt;
 &amp;lt;pre&amp;gt; cat client.pem client.key &amp;gt; both.pem &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Diese Datei wird als Client-Zertifikat eingebunden, z.B.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLProxyMachineCertificateFile /etc/httpd/ssl/both.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 * Konfiguration auf dem CMS-System&lt;br /&gt;
&lt;br /&gt;
 Bei der klassischen SSL-Konfiguration muss dem Server zusätzlich das Haupt-CA-Zertifikat CA.pem, mit dem die Client-Schlüssel erzeugt wurden,&lt;br /&gt;
 bekannt gemacht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLProxyEngine on&lt;br /&gt;
    SSLCipherSuite ALL:!ADH:!EXPORT:+RSA:+HIGH:+MEDIUM:-RC4:-LOW&lt;br /&gt;
    SSLProtocol All -SSLv2 -SSLv3&lt;br /&gt;
    SSLCertificateFile    /etc/httpd/ssl/server.cert&lt;br /&gt;
    SSLCertificateKeyFile /etc/httpd/ssl/server.key&lt;br /&gt;
    SSLCACertificateFile  /etc/httpd/ssl/CA/CA.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In dem betreffenden geschützten Verzeichnis ist dann eine Art Schein-Basic-Authentication nach dem folgenden Muster einzurichten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Directory /webserver-path&amp;gt;&lt;br /&gt;
       SSLVerifyClient      require&lt;br /&gt;
       SSLVerifyDepth       5&lt;br /&gt;
       SSLOptions           +FakeBasicAuth&lt;br /&gt;
       SSLRequireSSL&lt;br /&gt;
       AuthName &amp;quot;Secure Area&amp;quot;&lt;br /&gt;
       AuthType basic&lt;br /&gt;
       AuthBasicProvider file&lt;br /&gt;
       AuthUserFile      .htpasswd&lt;br /&gt;
       Require valid-user&lt;br /&gt;
       ErrorDocument 403 &amp;quot;You need a client side certificate issued by CAcert to access this site&amp;quot;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Es wird also gegen die .htpasswd-Datei authentifiziert, in welcher alle validen Client-Zertifikate eingetragen sein müssen.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7375</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7375"/>
		<updated>2015-05-05T15:44:41Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Integration eines Client Certificates in die Kommunikation mit dem CMS-Server ===&lt;br /&gt;
&lt;br /&gt;
 Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.&lt;br /&gt;
 Allgemein empfiehlt sich das genaue Studium der Apache-Doku zu diesem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html&lt;br /&gt;
&lt;br /&gt;
 Folgendes Szenario wird hier exemplarisch vorgestellt:&lt;br /&gt;
     Web-Client &amp;lt;--&amp;gt; öffentlicher Webserver mit Client-Zertifikat &amp;lt;-- HTTPS --&amp;gt; CMS-Server intern&lt;br /&gt;
 D.h. er Webbrowser sendet über den öffentlichen Webserver als Proxy seine Anforderungen an das CMS.&lt;br /&gt;
 Dabei verwendet der Proxy das konfigurierte Client-Zertifikat, um sich dem CMS-Server gegenüber zu autorisieren.&lt;br /&gt;
 Ob der Webbrowser über HTTP oder HTTPS mit dem Porxy kommuniziert ist unerheblich, Die Kommunikation mit dem CMS erfolgt immer über HTTPS.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration auf dem öffentlichen Webserver / Proxy ====&lt;br /&gt;
&lt;br /&gt;
 Zunächst wird eine Datei both.pem aus dem nicht verschlüsselten Zertifikat und dem zugehörigen Schlüssel erzeugt:&lt;br /&gt;
 &amp;lt;pre&amp;gt; cat client.pem client.key &amp;gt; both.pem &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Diese Datei wird als Client-Zertifikat eingebunden, z.B.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
    SSLProxyMachineCertificateFile /etc/httpd/ssl/both.pem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration auf dem CMS-System ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
   SSLProxyEngine on&lt;br /&gt;
   SSLProxyCACertificateFile /etc/httpd/ssl/CA.cert&lt;br /&gt;
   SSLProxyVerify require                           &lt;br /&gt;
   SSLProxyVerifyDepth  2                           &lt;br /&gt;
   SSLProxyMachineCertificateFile /etc/httpd/ssl/both.cert&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7369</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7369"/>
		<updated>2015-05-05T09:56:27Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Integration eines Client Certificates in die Kommunikation mit dem CMS-Server ===&lt;br /&gt;
&lt;br /&gt;
 Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
   SSLProxyEngine on&lt;br /&gt;
   SSLProxyCACertificateFile /etc/httpd/ssl/CA.cert&lt;br /&gt;
   SSLProxyVerify require                           &lt;br /&gt;
   SSLProxyVerifyDepth  2                           &lt;br /&gt;
   SSLProxyMachineCertificateFile /etc/httpd/ssl/both.cert&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Sehr gute Doku zu dem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7367</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7367"/>
		<updated>2015-05-05T08:32:32Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Integration eines Client Certificates in die Kommunikation mit dem CMS-Server ===&lt;br /&gt;
&lt;br /&gt;
 Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
   SSLProxyEngine on&lt;br /&gt;
   SSLProxyCACertificateFile /etc/httpd/ssl/CA.cert&lt;br /&gt;
   SSLProxyVerify require                           &lt;br /&gt;
   SSLProxyVerifyDepth  2                           &lt;br /&gt;
   SSLProxyMachineCertificateFile /etc/httpd/ssl/both.cert&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
	<entry>
		<id>https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7366</id>
		<title>Integration des IES in den Apache</title>
		<link rel="alternate" type="text/html" href="https://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&amp;diff=7366"/>
		<updated>2015-05-05T08:30:57Z</updated>

		<summary type="html">&lt;p&gt;CGi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
Der IES ist i.d.R. für sämtliche Dateien im &amp;lt;code&amp;gt;DocumentRoot&amp;lt;/code&amp;gt; eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe &amp;lt;code&amp;gt;ies&amp;lt;/code&amp;gt; aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration des ''DocumentRoot''==&lt;br /&gt;
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.&lt;br /&gt;
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.&lt;br /&gt;
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.&lt;br /&gt;
&lt;br /&gt;
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	&amp;lt;Directory &amp;quot;....$PATH_TO_DOCUMENT_ROOT.../WEB-IES&amp;quot;&amp;gt;&lt;br /&gt;
		Options -Indexes&lt;br /&gt;
		AllowOverride LIMIT&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Hinweise zur Integration==&lt;br /&gt;
''Die Integration des [[IES]] in den &amp;quot;Internet Information Server&amp;quot; von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich empfehlen wir sowohl unter Linux, wie auch unter Windows den Einsatz des Apache-Webservers, da wir aufgrund unserer Erfahrungen hier den besten Support liefern können.&lt;br /&gt;
&lt;br /&gt;
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt;. Folgende Konfiguration kann als Vorlage dienen. Die &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.&lt;br /&gt;
&lt;br /&gt;
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:&lt;br /&gt;
    mod_proxy&lt;br /&gt;
    mod_proxy_balancer&lt;br /&gt;
    mod_proxy_http&lt;br /&gt;
    mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!&lt;br /&gt;
    mod_rewrite&lt;br /&gt;
    mod_ssl&lt;br /&gt;
    mod_headers &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS=&amp;quot;0.0.0.0&amp;quot; erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.&lt;br /&gt;
&lt;br /&gt;
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration des IES in den Apache==&lt;br /&gt;
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!&lt;br /&gt;
&lt;br /&gt;
===Aufruf des IES Über den Apache===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch&lt;br /&gt;
    # Redakteure erfolgen, die häufig URLs ohne &amp;quot;https&amp;quot; eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,&lt;br /&gt;
    # da diese intern über &amp;quot;http&amp;quot; auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.&lt;br /&gt;
    RedirectMatch  ^(.*)$ https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;$1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ErrorLog        /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.err&lt;br /&gt;
    CustomLog       /var/log/apache2/&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;.log combined&lt;br /&gt;
&lt;br /&gt;
    # Infosite redirect&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteRule ^/$ /ies/infosite/ [R,L]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite-webdav/.*)$                   balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/xip/.*)$                               balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/infosite/.*)$                          balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so&lt;br /&gt;
    # innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-NAME &amp;quot;ies.intern.net&amp;quot; # evtl. abweichender ServerName&lt;br /&gt;
    #RequestHeader set X-IES-SERVER-PORT &amp;quot;1443&amp;quot; # evtl. abweichender Port&lt;br /&gt;
    RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===&lt;br /&gt;
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
   ProxyTimeout 3600&lt;br /&gt;
   &amp;lt;Proxy balancer://ies-webnode-balancer&amp;gt;&lt;br /&gt;
      Order Deny,Allow&lt;br /&gt;
      Allow from All&lt;br /&gt;
      BalancerMember http://localhost:8381&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPassMatch ^(/ies-webnode/.*)$      balancer://ies-webnode-balancer$1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===&lt;br /&gt;
&lt;br /&gt;
Dies Konfiguration ist notwendig für: &lt;br /&gt;
*den I-Link im SRPC-Modus in InfoSite6 &lt;br /&gt;
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)&lt;br /&gt;
*CityCall mit Anbindung an das Ticketsystem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName &amp;lt;&amp;lt;hostname&amp;gt;&amp;gt;&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### oder auf bestimmte Module begrenzt: ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                       balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                 balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===&lt;br /&gt;
&lt;br /&gt;
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.&lt;br /&gt;
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # load balancer&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,&lt;br /&gt;
        # da dieser Anfragen automatisch intern an den IES weiterleitet.&lt;br /&gt;
        #BalancerMember http://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:80 timeout=3600 retry=0&lt;br /&gt;
&lt;br /&gt;
        # Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.&lt;br /&gt;
        # Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)&lt;br /&gt;
        # Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)&lt;br /&gt;
        #BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Variante, wenn IES-API  UND SPML-Seite unterstützt werden müssen===&lt;br /&gt;
&lt;br /&gt;
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''&lt;br /&gt;
&lt;br /&gt;
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:&lt;br /&gt;
&lt;br /&gt;
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.&lt;br /&gt;
&lt;br /&gt;
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.&lt;br /&gt;
&lt;br /&gt;
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt; und CMS-Host &amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt; ist entsprechend zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;cms-host&amp;gt;: ies.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;: ies-www.stadt-goldenberg.de&lt;br /&gt;
 &amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;: /live&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ServerName ...&lt;br /&gt;
    DocumentRoot ...&lt;br /&gt;
 &lt;br /&gt;
    ErrorLog        ...&lt;br /&gt;
    CustomLog       ...&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    ###################################&lt;br /&gt;
    # IES integration using mod_proxy #&lt;br /&gt;
    ###################################&lt;br /&gt;
&lt;br /&gt;
    # security&lt;br /&gt;
    ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
    # always keep the host header&lt;br /&gt;
    ############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################&lt;br /&gt;
    ProxyPreserveHost Off&lt;br /&gt;
&lt;br /&gt;
    # Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren&lt;br /&gt;
    SSLProxyEngine On&lt;br /&gt;
    SSLProxyVerify none&lt;br /&gt;
    SSLProxyCheckPeerCN Off&lt;br /&gt;
    SSLProxyCheckPeerName Off&lt;br /&gt;
    SSLProxyCheckPeerExpire Off&lt;br /&gt;
&lt;br /&gt;
    # timeout&lt;br /&gt;
    ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        ############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;ies-alias-hostname&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für &amp;quot;&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;&amp;quot; eingesetzt werden&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?)$  balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ProxyPassMatch ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$                      balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
    &amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
      Order deny,allow&lt;br /&gt;
      Deny from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    # load balancer IES-API&lt;br /&gt;
    &amp;lt;Proxy balancer://ies-api-balancer&amp;gt;&lt;br /&gt;
        Order Deny,Allow&lt;br /&gt;
        Allow from All&lt;br /&gt;
        # Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
        BalancerMember https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;:443 timeout=3600 retry=0&lt;br /&gt;
    &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
    ProxyPassMatch ^(/ies/api/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    ####### weitere Module ######&lt;br /&gt;
    # ProxyPassMatch ^(/ies/MODUL/.*)$                         balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # Beispiele: &lt;br /&gt;
    # ProxyPassMatch ^(/ies/formservice/.*)$                balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/infoticket/.*)$                  balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
    # ProxyPassMatch ^(/ies/jslibs/.*)$                      balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On&lt;br /&gt;
&lt;br /&gt;
    # COUNTER &lt;br /&gt;
    # Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)&lt;br /&gt;
    #RedirectMatch  ^/ies/counter(.*) https://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1&lt;br /&gt;
&lt;br /&gt;
    # Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.&lt;br /&gt;
    # Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
    # Zugriff auf das CMS nur über den Webserver (als Proxy)&lt;br /&gt;
    RewriteRule ^/ies/counter(.*)           http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/infosite/counter(.*)      http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
    RewriteRule ^/ies/infosite/counter(.*)  http[s]://&amp;lt;&amp;lt;cms-host&amp;gt;&amp;gt;/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache-Konfiguration Version &amp;lt; 2.2.5 ===&lt;br /&gt;
&lt;br /&gt;
Bei älteren Apache-Versionen (&amp;lt; Version 2.2.5) ist unter Umständen statt einer &amp;lt;code&amp;gt;ProxyPassMatch&amp;lt;/code&amp;gt; eine &amp;lt;code&amp;gt;RewriteRule&amp;lt;/code&amp;gt; einzusetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
###################################&lt;br /&gt;
# IES integration using mod_proxy #&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
# security&lt;br /&gt;
ProxyRequests Off&lt;br /&gt;
&lt;br /&gt;
# always keep the host header&lt;br /&gt;
ProxyPreserveHost On&lt;br /&gt;
&lt;br /&gt;
# timeout&lt;br /&gt;
ProxyTimeout 3600&lt;br /&gt;
&lt;br /&gt;
# load balancer&lt;br /&gt;
&amp;lt;Proxy balancer://ies-balancer&amp;gt;&lt;br /&gt;
    Order Deny,Allow&lt;br /&gt;
    Allow from All&lt;br /&gt;
    BalancerMember http://localhost:8080 timeout=3600 retry=0&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/.*\.spml(;jsessionid=\w+)?(\?.*)?) balancer://ies-balancer$1 [P]&lt;br /&gt;
RewriteRule ^(/&amp;lt;&amp;lt;spml_live_folder&amp;gt;&amp;gt;/ies/binary/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden&lt;br /&gt;
&amp;lt;Directory &amp;lt;&amp;lt;DocumentRoot&amp;gt;&amp;gt;/WEB-INF&amp;gt;&lt;br /&gt;
  Order deny,allow&lt;br /&gt;
  Deny from all&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(/infosite-webdav/.*)$ balancer://ies-balancer$1 [P]&lt;br /&gt;
&lt;br /&gt;
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der&lt;br /&gt;
# Header X-IES-SCHEME auf https gesetzt werden,&lt;br /&gt;
# da nur so innerhalb von IES-Applikationen ${system.baseurl}&lt;br /&gt;
# richtig aufgelöst wird.&lt;br /&gt;
#RequestHeader set X-IES-SCHEME &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===&lt;br /&gt;
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
 # Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:&lt;br /&gt;
 RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Wuppertal/Remscheid/Solingen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  if (!empty($_GET)) {&lt;br /&gt;
    $client = substr(htmlspecialchars($_GET[&amp;quot;SYS_CNTR_id&amp;quot;]),0,5);&lt;br /&gt;
    $prefix = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Für den Fall, dass es auch auf Testservern eingesetzt wird&lt;br /&gt;
    if (strrpos($_SERVER['SERVER_NAME'],&amp;quot;test&amp;quot;)) {&lt;br /&gt;
      $prefix = &amp;quot;.test&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $url = null;&lt;br /&gt;
&lt;br /&gt;
    //&lt;br /&gt;
    // Unterscheide anhand der Server- und ClientId des übergebenen &lt;br /&gt;
    // Counter-Artikels die Server für die Weiterleitung&lt;br /&gt;
&lt;br /&gt;
    // Wuppertal&lt;br /&gt;
    if ($client === &amp;quot;10237&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-w&amp;quot;.$prefix.&amp;quot;.wuppertal.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Remscheid&lt;br /&gt;
    } else if  ($client === &amp;quot;14638&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-rs&amp;quot;.$prefix.&amp;quot;.remscheid.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // Solingen&lt;br /&gt;
    } else if  ($client === &amp;quot;15601&amp;quot;) {&lt;br /&gt;
      $url = &amp;quot;http://cms-sg&amp;quot;.$prefix.&amp;quot;.solingen.de/ies/infosite/counter&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. &lt;br /&gt;
    if ($url !== null) {&lt;br /&gt;
      $url .= &amp;quot;?&amp;quot;.$_SERVER['QUERY_STRING'];&lt;br /&gt;
&lt;br /&gt;
      $context  = stream_context_create(array(&amp;quot;http&amp;quot; =&amp;gt; array(&amp;quot;timeout&amp;quot; =&amp;gt; 3)));&lt;br /&gt;
      return file_get_contents($url, NULL, $context);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Integration eines Client Certificates ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   SSLProxyEngine on&lt;br /&gt;
   SSLProxyCACertificateFile /etc/httpd/ssl/CA.cert&lt;br /&gt;
   SSLProxyVerify require                           &lt;br /&gt;
   SSLProxyVerifyDepth  2                           &lt;br /&gt;
   SSLProxyMachineCertificateFile /etc/httpd/ssl/both.cert&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Installation| 300]]&lt;br /&gt;
[[Kategorie:Administration und Konfiguration]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>CGi</name></author>
	</entry>
</feed>