Inhalte mit dem Apache HTTP-Server ausliefern

Bei einer Standardinstallation von CMS Fiona ist die betriebene Website auf Port 8080 zu erreichen. Auf diesem Port nimmt der Trifork-Server die Anfragen an den Portal Manager entgegen. Aus Sicherheitsgründen ist es empfehlenswert, den Trifork-Server nicht direkt erreichbar zu machen. Diese Kurzanleitung beschreibt, wie dies mit einem Apache HTTP-Server und dem Apache-Webserver-Modul mod-jk erreicht werden kann. Weitere Details finden Sie unter anderem auf den folgenden Webseiten der Apache Foundation:

http://tomcat.apache.org/connectors-doc/
http://tomcat.apache.org/connectors-doc-archive/jk2/jk/quickhowto.html

Diese Anleitung geht davon aus, dass Sie den Apache HTTP-Server bereits installiert und eingerichtet haben. Bitte passen Sie die hier verwendeten symbolischen Namen sowie die Portnummern an Ihre Umgebung an.

  1. Laden Sie mod_jk herunter und gehen Sie wie in der Datei readme.txt beschrieben vor, um das Modul zu installieren und zu kompilieren:

    $> cd tomcat-connectors-1.2.26-src/native
    $> ./configure --with-apxs=/usr/sbin/apxs
    # Mit apxs lassen sich Module, die als Quelltext vorliegen, mit einem 
    # einzigen Befehl kompilieren und installieren sowie die notwendigen
    # Änderungen an den Konfigurationsdateien vornehmen.
    $> make
    $> su -c 'make install'

    Hierdurch wird das Modul mod_jk.so erstellt.

  2. Binden Sie das Modul in Ihre Installation des Apache-HTTP-Servers ein, so dass es beim Start des Servers geladen wird.

  3. Binden Sie die Konfiguration des Moduls, jk.conf, in die Konfiguration des Apache-Servers ein. Beispiel für eine mod_jk-Konfiguration (bitte die Pfade anpassen):

    <IfModule mod_jk.c>
    
    # Pfade zu mod_jk Logdateien (bitte anpassen!)
    JkLogFile "/var/log/apache2/mod_jk.log"
    JkLogLevel info
    
    # Pfad zur Konfiguration des AJP-Workers
    JkWorkersFile "/usr/local/apache2/conf/workers.properties"
    
    # Weiterleitungen zu den Web-Applikationen
    # Redaktionssystem und Vorschau
    JkMount /default/* Name
    # Inhalte
    JkMount /PM/* Name
    
    </IfModule>

    Name ist im obigen Beispiel für die Datei jk.conf der Name eines workers, der in der Datei workers.properties definiert ist (siehe unten).

    Die oben angegebenen Pfade wie /default/* und /PM/* werden an den Trifork-Server weitergegeben, müssen dort also definiert sein.

    Beachten Sie bitte, dass im Trifork noch der URL-Präfix-Pfad (Kontext) in der Datei instance\default\webapps\PM\META-INF\trifork-app-conf.xml sowie für die live-seitige Auslieferung der Inhalte das documentRoot in instance\default\webapps\PM\WEB-INF\pm.xml definiert werden müssen.

  4. Definieren Sie in der Datei worker.properties den oben angebenen worker zur Kommunikation mit dem Trifork-Server:

    # Worker definieren, über den kommuniziert wird
    
    # Liste der worker-Namen. Geben Sie als Name 
    # beispielsweise den Namen der Webapp an
    worker.list=Name
    
    # Der worker wird hier definiert. Er ist vom Typ ajp13
    
    worker.Name.port=8009
    worker.Name.host=localhost
    worker.Name.type=ajp13
  5. Setzen Sie AJPv13 im Trifork auf enable. Sie erreichen die Administrationskonsole unter http://server:8090/console -> default -> HTTP -> DEFAULT_ENDPOINT.

  6. Binden Sie aus Sicherheitsgründen den Trifork-Server an localhost, damit er von außen nicht erreichbar ist. Fügen Sie hierfür in die Datei domain-dir/config/server-name/server.properties die folgenden Zeilen ein:

    trifork.local.host=127.0.0.1
    trifork.acceptOnAnyInterface=false