Installation d'Apache Guacamole (v1.6.0)
Source : Documentation officielle Apache Guacamole
Contexte d'installation
Cette documentation utilise la distribution Linux Debian 12.
1 - Installation
1.1 - Installation des librairies
sudo apt install -y make libcairo2-dev libjpeg62-turbo-dev libpng-dev libtool-bin uuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev
1.2 - Installation de guacamole-server (guacd)
Astuce
Pour effectuer les extractions, on se placera systématiquement dans le répertoire /tmp, qui sera vidé à chaque redémarrage de la machine.
# On se place dans le répertoire /tmp
cd /tmp
# Téléchargement de guacamole-server
wget https://dlcdn.apache.org/guacamole/1.6.0/source/guacamole-server-1.6.0.tar.gz
# Extraction du fichier
tar -xzf guacamole-server-1.6.0.tar.gz
# On se place dans le dossier guacamole-server-1.6.0
cd guacamole-server-1.6.0
Exécutez les commandes ci-dessous une par une :
sudo ./configure --with-systemd-dir=/usr/local/lib/systemd/system
sudo make
sudo make install
sudo ldconfig
1.3 - Installation de tomcat9
On ajoute le dépôt Debian 11 pour installer tomcat9, en créant le fichier /etc/apt/sources.list.d/bullseye.list :
| bullseye.list | |
|---|---|
On actualise la liste des paquets et on installe tomcat9 :
1.4 - Installation de guacamole-client
cd /tmp
wget https://dlcdn.apache.org/guacamole/1.6.0/binary/guacamole-1.6.0.war
sudo cp guacamole-1.6.0.war /var/lib/tomcat9/webapps/guacamole.war
2 - Configuration
2.1 - Création des fichiers de configuration
# Création de l'arborescence dossier de configuration guacamole
sudo mkdir -p /etc/guacamole/{extensions,lib}
Créez le fichier /etc/guacamole/guacd.conf :
2.2 - Redirection automatique vers /guacamole
Lorsque l'on accède au serveur web sans préciser /guacamole dans l'URL, la page par défaut de tomcat9 apparaît.
Il est possible de remédier à cela en effectuant une modification dans le répertoire /var/lib/tomcat9/webapps/ROOT :
# Placement dans le répertoire
cd /var/lib/tomcat9/webapps/ROOT
# Suppression du fichier index.html
rm index.html
Créez ensuite un fichier index.jsp :
| index.jsp | |
|---|---|
2.3 - Base de données MariaDB
Installez la base de données MariaDB, puis sécurisez-la.
# Installation de MariaDB
sudo apt -y install mariadb-server
# Sécurisation du serveur MariaDB
sudo mysql_secure_installation
Dans MariaDB, créez une base de données destinée à Guacamole :
Informations de la base de données Guacamole / MariaDB
Remplacez les variables ci-dessous par votre propre valeur :
| Variable | Définition | Exemple |
|---|---|---|
guacadb |
Nom de la base de données pour Guacamole | guacamole_db_prod |
guacauser |
Nom de l'utilisateur MariaDB | guacamole_user_prod |
guacapassword |
Mot de passe de l'utilisateur | #v2i!j%KYECL@w523yD#kdZ9fgmT@U^L |
Une fois connecté la console MariaDB, exécutez le script ci-dessous (en ayant remplacé les variables) :
-- Création de la base de données
CREATE DATABASE guacadb;
-- Création de l'utilisateur et affectation des pleins pouvoirs à la base de données
GRANT ALL PRIVILEGES ON guacadb.* TO 'guacauser'@'localhost' IDENTIFIED BY 'guacapassword';
-- Actualisation des permissions
FLUSH PRIVILEGES;
-- Quittez MariaDB
EXIT;
Téléchargez l'extension Guacamole pour l'authentification via MariaDB :
cd /tmp
wget https://downloads.apache.org/guacamole/1.6.0/binary/guacamole-auth-jdbc-1.6.0.tar.gz
tar -xzf guacamole-auth-jdbc-1.6.0.tar.gz
sudo cp guacamole-auth-jdbc-1.6.0/mysql/guacamole-auth-jdbc-mysql-1.6.0.jar /etc/guacamole/extensions/
Importez la structure de la base de données Guacamole :
Téléchargez le connecteur MariaDB, puis copiez le fichier .jar dans /etc/guacamole/lib :
cd /tmp
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.3.0.tar.gz
tar -xzf mysql-connector-j-9.3.0.tar.gz
sudo cp mysql-connector-j-9.3.0/mysql-connector-j-9.3.0.jar /etc/guacamole/lib/
Créez le fichier /etc/guacamole/guacamole.properties et saisissez les informations de la base de connexion MariaDB :
| guacamole.properties | |
|---|---|
3 - Redémarrage des services
Vous pouvez désormais redémarrer les services tomcat9 et guacd.
Un reboot du serveur également ne mange pas de pain !
Installé !
Votre Guacamole devrait être accessible à l'adresse http://serveur:8080/guacamole
Informations de connexion
- Les identifiants de connexion par défaut sont
guacadmin/guacadmin.
Avertissement
Il est vivement conseillé de changer ces informations d'identification par défaut.
Astuce
Grâce au fichier index.jsp, vous serez également redirigé si vous tentez d'accéder à Guacamole l'adresse http://serveur:8080/ (sans le /guacamole).