GSB 7.0 Standardlösung

Installationsanleitung

Der GSBEditor/web ist eine optionale Komponente des GSB und wird als eigenständiges Modul des GSB ausgeliefert. Die Installation und Basiskonfiguration des GSBEditors/web ist somit nicht in der Standard Installationsanleitung enthalten, sondern wird an dieser Stelle explizit dokumentiert. Die Installation und Konfiguration des GSBEditors/web wird mit Hilfe des Standard GSB-Deployments, d.h. mit dem Skript gsbinstall durchgeführt.

Voraussetzungen

Die Installationsvoraussetzungen des GSB-Kerns müssen gegeben sein, d.h. die Schritte zur Vorbereitung und Aktivierung eines GSB-Release müssen durchgeführt worden sein (s.a. GSB Installationsvoraussetzungen)

Installation

Der GSBEditor/web ist im GSB-Release parallel zum GSB-Kern als eigenständige Komponente enthalten. Das Verzeichnis GsbEditor enthält die GSBEditor Software, die für das Deployment des GSBEditors/web benötigt wird

Vorbereitung Build-Properties

Die für den GSBEditor/web benötigten Build-Properties müssen zunächst aus dem Verzeichnis GsbEditor/buildProperties in den Ordner ~cmadmin/admin/config kopiert werden. Für die Installation und den Betrieb des GSBEditors/web werden die folgenden Dateien benötigt:

  • build_cm_tomcat_gsbeditor.properties enthält alle Build-Properties, die für die Installation und Konfiguration des GSBEditors/web Tomcat-Servers benötigt werden.
  • webapps/build_cm_webapp_gsbeditor.properties enthält alle Build-Properties, die für die Konfiguration der GSBEditor/web Webapplikation benötigt werden.

Anpassung der Hostnamen

Die GSBEditor/web Build-Properties enthalten noch eine Reihe von Hostnamen, die an die konkreten Servernamen der Hostingplattform angepasst werden müssen. Folgende Hostnamen müssen angepasst werden:

  • content.domain.example Name des ContentServers. Der GSBEditor/web registriert einen EventListener im angegebenen Contentserver, um auf ContentEvents reagieren zu können
  • cmsearch.domain.example Name des Solr-Servers für die Suche im Content des Redaktionssystems (Preview).
  • smtp_host Name des Mailservers der für den direkten Versand von Emails durch den GSBEditor/web verwendet werden soll.

Aktivierung

Nachdem die Build-Properties kopiert und angepasst worden sind, muss die Komponente GSBEditor/web noch aktiviert werden. Details zur Aktivierung finden sich in der GSB-Installationsanleitung im Kapitel "Aktivierung von Komponenten". Die Aktivierung des GSBEditor/web wird mit dem Kommando durchgeführt.

<syntaxhighlight lang="xml" enclose="div">gsbinstall activateComponent $GSB_ADMIN_HOME/config/build_cm_tomcat_gsbeditor.properties</syntaxhighlight>

Nach Aktivierung des GSBEditors/web ist dieser unter dem Komponentennamen gsbeditortomcat auf dem Server registriert und kann unter diesem Namen installiert und aktualisiert werden.

Installation

Die Installation des GSBEditors/web kann im Rahmen einer Komplettinstallation der GSB-Komponenten eines Servers durchgeführt werden (s.a. Installation der Komponenten).

<syntaxhighlight lang="xml" enclose="div">gsbinstall rebuildSystem</syntaxhighlight>

Alternativ kann der GSBEditor/web auch mit Hilfe des rebuildComponent Deployments mit folgenden Kommando installiert werden.

<syntaxhighlight lang="xml" enclose="div">gsbinstall rebuildComponent gsbeditortomcat</syntaxhighlight>

Nach Installation des GSBEditors/web steht dieser als Service-Funktionalität in der GSB-Infrastruktur zur Verfügung.

Aktivierung im Mandanten

Möchte ein Mandant den GSBEditor/web nutzen so müssen die mandantenspezifischen Customer-Properties angepasst werden. Die Property should_configure_gsbeditor muss auf den Wert true gesetzt werden. Bei einem anschließenden Deployment des GSBEditors/web wird jetzt die mandantenspezifische Konfiguration des GSBEditors/web mit deployed, so dass der GSBEditor/web diese anschließend berücksichtigen kann.

Des Weiteren wird die Konfiguration des GSBEditors/web im Content des Mandanten im Ordner __EditorConfig vorausgesetzt.

GSBEditor/web https-Unterstützung

Um den GSBEditor/web mit https auszuliefern muss sowohl der GSBEditor/web als auch die eingebundene Preview des Webauftritt per https ausgeliefert werden, da die aktuellen Browser die sogenannt Same-Origin-Policy durchsetzen. Hierbei müssen insbesondere alle Inhalte in https-Seiten ebenfalls per https geladen werden.

Insofern muss bei einer https-Untestützung des GSBEditor/web sichergestellt werden, dass

  • der Aufruf des GSBEditor/web ausschließlich über https erfolgt,
  • der GSBEditor/web über eine eigene, dedizierte GSBEditor/Web-Domain ausgeliefert wird,
  • die Standard GSB-Preview weiterhin unter der bekannten Preview-Domain zugreifbar ist, da ansonsten die Integration der Preview in den JavaEditor nicht funktioniert.

Konfiguration

Die https-Unterstützung für den GSBEditor/web betrifft Den GSBEditor/web sowie die GSB-Komponenten Apache und CAE. Die notwendigen Anpassungen der Konfiguration werden in den folgenden Abschnitten beschrieben.

GSBEditor/web

Für den GSBEditor/web erfolgt eine Konfigurationserweiterung in der Datei

<syntaxhighlight lang="xml" enclose="div">MANDANT_basis/customer.properties</syntaxhighlight>

Neben der schon vorhandenen Festlegung einer Preview-Domain für den Web-Start-Editor in der Eigenschaft

<syntaxhighlight lang="xml" enclose="div">editor_preview_hostname=MANDANT.preview.domain.example</syntaxhighlight>

wird eine weitere Eigenschaft mit der dedizierten Domain für den Preview innerhalb des GSBEditors festgelegt:

<syntaxhighlight lang="xml" enclose="div">gsbeditor_preview_hostname=MANDANT-editor.preview.domain.example</syntaxhighlight>

Sofern diese Definition vorhanden ist, wird sie in die GSBEditor-Konfiguration geschrieben, anderenfalls dient der Wert der Eigenschaft

<syntaxhighlight lang="xml" enclose="div">editor_preview_hostname</syntaxhighlight>

als Fallback.

Apache

Bei der Konfiguration des Apache können drei unterschiedliche Varianten konfiguriert werden.

GSBEditor ohne eigene Domain

Bei dieser Variante erfolgt die Einbindung des GSBEditor in die Preview-Domain des Mandanten. In der Apache-Preview-Definition des Mandanten

<syntaxhighlight lang="xml" enclose="div">MANDANT_basis/config/Apache/VirtualHostsPreview/MANDANT.properties</syntaxhighlight>

muss der Eigenschaft

<syntaxhighlight lang="xml" enclose="div">server_name=MANDANT.preview.domain.example</syntaxhighlight>

die entsprechende Preview-Domain zugewiesen werden. Es wird an dieser Stelle explizit darauf hingewiesen, dass die Eigenschaft

<syntaxhighlight lang="xml" enclose="div">gsbeditor_server_name</syntaxhighlight>

nicht vorhanden sein darf.

Eine Verbindung mittel https wird in dieser Variante nicht erzwungen, d.h. die Preview-Funktionalität bleibt unverändert und die GSBEditor-Requests werden auch in http akzeptiert und intern an den GSBEditor-Tomcat weitergeleitet.

GSBEditor mit eigener Domain ohne eigenen VirtualHost

Bei einem GSBEditor mit eigener Domain, welche in den VirtualHost der Preview-Domain integriert werden soll, wird in der Apache-Preview-Definition des Mandanten

<syntaxhighlight lang="xml" enclose="div">MANDANT_basis/config/Apache/VirtualHostsPreview/MANDANT.properties</syntaxhighlight>

neben der Preview-Domain zusätzlich auch die separate GSBEditor-Domain hinzugefügt. Dazu werden den beiden Eigenschaften

<syntaxhighlight lang="xml" enclose="div"> server_name=MANDANT.preview.domain.example gsbeditor_server_name=MANDANT-editor.preview.domain.example </syntaxhighlight>

die entsprechenden Werte zugewiesen. Durch den dadurch erstellt VirtualHost werden Anfragen wie folgt bearbeitet:

  1. https-Anfragen, welche über die GSBEditor-Domain oder über die URL /gsbeditor bzw. /rest-interface erfolgen, werden intern an den GSBEditor/web-Tomcat weitergeleitet.
  2. Anfragen über die URL /gsbeditor*, bei denen das Protokoll oder die Domain nicht korrekt sind, werden mittels https und korrigierter GSBEditor-Domain extern umgeleitet.
  3. Bei http-Anfragen über die GSBEditor-Domain erfolgt eine externe Umleitung mittels erzwungenem HTTPS. Dies gilt auch für die Preview.
  4. https-Anfragen über die GSBEditor-Domain, welche noch nicht wie in Punkt a. beschrieben zum GSBEditor/web weitergeleitet wurden, durchlaufen den normalen CAE-Regelblock und werden intern zur CAE als https-Anfrage weitergeleitet.

Daraus ergeben sich folgende Ergebnisse:

  • Bei Anfragen über GSBEditor/web-URLs wird eine https-Verbindung und die GSBEditor/web-Domain erzwungen und bei Erfüllung an den GSBEditor/web-Tomcat weitergeleitet.
  • Bei Anfragen über CAE-URLs und die GSBEditor/web-Domain wird eine https-Verbindung erzwungen und bei Erfüllung an einen CAE-Tomcat weitergeleitet, der beim Rendern keine Domain-Änderung durchführt.
  • Bei Anfragen über CAE-URLs und die Preview-Domain verhält sich der VirtualHost wie bisher.

GSBEditor/web mit eigener Domain in einem eigenen VirtualHost

Wenn aufgrund der Komponentenarchitektur eine eigene GSBEditor/web-Domain gewünscht wird, welche in einem eigenen VirtualHost getrennt vom VirtualHost des Preview bearbeitet werden kann, sind in dem Mandanten zwei Property-Dateien zu definieren:

<syntaxhighlight lang="xml" enclose="div">MANDANT_basis/config/Apache/VirtualHostsPreview/MANDANT.properties</syntaxhighlight>

mit den Werten:

<syntaxhighlight lang="xml" enclose="div"> mandant=MANDANT isSslEnabled=false virtual_host_name=MANDANT.preview.domain.example server_name=MANDANT.preview.domain.example gsbeditor_server_name=MANDANT-editor.preview.domain.example gsbeditor_redirect_to_other_virtual_host=true virtual_host_port=80 virtual_host_cae=true custom_config_file=MANDANT_custom_config.txt </syntaxhighlight>

<syntaxhighlight lang="xml" enclose="div">MANDANT_basis/config/Apache/VirtualHostsPreview/MANDANT-editor.properties</syntaxhighlight>

mit den Werten

<syntaxhighlight lang="xml" enclose="div"> mandant=MANDANT isSslEnabled=false virtual_host_name=MANDANT-editor.preview.domain.example server_name=MANDANT-editor.preview.domain.example gsbeditor_server_name=MANDANT-editor.preview.domain.example virtual_host_port=80 virtual_host_cae=true custom_config_file=MANDANT_custom_config.txt </syntaxhighlight>

Die erste VirtualHost-Konfiguration ist dem Preview bzw. der Preview-Domain zugeordnet. Wenn hier eine Anfrage /gsbeditor landet, wird diese mittels https und der GSBEditor/web-Domain extern umgeleitet.

Die zweite VirtualHost -Konfiguration wird automatisch über die GSBEditor/web-Domain angesteuert.

CAE

Für eine https-Preview innerhalb des GSBEditor/web muss sichergestellt werden, dass als Protokoll für Preview-Inhalte (HTML-Seiten, Bilder, Style-Sheets, etc.) immer https verwendet wird. D.h. die dynamische Ermittlung des Transfer-Protokolls innerhalb der CAE muss deaktiviert werden, um alle Inhalte per https auszuliefern. Hierzu wird in der Datei build_cm_webapp_cae.properties die folgende Property gesetzt:

<syntaxhighlight lang="xml" enclose="div">

  1. fuer den Preview im GsbEditor
  2. Gibt an, ob als Server-FQHN von internen Links immer die im Content konfigurierte ServerFQHN verwendet werden soll.
  3. Ansonsten wird der im Request angegebene Hostname verwendet.

cae_force_configured_server_fqhn=false </syntaxhighlight>

Installation

Nach Abschluss der Konfiguration müssen die folgenden GSB-Komponenten mit Hilfe des GSB-Kommandos gsbinstall deployed werden, um die https-Unterstützung für den GSBEditor/web zu aktivieren:

  • GSBEditor/web
  • Apache Webserver
  • Preview-Tomcat