GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Guacamole est un panneau de contrôle de bureau à distance gratuit, open source et basé sur le Web, utilisé pour gérer les systèmes Linux et Windows à partir du navigateur Web. Il prend en charge les protocoles standard tels que VNC, RDP, SSH et Kubernetes, et vous n'avez pas besoin d'installer de logiciel sur l'ordinateur client. Il prend en charge le presse-papiers, le transfert de fichiers via SFTP et vous permet de gérer plusieurs sessions de bureau à distance.

Dans ce tutoriel, nous allons vous montrer comment installer et configurer le client de bureau à distance Guacamole sur le serveur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04 avec au moins 2 Go de RAM.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Tout d'abord, vous devrez mettre à jour votre système vers la dernière version stable. Vous pouvez le faire en mettant à jour tous les packages système à l'aide de la commande suivante :

apt-get update -y

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

Installer les dépendances requises

Tout d'abord, vous devrez installer certaines dépendances sur votre serveur pour compiler le Guacamole à partir des sources. Vous pouvez tous les installer avec la commande suivante :

apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y

Une fois toutes les dépendances installées, vous pouvez passer à l'étape suivante.

Installer le serveur Tomcat

Guacamole utilise Tomcat pour servir le contenu du client guacamole aux utilisateurs qui se connectent au serveur guacamole via le navigateur Web. Le serveur Tomcat doit donc être installé sur votre serveur. S'il n'est pas installé, vous pouvez l'installer avec la commande suivante :

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

Après avoir installé le serveur Tomcat, démarrez le service Tomcat et activez-le pour qu'il démarre au redémarrage du système avec la commande suivante :

systemctl start tomcat9
systemctl enable tomcat9

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

systemctl status tomcat9

Vous devriez obtenir le résultat suivant :

? tomcat9.service - Apache Tomcat 9 Web Application Server
     Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-08-25 14:48:50 UTC; 29min ago
       Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
    Process: 27982 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS)
   Main PID: 27990 (java)
      Tasks: 38 (limit: 4691)
     Memory: 241.5M
     CGroup: /system.slice/tomcat9.service
             ??27990 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.l>

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer Guacamole

Par défaut, le package Guacamole n'est pas disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous devrez donc le compiler à partir de la source.

Tout d'abord, téléchargez la dernière version du Guacamole à partir du site Web d'Apache à l'aide de la commande suivante :

wget https://downloads.apache.org/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 exécutez le script de configuration pour vérifier si une dépendance requise est manquante ou non :

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

Si tout va bien, vous devriez voir le résultat suivant :

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

   Protocol support:

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

   Services / tools:

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

   FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2
   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.

Maintenant, compilez et installez Guacamole Server en exécutant la commande suivante :

make
make install

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

ldconfig

Ensuite, activez et démarrez le service Guacamole à l'aide de la commande suivante

systemctl enable guacd
systemctl start guacd

Vous pouvez maintenant 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 Tue 2020-08-25 12:02:26 UTC; 4s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 27536 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 4691)
     Memory: 10.1M
     CGroup: /system.slice/guacd.service
             ??27555 /usr/local/sbin/guacd -p /var/run/guacd.pid

Aug 25 12:02:26 ubuntu2004 systemd[1]: Starting LSB: Guacamole proxy daemon...
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Guacamole proxy daemon (guacd) version 1.1.0 started
Aug 25 12:02:26 ubuntu2004 guacd[27536]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: uacd[27551]: INFO:        Guacamole proxy daemon (guacd) versio
Aug 25 12:02:26 ubuntu2004 systemd[1]: Started LSB: Guacamole proxy daemon.
Aug 25 12:02:26 ubuntu2004 guacd[27555]: Listening on host 127.0.0.1, port 4822
Aug 25 12:02:26 ubuntu2004 guacd[27536]: uacd[275

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

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 binaire Guacamole à l'aide de la commande suivante :

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

Après avoir téléchargé le binaire Guacamole, copiez-le dans le répertoire /etc/guacamole à l'aide de la commande suivante :

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/tomcat9/webapps/

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

systemctl restart tomcat9
systemctl restart guacd

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Guacomole

Ensuite, vous devez configurer les utilisateurs et les connexions afin de faire fonctionner Guacamole correctement.

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 lorsque vous avez terminé.

Ensuite, vous devrez créer des répertoires pour la bibliothèque et l'extension. Vous pouvez les créer avec la commande suivante :

mkdir /etc/guacamole/{extensions,lib}

Ensuite, définissez la variable d'environnement du répertoire de base de guacamole et ajoutez-la au fichier de configuration /etc/default/tomcat9.

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

Ensuite, vous devrez créer un fichier appelé user-mapping.xml pour définir l'utilisateur autorisé à accéder à l'interface utilisateur Web de Guacamole.

Avant de le créer, générez un hash md5 pour le mot de passe avec la commande suivante :

echo -n yoursecurepassword | openssl md5

Vous devriez voir le résultat suivant :

(stdin)= 55b38b03e7587a45fd886977842ff9b8

Remarque :Souvenez-vous du mot de passe md5 ci-dessus. Vous devrez le définir dans le fichier user-mapping.xml.

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

nano /etc/guacamole/user-mapping.xml
<user-mapping>
    <authorize 
            username="admin"
            password="55b38b03e7587a45fd886977842ff9b8"
            encoding="md5">

        <connection name="Ubuntu20.04-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.10.50</param>
            <param name="port">22</param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.10.51</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>

Enregistrez et fermez le fichier lorsque vous avez terminé.

Où :

  • 192.168.10.50 est l'adresse IP du serveur Ubuntu distant.
  • 192.168.10.51 est l'adresse IP du serveur Windows de suppression.

Ensuite, redémarrez le service Tomcat et Guacamole pour appliquer les modifications :

systemctl restart tomcat9
systemctl restart guacd

À ce stade, le serveur et le client Guacamole ont été installés et configurés.

Accéder à l'interface Web Guacamole

Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web Guacamole en utilisant l'URL http://your-server-ip:8080/guacamole. Vous serez redirigé vers la page de connexion de Guacamole :

Fournissez le nom d'utilisateur et le mot de passe que vous avez définis dans le user-mapping.xml fichier, et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord Guacamole sur la page suivante :

Maintenant, cliquez sur Ubuntu20.04-Server pour connecter le serveur distant en utilisant le protocole SSH. Vous devriez voir l'écran de connexion du serveur Ubuntu comme indiqué ci-dessous :

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

Configurer Nginx pour Guacamole

Il est recommandé de configurer le Nginx en proxy inverse pour accéder au Guacamole via le port 80.

Tout d'abord, installez le serveur Web Nginx à l'aide de la commande suivante :

apt-get install nginx -y

Après avoir installé Nginx, 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, redémarrez le service Nginx pour appliquer les modifications de configuration :

systemctl restart nginx

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

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès le client de bureau à distance Guacamole sur le serveur Ubuntu 20.04. Vous pouvez maintenant ajouter plus de connexions RDP ou VNC à votre Guacamole et commencer à les gérer à partir de l'interface Web.


Ubuntu
  1. Comment installer le client de bureau à distance Guacamole basé sur le Web sur Ubuntu 18.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