IES-Webnode
Ab IES Version 2.5 verfügbar
Der IES-Webnode ist ein Java-Applikations-Server auf Basis des Jetty 9. Er wird auf Web-Servern installiert, die vom IES generierte Webseiten ausliefern. Innerhalb des IES-Webnode werden Module installiert, die Funktionalitäten für die Webseite bereite stellen (Z.B. Volltextsuche).
Systemvoraussetzungen
- Java Platform, Standard Edition JDK - Version 7
- Der IES muss den Server auf dem der IES-Webnode installiert wird per HTTP(S) erreichen können.
- Hardware-Anforderungen sind je nach Anwendungsfall zu prüfen.
Installation
Linux
Die Installations-Datei für den IES-Webnode wird mit dem IES mitgeliefert. In dem Verzeichnis IES_HOME/bin liegt die Datei
ies-webnode-server.bin
Diese muss auf das Linux-System kopiert werden, auf dem sich die Webseite befindet, die den IES-Webnode benötigt. Für die Installation vergeben Sie noch die nötigen Ausführungsrechte und führen das Installations-Script anschließend aus:
chmod a+x ies-webnode-server.bin ./ies-webnode-server.bin
Befolgen Sie die Anweisungen.
Das Installations-Script führt folgende Schritte aus:
- Es wird einen Nutzer und eine Gruppe
ies-webnode
angelegt - Es wird ein init-Script unter
/etc/init.d/ies-webnode
abgelegt. - Es wird eine Konfigurations-Datei für das init-Script angelegt:
- bei systemd-Systemen unter /etc/sysconfig/ies-webnode
- bei init-v-Systemen unter /etc/default/ies-webnode
- In dieser Datei können die Start-Optionen für den IES-Webnode angepasst werden (z.B.
JAVA_OPTIONS="-server -Xms512m -Xmx2048m -Xss8m"
).
- Der Server wird unterhalb des angegebenen Installations-Verzeichnisses (Standardverzeichnis:
/srv/sitepark/ies-webnode
) installiert.
Windows (nur 64 Bit)
Die Installations-Datei für den IES-Webnode wird mit dem IES mitgeliefert. In dem Verzeichnis IES_HOME/bin liegt die Datei
ies-webnode-server.exe
Diese muss auf das Windows-System kopiert werden, auf dem sich die Webseite befindet, die den IES-Webnode benötigt. Starten Sie die Installation durch einen Doppelklick und befolgen Sie die Anweisungen
Das Installations-Script führt folgende Schritte aus:
- Der Server wird unterhalb des angegebenen Installations-Verzeichnisses installiert.
- Es wird ein Windows-Dienst 'IES Webnode' eingerichtet.
Damit über PHP das HOME-Verzeichnis des IES-Webnode ermittelt werden kann, muss ein Wert aus der Windows-Registry ausgelesen werden. Dazu ist das COM-Objekt notwendig. Das COM-Objekt kann nur verwendet werden, wenn in der php.ini des Webservers die php_com_dotnet Extension aktiviert wurde.
extension=php_com_dotnet.dll
Apache Integration
<VirtualHost *:443>
...
ProxyRequests Off
ProxyPreserveHost On
ProxyTimeout 3600
<Proxy balancer://ies-webnode-balancer>
Order Deny,Allow
Allow from All
BalancerMember http://localhost:8381
</Proxy>
ProxyPassMatch ^(/ies-webnode/.*)$ balancer://ies-webnode-balancer$1
...
</VirtualHost>
IES-Konfiguration
Wenn der IES-Webnode auf dem Webserver installiert ist, muss die Verbindung für den IES über die Administrations-Oberfläche konfiguriert werden. Bei den Servereinstellungen erscheint der Menüpunkt 'Webnode'. Erstellen Sie hier einen neuen Eintrag und vergeben einen sprechenden Namen. die Basis URL des Webnodes ist der Host (oder IP-Adress) des Server, auf dem der Webnode installiert wurde. Sollte keine Apache-Einbindung konfiguriert sein, muss hier der Port (default 8381) ergänzt werden (Beispiel: http://my.webnode.de:8381/). Das Passwort wurde bei der Installation automatisch vergeben und befindet sich in der Datei [WEBNODE_HOME]/config/realm.properties (Beispiel: "api: 123456789abcdef, api" => Login 'api' Passwd: '123456789abcdef')
/etc/defaults/ies-webnode
IES_JAVA_OPTIONS
Java Optionen die mit -D angegeben werden
Chunked transfer encoding für die Kommunikation vom IES z.b. zum IES-Webnode deaktivieren. Dies ist in der Regel nur dann notwendig, wenn die Kommunikation über einen Proxy läuft und dieser Chunked transfer encoding via POST nicht unterstütz (sehr alte Proxies)
com.sitepark.net.HttpClient.disableChunked=true
Updates
Der IES-Webnode ist aus IES-Sicht ein IES-Modul und wird auch so wie alle anderen IES-Module über die IES-Admin Oberfläche aktualisiert. Die Update-Dateien werden vom IES-Admin vom zentralen Update-Server von Sitepark herunter geladen und auf die IES-Webnodes verteilt. Das Update auf den einzelnen IES-Webnodes muss dann allerdings manuell ausgeführt werden. Ob ein Update auf den IES-Webnodes zur Ausführung bereit steht kann innerhalb des IES-Admin im Bereich 'Webnode' nachgesehen werden.
Linux
Steht ein Update die IES-Webnode zur Verfügung kann das Update wie folgt ausgeführt werden
/etc/init.d/ies-webnode stop /etc/init.d/ies-webnode update /etc/init.d/ies-webnode start
Windows
In dem Verzeichnis IES_WEBNODE_HOME\update
liegt eine Datei ies-webnode-server.exe
. Durch einen Doppelklick auf diese Datei wird das Update ausgeführt.
Status abfragen
Webnode-Status
Den Status des Webnode kann man auf dem lokalen System über folgenden curl
-Aufruf abfragen:
curl -s "http://api:XXX@localhost:8381/ies-webnode/admin/rpc/?rpcAction=Server&rpcMethod=getStatus" | python -m json.tool
Die Authentifizierung erfolgt über die URL. Der Login ist api
. Dass Passwort ist Ihr API-Key.
Diesen können Sie der Datei realm-properties
im Installationsverzeichnis des Webnode entnehmen.
Der Python-Aufruf am Ende sorgt für eine lesbare Darstellung der JSON-Daten.
Aufruf des Webnodes durch den IES:
curl -s "http://api:XXX@localhost:8381/ies-webnode/admin/rpc/?rpcAction=WebChannel&rpcMethod=getStatus&protocol=https&host=hostname" | python -m json.tool
Die Authentifizierung erfolgt über die URL. Der Login ist api
. Dass Passwort ist Ihr API-Key.
URL für Request auf den Publisher:
curl -k "https://api:XXX@hostname/WEB-IES/sitekit-module/php/SP/SiteKit/Rpc/Server/Port.php?rpcAction=SP\\SiteKit\\Rpc\\WebChannel\\Info&rpcMethod=getInfo" | jq
Der Parameter Host ist der Domain-Name des Publiser.