Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
allgemein:guacamole_installation_test [2023/07/07 12:13 CEST] sritterallgemein:guacamole_installation_test [2023/07/07 12:44 CEST] sritter
Zeile 4: Zeile 4:
 # Apache Guacamole # Apache Guacamole
  
-Guacamole ist eine Art VNC-Proxy, den Sie entweder lokal kompilieren und installieren müssen oder mittels Docker in Containern betreiben können. Mit einem zusätzlichen bwLehrpool-Plugin können Sie dann über eine einfache Weboberfläche Ihre bwLehrpool-Clients per Webbrowser zugänglich machen (siehe auch [[allgemein:remotenutzung_von_bwlehrpool|Remotezugriff auf bwLehrpool-Clients]].+Um mittels [[allgemein:remotenutzung_von_bwlehrpool|Remotezugriff auf bwLehrpool-Clients]] zugreifen zu können, benötigen Sie einen \[\[https://guacamole.apache.org/|Apache Guacamole-Server\]\].
  
-Da die Inbetriebnahme mit Docker deutlich einfacher und schneller als eine Lokalinstallation ist, beschränken wir uns hier auf die Containerlösung.+Guacamole ist eine Art VNC-Proxy, den Sie entweder lokal kompilieren und installieren oder mittels Docker in Containern betreiben können. Mit einem zusätzlichen bwLehrpool-Plugin können Sie dann über eine einfache Weboberfläche Ihre bwLehrpool-Clients per Webbrowser zugänglich machen. 
 + 
 +Da Inbetriebnahme und Updates von Guacamole mit Docker deutlich einfacher und schneller als eine lokale Installation ist, beschränken wir uns hier auf die Containerlösung.
  
 # Container Setup # Container Setup
  
-Sie finden ein vorgefertigtes Docker-Compose File nebst README und Beispielen zur Konfiguration in unserem Git-Repository im Unterordner 'docker'Achten Sie darauf, dass unter Linux Dateien die mit einem '.' (Punkt) beginnen evtl. nicht sichtbar sind. Nutzen Sie daher ggf. das Kommando 'ls -la' um auch versteckte Dateien anzuzeigen.+Sie finden ein vorgefertigtes Docker-Compose File nebst README und Beispielen zur Konfiguration in unserem Git-Repository im Unterordner 'docker'Die Konfiguration wird über die Datei '.env' gesteuert. 
 + 
 +*Beachten Sie, dass unter Linux Dateien die mit einem '.' (Punkt) beginnen evtl. nicht sichtbar sind. Nutzen Sie daher ggf. das Kommando 'ls -la'um auch versteckte Dateien anzuzeigen.*
  
 Klonen Sie das Repository und kopieren als ersten Schritt die Konfigurationsdatei '.env.example' nach '.env'. Klonen Sie das Repository und kopieren als ersten Schritt die Konfigurationsdatei '.env.example' nach '.env'.
Zeile 20: Zeile 24:
 ``` ```
  
-Die meisten notwendigen Einstellungen setzen Sie in der Datei '.env'+Editieren Sie dort mindestens IP/Hostname der Variablen **SLX_CLIENT_LIST_URL**, damit diese auf Ihren Satellitenserver verweist.
-Editieren Sie dort mindestens die IP/Hostname der Variablen 'SLX_CLIENT_LIST_URL', damit diese auf Ihren Satellitenserver verweist.+
  
-Für den LDAP-Login müssen Sie noch die notwendingen LDAP_*-Variablen anpassen. Es gibt noch weitere Konfigurationsoptionen, falls nötig https://guacamole.apache.org/doc/gug/guacamole-docker.html#ldap-authentication .+Für den LDAP-Login müssen Sie noch die notwendingen **LDAP_***-Variablen anpassen. Es stehen weitere Konfigurationsoptionen zur Verfügung, falls nötig https://guacamole.apache.org/doc/gug/guacamole-docker.html#ldap-authentication .
  
-**Optional:** Falls Ihr LDAP-Server ein selbstsigniertes SSL-Zertifikat verwendet, ist es unter Umständen notwendig, dass Sie dieses in das Image importieren. Editieren Sie dazu die Datei 'Dockerfile' und passen die auskommentierten Zeilen an. Kopieren Sie dann das das notwendige Zertifikat z.B. ebenfalls unter './files'. Falls Sie kein spezielles Zertifikat benötigen, können Sie diesen Teil überspringen.+**Optional:** Falls Ihr LDAP-Server ein selbstsigniertes SSL-Zertifikat verwendet, ist es unter Umständen notwendig, dass Sie dieses in das Docker-Image importieren. Editieren Sie dazu die Datei 'Dockerfile' und passen die auskommentierten Zeilen an. Legen Sie dann das notwendige Zertifikat z.B. unter './files' ab. Falls Sie kein spezielles Zertifikat benötigen, können Sie diesen Teil überspringen.
  
 Kopieren Sie als nächstes das für Ihre Guacamole Version passende 'bwlp-guac-plugin' nach './files/extensions' Kopieren Sie als nächstes das für Ihre Guacamole Version passende 'bwlp-guac-plugin' nach './files/extensions'
Zeile 53: Zeile 56:
  
  
-## Apache Reverse Proxy einrichten+## Reverse Webproxy einrichten
  
-Reverse Proxy-Konfiguration für Apache anlegen und entsprechende Module aktivieren. +Sie sollten einen Reverse Webproxy verwenden, um einen verschlüsselten Zugriff auf die Weboberfläche zu ermöglichen. Wir verwenden im Beispiel den Webserver Apache. Aber auch nginx ist möglich. 
 + 
 +Zunächst müssen Sie einige Module aktivieren. 
  
 ``` ```
-# Apache Module aktivieren 
 a2enmod rewrite a2enmod rewrite
 a2enmod proxy_http a2enmod proxy_http
Zeile 65: Zeile 69:
 ``` ```
  
-Nachfolgender Inhalt in .conf datei einfügen +Anschließend kopieren Sie folgenden Inhalt z.B. nach '/etc/apache2/sites-available/bwlehrpool-remote.conf'
- +
-``` +
-vi /etc/apache2/sites-available/bwlehrpool-remote.conf +
-```+
  
 **IP (10.9.8.7)** und **FQDN (bwlehrpool-remote.hs-xyz.de)** sind Platzhalter und müssen entsprechend angepasst werden: **IP (10.9.8.7)** und **FQDN (bwlehrpool-remote.hs-xyz.de)** sind Platzhalter und müssen entsprechend angepasst werden:
Zeile 96: Zeile 96:
         RewriteRule    "^/guacamole"  "/" [R]         RewriteRule    "^/guacamole"  "/" [R]
  
-        ProxyPass / http://10.9.8.7:8080/guacamole/ flushpackets=on +        ProxyPass / http://localhost:8080/guacamole/ flushpackets=on 
-        ProxyPassReverse / http://10.9.8.7:8080/guacamole/+        ProxyPassReverse / http://localhost:8080/guacamole/
         ProxyPassReverseCookiePath /guacamole /         ProxyPassReverseCookiePath /guacamole /
                  
Zeile 103: Zeile 103:
                 Order allow,deny                 Order allow,deny
                 Allow from all                 Allow from all
-                ProxyPass ws://10.9.8.7:8080/guacamole/websocket-tunnel +                ProxyPass ws://localhost:8080/guacamole/websocket-tunnel 
-                ProxyPassReverse ws://10.9.8.7:8080/guacamole/websocket-tunnel+                ProxyPassReverse ws://localhost:8080/guacamole/websocket-tunnel
         </Location>         </Location>
         SetEnvIf Request_URI "^/tunnel" dontlog         SetEnvIf Request_URI "^/tunnel" dontlog
Zeile 136: Zeile 136:
 ``` ```
  
-Dabei sollte eine json-Struktur herauskommen, die die Liste von Clients und Gruppen enthält. Verfügbare Clients müssen  im 'state: IDLE' sein und ein 'password' gesetzt haben, damit eine Verbindung möglich ist.+Dabei sollte eine json-Struktur herauskommen, die die Liste von Clients und Gruppen enthält. Verfügbare Clients müssen  im 'state: IDLE' sein und ein 'password' gesetzt haben, damit eine Verbindung möglich ist. 
  
 </WRAP> </WRAP>
Drucken/exportieren