====== Install Guacamole MySQL ======
Authentification et droits stocké par DataBase MySQL
===== Install Client/Serveur =====
==== Install / Update system ====
sudo apt update
sudo apt upgrade -y
==== Installation Dépendances/Paquets ====
=== Ubuntu : ===
sudo apt-get install libcairo2-dev libjpeg-turbo8-dev libpng12-dev libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev mariadb-server tomcat8 libmysql-java build-essential
=== Debian : ===
sudo apt-get install libcairo2-dev libjpeg62-turbo-dev libpng12-dev libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev mariadb-server tomcat8 libmysql-java build-essential
=== En cas erreur : ===
\\
Si libjpeg-turbo n'est pas disponible sur votre plate-forme et que vous ne souhaitez pas le construire à partir des sources, libjpeg fonctionnera également, même ceci ne sera pas aussi rapide:
sudo apt-get install libjpeg62-dev
Si libpng12-dev n'est pas disponible sur votre plate-forme et que vous ne souhaitez pas le construire à partir des sources, libpng-dev fonctionnera également.
sudo apt-get install libpng-dev
==== Guacamole-Server ====
=== Se déplacer dans le dossier temporaire et télécharger guacamole-server puis décompression de l’archive ===
cd /tmp
wget http://mirrors.ircam.fr/pub/apache/guacamole/1.0.0/source/guacamole-server-1.0.0.tar.gz
tar -xzf guacamole-server-1.0.0.tar.gz
=== Se déplacer dans le dossier guacamole-server et lancer la compilation, puis vérifier les librairies présentes et leur appliquer les bons paramètres ===
cd guacamole-server-1.0.0/
./configure --with-init-dir=/etc/init.d
=== Ce qui est important de vérifier c’est si vous avez tous les protocoles pris en charge ainsi que les deux services ===
Protocol support:
RDP ....... yes
SSH ....... yes
Telnet .... yes
VNC ....... yes
Services / tools:
guacd ...... yes
guacenc .... yes
=== Si tout est ok, on peux compiler puis installer ===
make
make install
=== On met à jour les caches systèmes des librairies installées (ldconfig crée les liens nécessaires et met en cache les bibliothèques partagées les plus récentes trouvées dans les répertoires) ===
ldconfig
=== Création du service guacd pour pouvoir utiliser les commandes service guacd {start-stop-restart} ===
systemctl enable guacd
=== Création de trois dossiers permettant une configuration plus simple ===
mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions
==== Guacamole-Client ====
=== Télécharger un fichier tout fait (Eviter de compiler guacamole-client sois même !) ===
cd /tmp
wget http://apache.crihan.fr/dist/guacamole/1.0.0/binary/guacamole-1.0.0.war
=== Déplacer le fichier précédent dans le dossier /etc/guacamole et création des liens symboliques pour l’intégrer dans Tomcat, configurer la librairies freerdp et le connecteur java mysql ===
mv guacamole-1.0.0.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
mkdir /usr/lib/x86_64-linux-gnu/freerdp/
ln -s /usr/local/lib/freerdp/guac*.so /usr/lib/x86_64-linux-gnu/freerdp/
ln -s /usr/share/java/mysql-connector-java.jar /etc/guacamole/lib/
ln -s /etc/guacamole /var/lib/tomcat8/webapps/.guacamole
=== Télécharger l’extension de base de donnée mysql puis la placer dans le dossier /etc/guacamole/extension ===
cd /tmp
wget http://mirror.ibcp.fr/pub/apache/guacamole/1.0.0/binary/guacamole-auth-jdbc-1.0.0.tar.gz
tar -xvf guacamole-auth-jdbc-1.0.0.tar.gz
cp guacamole-auth-jdbc-1.0.0/mysql/guacamole-auth-jdbc-mysql-1.0.0.jar /etc/guacamole/extensions/
==== Config Guacamole client ====
=== Créer et Editer guacamole.properties ===
nano /etc/guacamole/guacamole.properties
=== Puis mettre la configuration pour la connexion à la base mysql (A remplacer par vos identifiant) : ===
# Auth provider class
auth-provider: net.sourceforge.guacamole.net.auth.mysql.MySQLAuthenticationProvider
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: guacamole_user
PS: Les informations sont dans le cadre du labo, vous aurez différentes valeurs.
===== Install DataBase =====
==== Install MariaDB ====
sudo apt-get install mariadb-server
==== Sécurisation de MariaDB ====
mysql_secure_installation
Enter current password for root (enter for none): (appuyer sur enter car pas de password par défaut)
Set root password? [Y/n] Y
New password:
Re-enter new password:
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
===== Install Finale =====
==== Connexion/Config MySQL ====
=== Connexion à la base mysql ===
mysql -u root -p
=== Création de la base guacamole et utilisateur ===
create database guacamole_db;
create user 'guacamole_user'@'localhost' identified by 'P@$$w0rd';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
flush privileges;
quit
PS: Là encore les informations dépendent de chacun. \\
\\
=== Copie schémas tables MySQL ===
cat guacamole-auth-jdbc-1.0.0/mysql/schema/*.sql | mysql -P 3306 -h localhost -u root -pP@$$w0rd guacamole_db
==== Restart service Tomcat ====
service tomcat8 restart
==== Restart service guacd ====
service guacd start
==== Ouverture PORT par-feu ====
sudo ufw allow 22
sudo ufw allow 80/tcp
sudo ufw allow 3389
sudo ufw allow 443/tcp
sudo ufw enable
=== Installation terminée, rendez-vous dans votre navigateur à l’adresse suivante ===
http://FQDN_or_IP_GUACAMOLE_SERVER:8080/guacamole/
\\
Les identifiants par défaut sont: **guacadmin** / **guacadmin**
\\
===== Sources : =====
\\
[[https://guacamole.apache.org/doc/1.0.0/gug/installing-guacamole.html]] \\
[[https://github.com/MysticRyuujin/guac-install]] \\
[[https://github.com/thimslugga/guac-install]] \\
[[https://www.tutos.snatch-crash.fr/guacamole-passerelle-rdp-ssh-vnc-telnet/]] \\
[[https://www.vultr.com/docs/create-an-html-5-rdp-ssh-frontend-using-guacamole-on-ubuntu-16-04-lts#Step_2___Installing_Guacamole]] \\
[[https://deviant.engineer/2016/11/guacamole-incubator-centos7/]] \\
[[https://deviant.engineer/2013/10/guacamole/]] \\
[[https://guacamole.apache.org/doc/gug/jdbc-auth.html]] \\
[[https://kifarunix.com/how-to-install-and-setup-guacamole-on-debian-9-8/]] \\
[[https://guacamole.apache.org/doc/gug/proxying-guacamole.html]] \\
[[https://guacamole.apache.org/doc/0.9.0/gug/mysql-auth.html]] \\
[[https://tecadmin.net/install-tomcat-9-on-ubuntu/]] \\
[[https://www.tech2tech.fr/apache-guacamole-passerelle-rdp-ssh-vnc-telnet/]]
[[https://www.howtoforge.com/how-to-install-and-configure-guacamole-on-ubuntu-2004/]] \\
[[https://www.howtoforge.com/how-to-install-and-configure-guacamole-on-ubuntu-2004/#configure-guacomole]] \\