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