debian:guacamole-debian:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
debian:guacamole-debian:start [2017/08/14 10:57] – [Vorbereitungen für das Upgrade] michaeldebian:guacamole-debian:start [2019/08/06 15:49] (current) – [Vorbereitungen für Guacamole] michael
Line 8: Line 8:
 ---- ----
  
-===== Installation von Guacamole 0.9.11 ===== +===== Installation von Guacamole 0.9.13 ===== 
-**Die folgende Installation wurde für Ubuntu 16.04 geschrieben.** //<wrap em>ACHTUNG:</wrap> Wird Guacamole noch auf einem Ubuntu 14.04 installiert, so muss als Webserver Tomcat7 anstelle von Tomcat8 verwendet werden.//+**Die folgende Installation wurde für Ubuntu 16.04 / Debian 9 geschrieben.** //<wrap em>ACHTUNG:</wrap> Wird Guacamole auf Ubuntu 14.04 installiert, so muss als Webserver Tomcat7 anstelle von Tomcat8 verwendet werden.//
  
 ==== Vorbereitungen für Guacamole ==== ==== Vorbereitungen für Guacamole ====
 Um überhaupt einen funktionierenden Betrieb von Guacamole zu gewährleisten, werden zu Beginn erst einmal alle //von Guacamole gebrauchten Päckli// installiert: Um überhaupt einen funktionierenden Betrieb von Guacamole zu gewährleisten, werden zu Beginn erst einmal alle //von Guacamole gebrauchten Päckli// installiert:
 <code> <code>
-# apt-get install -y libjpeg-dev libcairo2-dev libossp-uuid-dev libpng12-dev libfreerdp-dev libssh2-1-dev libssh-dev libwebp-dev libpulse-dev libavcodec-dev libavutil-dev libswscale-dev libpango1.0-dev libvncserver-dev maven tomcat8 tomcat8-admin tomcat8-user default-jdk default-jre java-common mysql-server libtool dh-autoreconf git libvorbis-dev+# apt-get install -y libjpeg-dev libcairo2-dev libossp-uuid-dev libpng-dev libfreerdp-dev libssh2-1-dev libssh-dev libwebp-dev libpulse-dev libavcodec-dev libavutil-dev libswscale-dev libpango1.0-dev libvncserver-dev maven tomcat8 tomcat8-admin tomcat8-user default-jdk default-jre java-common mariadb-server libtool dh-autoreconf git libvorbis-dev
 </code> </code>
  
Line 21: Line 21:
 <WRAP center box 100%> <WRAP center box 100%>
  
 +<wrap em>Generieren eines neuen MaiaDB-Root Passwortes:</wrap>
 <code> <code>
 +# openssl rand -base64 30 > /root/.mariadb-root-pw && cat /root/.mariadb-root-pw
 +</code>
 +
 +<sxh plain; gutter: false;>
 +Tb/qprITSryJDHEp29XHr7/IuxMxZhGke/LZXEEJ
 +</sxh>
 +
 +<code>
 +# systemctl start mysql.service
 +# systemctl enable mysql.service
 +
 # mysql_secure_installation # mysql_secure_installation
 </code> </code>
  
 <sxh plain; gutter: false;> <sxh plain; gutter: false;>
-Change the root password? [Y/n] n +Enter current password for root (enter for none): Enter 
-Remove anonymous users? [Y/n] y +Set root password? [Y/n]: Y 
-Disallow root login remotely? [Y/n] y +New password: ****************************** 
-Remove test database and access to it? [Y/n] y +Re-enter new password: ****************************** 
-Reload privilege tables now? [Y/n] y+Remove anonymous users? [Y/n]: Y 
 +Disallow root login remotely? [Y/n]: Y 
 +Remove test database and access to it? [Y/n]: Y 
 +Reload privilege tables now? [Y/n]: Y
  
 All done! All done!
Line 41: Line 56:
 # mkdir ~/build ; cd ~/build # mkdir ~/build ; cd ~/build
  
-# wget https://www.blackgate.org/guac/guacamole-0.9.11-incubating.war +# wget https://www.blackgate.org/guac/guacamole-0.9.13-incubating.war 
-# wget https://www.blackgate.org/guac/guacamole-auth-jdbc-0.9.11-incubating.tar.gz +# wget https://www.blackgate.org/guac/guacamole-auth-jdbc-0.9.13-incubating.tar.gz 
-# wget https://www.blackgate.org/guac/guacamole-server-0.9.11-incubating.tar.gz +# wget https://www.blackgate.org/guac/guacamole-server-0.9.13-incubating.tar.gz 
-# wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.40.tar.gz+# wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.44.tar.gz
 </code> </code>
  
Line 50: Line 65:
  
 ==== Kompilieren des Guacd - Servers ==== ==== Kompilieren des Guacd - Servers ====
-Als erstes wir das tar Archiv, indem sich der **Server Sourcecode** befindet lokal entpackt und anschliessend **kompiliert** und **installiert**. Darauf folgend erstellen wir noch zwei wichtige Verzeichnisse die von unserem Server später gebraucht werden.+Als erstes wird das tar Archiv, indem sich der **Server Sourcecode** befindet lokal entpacktanschliessend **kompiliert** und **installiert**. Darauf folgend erstellen wir zwei wichtige Verzeichnisse die von unserem Server später gebraucht werden.
  
 <code> <code>
-# tar -xzf guacamole-server-0.9.11-incubating.tar.gz +# tar -xvf guacamole-server-0.9.13-incubating.tar.gz 
-# cd guacamole-server-0.9.11-incubating/+# cd guacamole-server-0.9.13-incubating/
  
 # ./configure --with-init-dir=/etc/init.d # ./configure --with-init-dir=/etc/init.d
Line 62: Line 77:
  
 # mkdir -p /etc/guacamole/extensions  # mkdir -p /etc/guacamole/extensions 
-# mkdir -p /etc/guacamole/lib+# mkdir /etc/guacamole/lib
 </code> </code>
  
-//**WICHTIG:** RDP workaround aufgrund von directory Problemen unter Debian / Ubuntu://+//**WICHTIG:** RDP Workaround aufgrund von Kompatibilitätsproblemen unter Debian / Ubuntu://
 <code> <code>
 # mkdir /usr/lib/x86_64-linux-gnu/freerdp # mkdir /usr/lib/x86_64-linux-gnu/freerdp
Line 75: Line 90:
  
 ==== Einrichten der Guacamole Datenbank ==== ==== Einrichten der Guacamole Datenbank ====
 +
 In diesem Schritt wird mit dem **DB-root** Benutzer auf den **MySQL Server** verbunden und die Datenbank //**Guacamole**// erstellt und abgefüllt. Weiter wird aus Security Grünen einen eigenen Benutzer dazu erstellt, welcher ausschliesslich auf die Guacamole DB berechtigt wird. So wird verhindert, dass dieser Benutzer Veränderungen an der Server eigenen DB Struktur vornehmen kann.  In diesem Schritt wird mit dem **DB-root** Benutzer auf den **MySQL Server** verbunden und die Datenbank //**Guacamole**// erstellt und abgefüllt. Weiter wird aus Security Grünen einen eigenen Benutzer dazu erstellt, welcher ausschliesslich auf die Guacamole DB berechtigt wird. So wird verhindert, dass dieser Benutzer Veränderungen an der Server eigenen DB Struktur vornehmen kann. 
  
 <WRAP center box 100%> <WRAP center box 100%>
 <code> <code>
-# mysql -u root -p+# mysql -u root --password=$(cat /root/.mariadb-root-pw)
 </code> </code>
  
 <code> <code>
 CREATE DATABASE guacamole; CREATE DATABASE guacamole;
-CREATE USER 'guacamole'@'localhost' IDENTIFIED BY 'guacamolePW2';+CREATE USER 'guacamole'@'localhost' IDENTIFIED BY 'v2gjMrY/2XmgJwhNE56scymqTiC337XkVKOHtYw9';
 GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole'@'localhost'; GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole'@'localhost';
 FLUSH PRIVILEGES; FLUSH PRIVILEGES;
Line 91: Line 107:
 </WRAP> </WRAP>
  
- +Nun wird die Guacamole **//DB Authentifizierungs-Library// jdbc** entpackt, in die Installation integriert und anschliessend die Datenbank abgefüllt. Zum Schluss wird dann noch der offizielle MySQL Connector driver ebenfalls mit einbezogen.
-Hier wird das Guacamole **//DB Authentifizierungs-tool// jdbc** entpackt, in die Installation integriert und anschliessend die Datenbank abgefüllt. Zum Schluss wird dann noch der offizielle MySQL Connector driver ebenfalls mit einbezogen.+
  
 <code> <code>
-# tar -xzf guacamole-auth-jdbc-0.9.11-incubating.tar.gz +# tar -xvf guacamole-auth-jdbc-0.9.13-incubating.tar.gz 
-# cd guacamole-auth-jdbc-0.9.11-incubating/mysql/+# cd guacamole-auth-jdbc-0.9.13-incubating/mysql/
  
-# cp guacamole-auth-jdbc-mysql-0.9.11-incubating.jar /etc/guacamole/extensions/+# cp guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions/
 # cat schema/*.sql | mysql -u root -p guacamole # cat schema/*.sql | mysql -u root -p guacamole
 # cd ../.. # cd ../..
  
-# tar -zxvf mysql-connector-java-5.1.40.tar.gz +# tar -xvf mysql-connector-java-5.1.44.tar.gz 
-# cd mysql-connector-java-5.1.40 +# cd mysql-connector-java-5.1.44 
-# cp mysql-connector-java-5.1.40-bin.jar /etc/guacamole/lib/ +# cp mysql-connector-java-5.1.44-bin.jar /etc/guacamole/lib/ 
 +# cd ..
 </code> </code>
  
Line 111: Line 126:
  
 ==== Einrichten des Web-Clients ==== ==== Einrichten des Web-Clients ====
-Nun kann der Web-Client //(das User Interface)// von Guacamole auf dem System eingerichtet werden. Hierzu wird das selbstentpackende *.war File welches den Client beinhaltet ins Webverzeichnis von **Tomcat8** verlinkt. Zu guter letzt wird dann noch das Guacamole HOME als Tomcat-Umgebungsvariable festgelegt.+Nun kann der Web-Client //(das User Interface)// von Guacamole auf dem System eingerichtet werden. Hierzu wird das selbst-entpackende *.war File welches den Client beinhaltet ins Webverzeichnis von **Tomcat8** verlinkt. Zu guter letzt wird dann noch das Guacamole HOME als Tomcat-Umgebungsvariable festgelegt.
    
 <code> <code>
-# cp guacamole-0.9.11-incubating.war /etc/guacamole/guacamole.war+# cp guacamole-0.9.13-incubating.war /etc/guacamole/guacamole.war
 # ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/ # ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
 # mkdir /usr/share/tomcat8/.guacamole # mkdir /usr/share/tomcat8/.guacamole
Line 123: Line 138:
 </code> </code>
  
-**Befüllen der Haupt-Konfigurationsdatei** von Guacamole. Alle Änderungen die hier hineingeschrieben werden, überschreiben lediglich den default Wert von Guacamole. //(Würde also auch wenn keine DB Authentifizierung verwendet würde ohne etwas zu ergänzen funktionieren.)//+**Befüllen der Haupt-Konfigurationsdatei** von Guacamole. Alle Änderungen die hier hineingeschrieben werden, überschreiben lediglich den Default Wert von Guacamole. //(Würde also auch wenn keine DB Authentifizierung verwendet würde ohne etwas zu ergänzen funktionieren.)//
  
 <code> <code>
Line 135: Line 150:
 mysql-database: guacamole mysql-database: guacamole
 mysql-username: guacamole mysql-username: guacamole
-mysql-password: guacamolePW2+mysql-password: YOUR-PASSWORD
 </sxh> </sxh>
  
  
-//Zum Schluss, müssen die zwei Hauptdienste noch gestartet, respektive neugestartet werden!//+//Zum Schluss, müssen die zwei Hauptdienste noch enabled und gestartet werden!//
  
 <code> <code>
-service tomcat8 start +systemctl enable tomcat8.service guacd.service 
-service guacd start +systemctl start tomcat8 guacd
- +
-service tomcat8 restart +
-# service guacd restart+
 </code> </code>
  
Line 156: Line 168:
 <WRAP center round important 100%> <WRAP center round important 100%>
 <wrap em>//ACHTUNG: __Das Standard Passwort von Guacamole muss unbedingt noch geändert werden!__//</wrap> <wrap em>//ACHTUNG: __Das Standard Passwort von Guacamole muss unbedingt noch geändert werden!__//</wrap>
-  * **Username**: guacadmin      +  * ''**Username**: guacadmin''     
-  * **Passwort**: guacadmin+  * ''**Passwort**: guacadmin''
            
 </WRAP> </WRAP>
Line 177: Line 189:
 {{:debian:guacamole-debian:guac-update_logo.png?nolink&300|}} {{:debian:guacamole-debian:guac-update_logo.png?nolink&300|}}
  
-**WICHTIG:** Ein grosser unterschied besteht darin, dass der //__gesammte DB Create Part übersprungen wird__// und anstelle von diesem Abschnittes hier die Schritte aus dem Punkt ''**[[redhat:guacamole-redhat:start#mysql-db_upgrade|MySQL-DB Upgrade]]**'' durchgeführt werden.+**WICHTIG:** Ein grosser unterschied besteht darin, dass der //__gesammte DB Create Part übersprungen wird__// und anstelle von diesem Abschnittes hier die Schritte aus dem Punkt ''**[[debian:guacamole-debian:start#mysql-db_upgrade|MySQL-DB Upgrade]]**'' durchgeführt werden.
  
 ==== Vorbereitungen für das Upgrade ==== ==== Vorbereitungen für das Upgrade ====
Line 218: Line 230:
   - **Herunterladen der neuen Versionen** (''**Server**'', ''**WebClient**'', ''**jdbc**'' und //falls gebraucht// ''**duo**'') <code># cd ~/build   - **Herunterladen der neuen Versionen** (''**Server**'', ''**WebClient**'', ''**jdbc**'' und //falls gebraucht// ''**duo**'') <code># cd ~/build
  
-# wget https://www.blackgate.org/guac/guacamole-server-0.9.13-incubating.tar.gz +# wget https://www.blackgate.org/guac/guacamole-server-0.9.14.tar.gz 
-# wget https://www.blackgate.org/guac/guacamole-auth-jdbc-0.9.13-incubating.tar.gz+# wget https://www.blackgate.org/guac/guacamole-auth-jdbc-0.9.14.tar.gz
  
 ##DOWNLOAD JUST ONE VERSION, HARDENED BY MICHAEL OR ORIGINAL VERSION:## ##DOWNLOAD JUST ONE VERSION, HARDENED BY MICHAEL OR ORIGINAL VERSION:##
-# wget https://www.blackgate.org/guac/guacamole-0.9.13-incubating.war +# wget https://www.blackgate.org/guac/guacamole-0.9.14.war 
-# wget https://www.blackgate.org/guac/guacamole-0.9.13-incubating_hardened.war+# wget https://www.blackgate.org/guac/guacamole-0.9.14_hardened.war
  
-# wget https://www.blackgate.org/guac/guacamole-auth-duo-0.9.13-incubating.tar.gz</code> +# wget https://www.blackgate.org/guac/guacamole-auth-duo-0.9.14.tar.gz</code> 
-  - **Entpacken** des Server Sourcecodes und der Extentions <code># tar -xvf guacamole-server-0.9.13-incubating.tar.gz +  - **Entpacken** des Server Sourcecodes und der Extentions <code># tar -xvf guacamole-server-0.9.14.tar.gz 
-# tar -xvf guacamole-auth-jdbc-0.9.13-incubating.tar.gz+# tar -xvf guacamole-auth-jdbc-0.9.14.tar.gz
  
-# tar -xvf guacamole-auth-duo-0.9.13-incubating.tar.gz</code> +# tar -xvf guacamole-auth-duo-0.9.14.tar.gz</code> 
-  - Server **kompilieren** und **installieren**. <code># cd guacamole-server-0.9.13-incubating/+  - Server **kompilieren** und **installieren**. <code># cd guacamole-server-0.9.14/
  
 # ./configure --with-init-dir=/etc/init.d # ./configure --with-init-dir=/etc/init.d
Line 237: Line 249:
  
 # cd ..</code> # cd ..</code>
-  - Neue Versionen der Erweiterungen, aus den Source Ordnern in /ect/guacamole/extension kopieren! (z.B. auth-jdbc & auth-duo) <code> # cd guacamole-auth-jdbc-0.9.13-incubating/mysql/+  - Neue Versionen der Erweiterungen, aus den Source Ordnern in /ect/guacamole/extension kopieren! (z.B. auth-jdbc & auth-duo) <code> # cd guacamole-auth-jdbc-0.9.14/mysql/
  
-# cp guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions/+# cp guacamole-auth-jdbc-mysql-0.9.14.jar /etc/guacamole/extensions/
 # cd ../.. # cd ../..
  
-# cp guacamole-auth-duo-0.9.13-incubating/guacamole-auth-duo-0.9.13-incubating.jar /etc/guacamole/extensions/+# cp guacamole-auth-duo-0.9.14/guacamole-auth-duo-0.9.14.jar /etc/guacamole/extensions/
 </code> </code>
   - **Neuer WebClient** nach **/etc/guacamole/** kopieren und Symlinks erneuern. <wrap em>ACHTUNG: Nur eine Version kopieren!</wrap><code>##COPY JUST ONE VERSION, SAME YOU DESIDED ABOVE!: (HARDENED BY MICHAEL OR ORIGINAL VERSION)##    - **Neuer WebClient** nach **/etc/guacamole/** kopieren und Symlinks erneuern. <wrap em>ACHTUNG: Nur eine Version kopieren!</wrap><code>##COPY JUST ONE VERSION, SAME YOU DESIDED ABOVE!: (HARDENED BY MICHAEL OR ORIGINAL VERSION)## 
  
-# cp guacamole-0.9.13-incubating_hardened.war /etc/guacamole/guacamole.war +# cp guacamole-0.9.14_hardened.war /etc/guacamole/guacamole.war 
-# cp guacamole-0.9.13-incubating.war /etc/guacamole/guacamole.war+# cp guacamole-0.9.14.war /etc/guacamole/guacamole.war
  
-# ln -s /etc/guacamole/guacamole.war /var/lib/tomcat/webapps/+# ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
 </code> </code>
   - Falls nötig, **DB-Upgrade durchführen**. Ansonsten Dienste (wie unten beschrieben) wieder starten.   - Falls nötig, **DB-Upgrade durchführen**. Ansonsten Dienste (wie unten beschrieben) wieder starten.
  
 ==== MySQL-DB Upgrade ==== ==== MySQL-DB Upgrade ====
-Um nun ein MySQL Upgrade von **Version 0.9.11** auf **Version 0.9.13** durchzuführen, muss man wie folgt vorgehen: +Um nun ein MySQL Upgrade von **Version 0.9.13** auf **Version 0.9.14** durchzuführen, muss man wie folgt vorgehen:
- +
-<wrap em>Nur falls nötig durchführen! (für Version 0.9.12 nicht nötig)</wrap> +
  
 <code> <code>
-# cd guacamole-auth-jdbc-0.9.13-incubating/mysql/schema/upgrade+# cd guacamole-auth-jdbc-0.9.14/mysql/schema/upgrade
  
-# cat upgrade-pre-0.9.13.sql | mysql -u root -p guacamole+# cat upgrade-pre-0.9.14.sql | mysql -u root -p guacamole
 </code> </code>
  
  • debian/guacamole-debian/start.1502701043.txt.gz
  • Last modified: 2017/08/14 10:57
  • by michael