prive:linux:app-service:guacamole

Install Guacamole MySQL

Note: Authentification et droits stocké par DataBase MySQL

sudo apt update
sudo apt upgrade -y

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 :

Important:
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
</bootnote>

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

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/

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.

sudo apt-get install mariadb-server
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

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
service tomcat8 restart
service guacd start
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


Note: Les identifiants par défaut sont: guacadmin / guacadmin


  • prive/linux/app-service/guacamole.txt
  • Dernière modification : 2024/09/11 13:37
  • de 127.0.0.1