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.
|
|