Zum Hauptinhalt springen

Apache Guacamole — Integration

Apache Guacamole ermöglicht webbasierten Remote-Desktop-Zugang (RDP, VNC, SSH) ohne Client-Software. OpenVLE nutzt Guacamole, um Benutzern den Zugriff auf virtuelle Maschinen direkt im Browser zu ermöglichen.

Guacamole wird als separater Dienst betrieben und ist nicht Teil des Standard-Docker-Stacks von OpenVLE. Für die Installation und den Betrieb von Guacamole verweisen wir auf die offizielle Dokumentation.

Optionale Komponente

Guacamole ist optional, wird aber empfohlen. Ohne Guacamole kann OpenVLE weiterhin zum Verwalten von VMs und VM-Vorlagen genutzt werden — der webbasierte Remote-Desktop-Zugang steht dann jedoch nicht zur Verfügung.

Voraussetzungen

  • Separater Server oder Docker-Host für Guacamole
  • Netzwerkzugang vom OpenVLE-Backend zum Guacamole-Server (Standard: Port 8080, bzw. 443 bei HTTPS)
  • Eine MariaDB/MySQL-Datenbank für Guacamole
Separate Datenbank

Guacamole benötigt eine eigene Datenbank — verwende nicht die OpenVLE MariaDB-Instanz.

Installation

Die offizielle Apache Guacamole Docker-Dokumentation beschreibt die Einrichtung im Detail:

Eine typische Guacamole-Installation besteht aus drei Containern:

ContainerFunktion
guacdConnection Proxy — verwaltet die Remote-Desktop-Verbindungen
guacamoleWeb-Frontend — stellt die Benutzeroberfläche bereit
guacamole-dbDatenbank — speichert Benutzer, Verbindungen und Konfiguration

OpenVLE-Benutzer in Guacamole anlegen

OpenVLE benötigt einen dedizierten Admin-Account in Guacamole, um Verbindungen automatisch verwalten zu können. Erstelle diesen Benutzer über die Guacamole-Weboberfläche:

  1. Melde dich als Administrator in der Guacamole-Weboberfläche an
  2. Navigiere zu Einstellungen → Benutzer → Neuer Benutzer
  3. Erstelle einen Benutzer mit Administratorrechten
  4. Notiere dir Benutzername und Passwort — diese werden im nächsten Schritt benötigt

OpenVLE-Backend konfigurieren

Trage die Guacamole-Verbindungsdaten in die .env-Datei des Backends ein. Die vollständige Referenz aller Umgebungsvariablen findest du unter Konfiguration.

VariableBeschreibungBeispiel
GUACAMOLE_URLURL des Guacamole-Servershttp://guacamole-server:8080
GUACAMOLE_DBDatenbanktyp von Guacamolemysql
GUACAMOLE_USERBenutzername des OpenVLE-AccountsOpenVLE
GUACAMOLE_PASSWORDPasswort des OpenVLE-Accountssicheres-passwort
GUACAMOLE_CONNECTIONS_PREFIXPräfix für automatisch erstellte Verbindungenopenvle-
GUACAMOLE_CONNECTIONS_PREFIX_EVENTSPräfix auch für Event-Verbindungen verwendenTrue

Verifizierung

  1. Guacamole-Weboberfläche aufrufen und prüfen, ob der Login funktioniert
  2. OpenVLE-Backend-Logs auf erfolgreiche Guacamole-Verbindung prüfen:
    docker logs openvle-backend 2>&1 | grep -i guacamole
  3. In OpenVLE eine Test-VM mit Verbindung erstellen und prüfen, ob die Guacamole-Verbindung automatisch angelegt wird

Fehlerbehebung

ProblemLösung
Backend kann Guacamole nicht erreichenPrüfe ob GUACAMOLE_URL in der .env-Datei korrekt gesetzt ist und der Netzwerkzugang zwischen Backend und Guacamole besteht.
Login in Guacamole-WebUI schlägt fehlPrüfe ob die initiale Datenbank-Einrichtung korrekt durchgeführt wurde.
Verbindungen werden nicht automatisch erstelltPrüfe die Backend-Logs (docker logs openvle-backend) auf Guacamole-bezogene Fehlermeldungen und stelle sicher, dass der OpenVLE-Benutzer Administratorrechte in Guacamole hat.

Weiterführende Dokumentation