Der Abschnitt beschreibt die Arbeit mit Kommandos direkt aus der Web-Kommandozeilenschnittstelle heraus.
Das Command Line Interface (CLI) wurde ja bereits beschrieben. MyCoRe gestattet neben der Arbeit über die System-Kommandozeile auch die Arbeit direkt über ein Web-Interface. Es stehen dabei auch alle Kommandos bereit, welche via Cli genutzt werden können. WebCLI ist eine Komponente in MyCoRe. Für die Nutzung ist ein Servlet-Container mit Unterstützung für die Servlet-API 3.1 erfordelich. Dafür eignet sich also ein Tomcat ab Version 8 oder Jetty ab Version 9.1.
Die Integration der Komponente ist recht einfach. NatĂĽrlich muss selbige im benutzten MyCoRe-Code enthalten
sein (dependency in der pom.xml). In der Anwendung ist einfach die folgende Web-Seite aufzurufen, welche natĂĽrlich vorher in die Anwendung
kopiert wurde. Das WebCLI-Modul kommuniziert ĂĽber WebSockets mit der Anwendung. Weiterhin ist fĂĽr die Nutzung
die Permission
use-webcli
erforderlich.
/modules/webcli/launchpad.xml
Betreibt man die MyCoRe-Anwendung hinter einem Apache-Web-Server, so bindet man diesen in der Regel per
AJP-Protokoll an den Servlet-Container.
Das AJP-Protokoll unterstĂĽtzt keine Web-Sockets, die fĂĽr die Funktion des WebCLI notwendig sind.
Für die Nutzung des WebCLI wird daher sowohl der AJP-Connector als auch der HTTP-Connector von Tomcat benötigt.
Dabei wird davon ausgegangen, dass Apache und Tomcat auf einem Host liegen und intern unverschlĂĽsselt ĂĽber
localhost kommunizieren. Beide Konnektoren mĂĽssen in der
server.xml
fĂĽr unterschiedliche Ports definiert werden. Hier ein Beispiel:
|
|
Nun folgt die Konfiguration des Apache-Webservers. Hier ist als erstes das Modul
proxy_wstunnel
erforderlich (ab Apache httpd 2.4.5). Dies erfolgt je nach OS in der entsprechenden Konfigurationsdatei durch HinzufĂĽgen des Moduls
a2enmod proxy_wstunnel
.
unter SuSE:
/etc/sysconfig/apache2
unter Ubuntu:
/etc/apache2
Nun ist noch die Konfiguration im virtuellen Host erforderlich.
|
|
Für den Fall, dass die Kommunikation zwischen Apache und Tomcat über eine gesicherte Verbindung stattfinden soll, müssen noch folgende Schritte/Änderungen erledigt werden:
1. Es ist ein unsigniertes Zertifikat mit
keytool -genkey -alias generic -keyalg RSA
zu erzeugen und unter
$HOME/.keystore
zu speichern.
2. Der Connector im
server.xml
ist anzupassen.
|
|
3. Der Eintrag fĂĽr den WebSocket ist anzupassen.
|
|