Apache Guacamole Update von 1.5.0 auf 1.5.5
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.
Apache Guacamole Server - Upgrade
Welche Version ist im Einsatz?
Die Version vom Demon guacd abfragen mit:
/usr/local/sbin/guacd -v Guacamole proxy daemon (guacd) version 1.5.0
Welche Version ist aktuell?
Auf der Webseite nachschauen unter https://guacamole.apache.org/releases/
Aktuell (04.2024) ist das die 1.5.5.
Upgrade Prozess
- Downtime mit dem Team vereinbaren
- Snapshot des Systems erzeugen
- Betriebssystem und Libraries updaten (dnf update , reboot)
- Apache Stack (httpd/tomcat) stoppen
- Guacamole Demon herunterfahren ( systemctl status guacd )
- Software neu übersetzen und deployen
- DB Schema updaten bei Bedarf
- Tomcat APP ausrollen/austauschen
- Konfig prüfen
- Verwendete Extensions erneuern
- Demon starten
- Apache httpd / Tomcat starten
- Testen
- Bei Bedarf Java/Tomcat updaten
Update OS und Libs
Snapshot der VM zuvor erstellen!
dnf update reboot
Umgebung stoppen
systemctl stop guacd systemctl stop tomcat
Code neu übersetzen
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
Guacamole Cient Installation
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
DB Update prüfen!
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
Extensions prüfen und upgraden bei Bedarf
cd /etc/guacamole/extensions/ ls -la
In meiner Umgebung muss nur „guacamole-history-recording-storage-1.5.0.jar“ upgegraded werden:
Plugin hinterlegen
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/
Neustart
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.