=====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 => [[linux:oracle_linux_8_guacamole|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 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://:8080/guacamole-1.5.3/#/** Nun haben wir eine erste im Prinzip funktionierende Umgebung und können mit den ersten Tests beginnen. ----