Apache Guacamole
Apache Guacamole besteht aus zwei Komponenten:
Guacamole-Server (guacd): Der Proxy-Dämon, der die Verbindung zu entfernten Clients herstellt. Er verarbeitet alle Remote-Desktop-Protokolle wie VNC, RDP und SSH. Der gewünschte Remote-Dienst wie SSH oder RDP muss auf dem Client separat installiert und konfuguriert werden, damit dieser von guacd angesprochen werden kann.
Guacamole-Client (Web-Anwendung): Diese Komponente verarbeitet Benutzerinteraktionen über den Webbrowser. Wird normalerweise auf einem Webserver wie Apache Tomcat bereitgestellt.
In kleineren Umgebungen stellt man einen Guacamole-Server mit beiden Komponenten bereit, in grösseren kann man die beiden Komponenten auf mehrere Maschinen aufteilen und separat skalieren.
Server
Der Apache Guacamole Server-Daemon kommt fixfertig compiliert aus dem EPEL-Repo:
dnf -y install epel-release
dnf -y install guacd
Optionale Client-Komponenten/Connectoren:
dnf -y install libguac-client-kubernetes
dnf -y install libguac-client-rdp
dnf -y install libguac-client-ssh
dnf -y install libguac-client-telnet
dnf -y install libguac-client-vnc
systemctl enable --now guacd.service
Server - Compiliert
Hier für RHEL 8 beschrieben. Quelle: https://guacamole.apache.org/doc/gug/installing-guacamole.html
dnf -y install yum-utils
yum config-manager --set-enabled powertools
dnf -y install epel-release
Dependencies installieren:
# required dependencies
dnf -y install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel
Anschliessend die optionalen, pro Protokoll benötigten Pakete installieren.
# optional dependencies
dnf -y install freerdp-devel pango-devel libssh2-devel libgcrypt-devel libvncserver-devel libwebsockets-devel openssl-devel libwebp-devel
Für ffmpeg das RPMFusion-Repo aktivieren. Hier auf RHEL 8:
dnf -y install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
dnf -y install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
# optional dependencies
dnf -y install ffmpeg-devel
Server-Software beziehen:
VER=1.5.5
curl --output guacamole-server.tar.gz https://dlcdn.apache.org/guacamole/$VER/source/guacamole-server-$VER.tar.gz
Checksumme verfifizieren:
curl https://downloads.apache.org/guacamole/$VER/source/guacamole-server-$VER.tar.gz.sha256
sha256sum guacamole-server.tar.gz
Server compilieren und starten:
tar -xzf guacamole-server.tar.gz
cd guacamole-server-$VER/
./configure --with-systemd-dir=/etc/systemd/system
make
make install
restorecon -v /etc/systemd/system/guacd.service
systemctl daemon-reload
systemctl enable --now guacd.service
Server - Konfiguration
TODO
Client
Apache Tomcat installieren. Dann:
VER=1.5.5
curl --output /var/lib/tomcat/webapps/guacamole.war https://apache.org/dyn/closer.lua/guacamole/$VER/binary/guacamole-$VER.war
Built on 2024-09-03