GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le client de bureau à distance Guacamole basé sur le Web sur Ubuntu 18.04 LTS

Si vous êtes un administrateur système et responsable de la gestion des machines Windows et Linux, vous aurez souvent besoin d'un logiciel client de bureau à distance pour les gérer. Apache Guacamole est une application de bureau à distance gratuite, open source et basée sur le Web qui vous permet d'accéder à vos ordinateurs de bureau via un navigateur Web. Il s'agit d'une application Web HTML5 sans client qui prend en charge les protocoles standard tels que VNC, RDP et SSH. Vous n'avez pas besoin d'installer de logiciel client ou de plugins sur le serveur. Avec Guacamole, vous pouvez facilement basculer entre plusieurs ordinateurs de bureau distants avec la même fenêtre de navigateur.

Dans ce didacticiel, nous montrerons comment installer la passerelle de bureau à distance Apache Guacamole sur le serveur Ubuntu 18.04 LTS.

Prérequis

  • Un serveur exécutant Ubuntu 18.04.
  • Un mot de passe root est configuré sur votre serveur.

Mise en route

Avant de commencer, c'est une bonne idée de mettre à jour le package de votre système vers la dernière version. Vous pouvez les mettre à jour à l'aide de la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois tous les packages mis à jour, redémarrez votre système pour appliquer les modifications.

Installer les dépendances requises

Avant de commencer, vous devrez installer certaines dépendances dans votre système pour compiler Guacamole à partir de la source. Vous pouvez tous les installer à l'aide de la commande suivante :

apt-get install gcc-6 g++-6 libossp-uuid-dev libavcodec-dev libpango1.0-dev libssh2-1-dev libcairo2-dev libjpeg-turbo8-dev libpng-dev libavutil-dev libswscale-dev libfreerdp-dev libvncserver-dev libssl-dev libvorbis-dev libwebp-dev -y

Une fois tous les packages installés, vous pouvez passer à l'étape suivante.

Installer le serveur Tomcat

Ensuite, vous devrez installer Tomcat sur votre serveur pour servir le contenu du client guacamole aux utilisateurs qui se connectent au serveur guacamole via le navigateur Web. Vous pouvez l'installer à l'aide de la commande suivante :

apt-get install tomcat8 tomcat8-admin tomcat8-common tomcat8-user -y

Une fois Tomcat installé, vous pouvez passer à l'étape suivante.

Installer le serveur Guacamole

Guacamole est séparé en deux composants, guacamole-server qui fournit le proxy guacd et les bibliothèques associées, et guacamole-client qui fournit le client devant être servi par votre serveur Tomcat. Par défaut, Guacamole Server n'est pas disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous devrez donc le compiler à partir de la source.

Tout d'abord, téléchargez la dernière version de Guacamole source à l'aide de la commande suivante :

wget http://apachemirror.wuchna.com/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

tar -xvzf guacamole-server-1.1.0.tar.gz

Ensuite, remplacez le répertoire par le répertoire extrait et configurez-le avec la commande suivante :

cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d

Une fois la configuration réussie, vous devriez obtenir le résultat suivant :

   Library status:

     freerdp2 ............ no
     pango ............... yes
     libavcodec .......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... no
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ no
     libwebsockets ....... no
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      Kubernetes .... no
      RDP ........... no
      SSH ........... yes
      Telnet ........ no
      VNC ........... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes
      guaclog .... yes

   FreeRDP plugins: no
   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.

Ensuite, exécutez la commande suivante pour compiler guacamole-server :

make

Une fois la compilation terminée avec succès, vous pouvez l'installer avec la commande suivante :

make install

Une fois installé, exécutez la commande suivante pour mettre à jour le cache des bibliothèques installées de votre système

ldconfig

Ensuite, activez le service Guacamole pour qu'il démarre au démarrage et démarrez-le avec la commande suivante :

systemctl enable guacd
systemctl start guacd

Vous pouvez également vérifier l'état du service Guacamole avec la commande suivante :

systemctl status guacd

Vous devriez obtenir le résultat suivant :

? guacd.service - LSB: Guacamole proxy daemon
   Loaded: loaded (/etc/init.d/guacd; generated)
   Active: active (running) since Sat 2020-04-11 14:48:03 UTC; 7s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 28833 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 2359)
   CGroup: /system.slice/guacd.service
           ??28847 /usr/local/sbin/guacd -p /var/run/guacd.pid

Apr 11 14:48:03 ubuntu1804 systemd[1]: Starting LSB: Guacamole proxy daemon...
Apr 11 14:48:03 ubuntu1804 guacd[28834]: Guacamole proxy daemon (guacd) version 1.1.0 started
Apr 11 14:48:03 ubuntu1804 guacd[28833]: Starting guacd: guacd[28834]: INFO:        Guacamole proxy daemon (guacd) version 1.1.0 started
Apr 11 14:48:03 ubuntu1804 guacd[28833]: SUCCESS
Apr 11 14:48:03 ubuntu1804 systemd[1]: Started LSB: Guacamole proxy daemon.
Apr 11 14:48:03 ubuntu1804 guacd[28847]: Listening on host 127.0.0.1, port 4822

Installer le client Guacamole

Ensuite, vous devrez installer le client Guacamole sur votre serveur. Le client Guacamole est écrit en Java et est multiplateforme. Cela constituera l'application HTML5 finale qui vous sera présentée.

Tout d'abord, téléchargez le fichier binaire Guacamole avec la commande suivante :

wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war

Une fois le téléchargement terminé, copiez-le dans le répertoire /etc/guacamole :

mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war

Créez ensuite un lien symbolique du client guacamole vers le répertoire des applications Web de Tomcat avec la commande suivante :

ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/

Enfin, redémarrez le service Tomcat et Guacamole pour déployer la nouvelle application Web

systemctl restart tomcat8
systemctl restart guacd

Configurer Guacomole

Après avoir installé Guacamole, vous devez configurer les utilisateurs et les connexions afin de faire fonctionner correctement Guacamole.

Tout d'abord, créez un fichier de configuration principal Guacamole nommé guacamole.properties.

nano /etc/guacamole/guacamole.properties

Ajoutez les lignes suivantes :

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml

Enregistrez et fermez le fichier. Ensuite, créez un répertoire lib et extensions avec la commande suivante :

mkdir /etc/guacamole/{extensions,lib}

Ensuite, la variable d'environnement du répertoire de base de guacamole dans le fichier de configuration par défaut de tomcat8.

echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat8

La méthode d'authentification par défaut de Guacamole lit tous les utilisateurs et connexions à partir d'un seul fichier appelé user-mapping.xml. Ce fichier définira l'utilisateur autorisé à accéder à l'interface utilisateur Web de Guacamole, les serveurs auxquels se connecter et la méthode de connexion.

Tout d'abord, générez un hachage md5 pour le mot de passe avec la commande suivante :

echo -n yoursecurepassword | openssl md5

Vous devriez obtenir le résultat suivant :

(stdin)= 55b38b03e7587a45fd886977842ff9b8

Remarque :Souvenez-vous de ce hachage, vous devrez le spécifier dans le fichier user-mapping.xml.

Ensuite, créez un nouveau user-mapping.xml avec la commande suivante :

nano /etc/guacamole/user-mapping.xml

Ajoutez les lignes suivantes :

<user-mapping>
    <authorize 
            username="admin"
            password="55b38b03e7587a45fd886977842ff9b8"
            encoding="md5">

        <connection name="Ubuntu-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.0.150</param>
            <param name="port">22<param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.0.100</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Tomcat et Guacamole pour appliquer les modifications :

systemctl restart tomcat8
systemctl restart guacd

Accéder à l'interface Web Guacamole

À ce stade, le serveur Guacamole est installé et configuré. Il est maintenant temps d'y accéder via un navigateur Web.

Ouvrez votre navigateur Web et tapez l'URL http://your-server-ip:8080/guacamole/. Vous serez redirigé vers la page de connexion d'Apache Guacamole :

Fournissez le nom d'utilisateur et le mot de passe que vous avez spécifiés dans le fichier user-mapping.xml et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord par défaut d'Apache Guacamole avec toutes les connexions :

Maintenant, cliquez sur Ubuntu-Server et vous serez invité à entrer le mot de passe de l'utilisateur que vous avez défini dans user-mapping.xml comme indiqué ci-dessous :

Indiquez le mot de passe de votre système et appuyez sur Entrée . Vous serez connecté au serveur Ubuntu comme indiqué ci-dessous :

Configurer Nginx en tant que proxy inverse pour Guacamole

Ensuite, vous devrez configurer le Nginx en tant que proxy inverse pour accéder au tableau de bord Guacamole. Tout d'abord, installez le serveur Web Nginx à l'aide de la commande suivante :

apt-get install nginx -y

Une fois installé, créez un nouveau fichier de configuration d'hôte virtuel Nginx :

nano /etc/nginx/sites-available/guacamole.conf

Ajoutez les lignes suivantes :

server {
        listen 80;
        server_name your-server-ip;
        access_log  /var/log/nginx/guac_access.log;
        error_log  /var/log/nginx/guac_error.log;

        location / {
                    proxy_pass http://your-server-ip:8080/guacamole/;
                    proxy_buffering off;
                    proxy_http_version 1.1;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection $http_connection;
                    proxy_cookie_path /guacamole/ /;
        }

}

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, activez l'hôte virtuel Nginx avec la commande suivante :

ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/

Ensuite, vérifiez le Nginx pour toute erreur de syntaxe avec la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Enfin, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

Maintenant, vous pouvez accéder à l'interface Web de Guacamole en utilisant l'URL http://your-server-ip.

Conclusion

Toutes nos félicitations! vous avez installé avec succès la passerelle de bureau à distance Guacamole sur le serveur Ubuntu 18.04. Vous pouvez maintenant ajouter un autre serveur distant que vous souhaitez gérer à distance via un navigateur Web.


Ubuntu
  1. Comment installer le client de bureau à distance Guacamole basé sur le Web sur Ubuntu 20.04 LTS

  2. Comment installer le bureau Ubuntu 20.04 LTS

  3. Comment installer Dropbox dans le bureau Ubuntu 18.04 LTS

  4. Comment installer le client Mattermost sur Ubuntu 18.04

  5. Comment installer Xrdp (Remote Desktop) sur Ubuntu 20.04 LTS

Comment installer le client de bureau WordPress sur Ubuntu 20.04

Comment installer TeamViewer sur Ubuntu 16.04 LTS

Comment installer Chrome Remote Desktop sur Ubuntu 20.04 LTS

Comment installer le client de bureau Remmina sur Ubuntu 20.04 LTS

Comment installer le client de bureau à distance Remmina dans Ubuntu Linux

Comment installer Guacamole sur Ubuntu 20.04