Version: GSB 7Installationsanleitung
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:
- https-Anfragen, welche über die GSBEditor-Domain oder über die URL /gsbeditor bzw. /rest-interface erfolgen, werden intern an den GSBEditor/web-Tomcat weitergeleitet.
- Anfragen über die URL /gsbeditor*, bei denen das Protokoll oder die Domain nicht korrekt sind, werden mittels https und korrigierter GSBEditor-Domain extern umgeleitet.
- Bei http-Anfragen über die GSBEditor-Domain erfolgt eine externe Umleitung mittels erzwungenem HTTPS. Dies gilt auch für die Preview.
- 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">
- fuer den Preview im GsbEditor
- Gibt an, ob als Server-FQHN von internen Links immer die im Content konfigurierte ServerFQHN verwendet werden soll.
- 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