Aufgabe
Update/Upgrade einer bestehenden Apache Guacamole Umgebung von 1.5.0 auf 1.5.5.
Nach den ersten Erfolgen mit Guacamole ( Basis Installation siehe ⇒ Eine Oracle System Umgebung mit Apache Guacamole auf Oracle Linux 8.7 verwalten) steht das Update an.
Die Version vom Demon guacd abfragen mit:
/usr/local/sbin/guacd -v Guacamole proxy daemon (guacd) version 1.5.0
Auf der Webseite nachschauen unter https://guacamole.apache.org/releases/
Aktuell (04.2024) ist das die 1.5.5.
Snapshot der VM zuvor erstellen!
dnf update reboot
systemctl stop guacd systemctl stop tomcat
Den Sourcecode herunterladen und auf dem Serverbereitstellen:
# Create Working Directory mkdir /srv/guacamole_source_155 #Get Source Code and extract the code cd /srv/guacamole_source_155 wget --no-check-certificate https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz sha256sum guacamole-server-1.5.5.tar.gz # check with https://downloads.apache.org/guacamole/1.5.3/source/guacamole-server-1.5.3.tar.gz.sha256 ! # 67499611c2e22d9c933763adc5408e716a4bfd08a3eb8a5ba2fc6f8f70868f6b guacamole-server-1.5.5.tar.gz tar -xvf guacamole-server-1.5.5.tar.gz
Source Code übersetzten:
cd /srv/guacamole_source_155/guacamole-server-*/ ./configure --with-init-dir=/etc/init.d .. ------------------------------------------------ guacamole-server version 1.5.5 ------------------------------------------------ Library status: freerdp2 ............ yes pango ............... yes libavcodec .......... yes libavformat.......... yes libavutil ........... yes libssh2 ............. yes libssl .............. yes libswscale .......... yes libtelnet ........... yes libVNCServer ........ yes libvorbis ........... yes libpulse ............ yes libwebsockets ....... yes libwebp ............. yes wsock32 ............. no Protocol support: Kubernetes .... yes RDP ........... yes SSH ........... yes Telnet ........ yes VNC ........... yes Services / tools: guacd ...... yes guacenc .... yes guaclog .... yes FreeRDP plugins: /usr/lib64/freerdp2 Init scripts: /etc/init.d Systemd units: no Type "make" to compile guacamole-server.
Darauf achten das bei allen Protokollen auch ein „yes“ steht! Fehlt etwas stimmt etwas nicht mit den benötigten Libraries! Fehlt eine Lib, wird die dazugehörige Option auch nicht aktiviert.
Übersetzten und installieren:
make make install
Libs bekannt geben:
ldconfig
Version testen:
/usr/local/sbin/guacd -v Guacamole proxy daemon (guacd) version 1.5.5
Autostart einrichten:
systemctl daemon-reload
systemctl start guacd
systemctl enable guacd
systemctl status guacd
Der eigentliche Client wird als WAR File im Tomcat deployt und liest die Konfiguration unter /etc/guacamole.
Tomcat stoppen:
systemctl stop tomcat
# Als Tomcat User su - tomcat cd /srv/tomcat/config/webapps mv guacamole-1.5.5 guacamole-1.5.5.war /tmp wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-1.5.5.war # bei Bedarf War umbenenne mv guacamole-1.5.3.war guacamole.war
Prüfe ob ein DB Update notwendig wird:
Adapter und Schema SQL für die Maria DB bereitstellen:
cd /srv/guacamole_source_155 mkdir ex cd ex wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz tar -xvf guacamole-auth-jdbc-1.5.5.tar.gz cd /srv/guacamole_source_155/ex/guacamole-auth-jdbc-1.5.5/mysql # Adapter hinterlegen #-- sicherheitskopie mv /etc/guacamole/extensions/guacamole-auth-jdbc-mysql-1.5.3.jar /tmp #-- aktualiseren cp guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions
Nun können wir prüfen ob es ein Update Script für die Version gibt:
cd /srv/guacamole_source_153/ex/guacamole-auth-jdbc-1.5.5/mysql/schema/upgrade ls -la # es ist kein DB Upgrade Skript vorhanden, ansonsten müssten wir eins nach dem anderen einspielen bis zu unsere aktuellen Version
cd /etc/guacamole/extensions/ ls -la
In meiner Umgebung muss nur „guacamole-history-recording-storage-1.5.0.jar“ upgegraded werden:
cd /srv/guacamole_source_155 mkdir ex cd ex wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-history-recording-storage-1.5.5.tar.gz tar -xvf guacamole-history-recording-storage-1.5.5.tar.gz cd /srv/guacamole_source_153/ex/guacamole-history-recording-storage-1.5.3/ # Adapter hinterlegen mv /etc/guacamole/extensions/guacamole-history-recording-storage-1.5.0.jar /tmp cp guacamole-history-recording-storage-1.5.3.jar /etc/guacamole/extensions/ ls -la /etc/guacamole/extensions/
Tomcat starten:
systemctl start tomcat
Testauf über http://<your-Server>:8080/guacamole-1.5.3/#/
Nun haben wir eine erste im Prinzip funktionierende Umgebung und können mit den ersten Tests beginnen.