====== 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]] \\