Guacamole · 7 min read · Nov 11, 2025

Instalar y usar Guacamole Remote Desktop en CentOS 8

Apache Guacamole es una aplicación de escritorio remoto gratuita, de código abierto, basada en la web y sin cliente que soporta protocolos estándar como VNC, RDP y SSH. Te permite acceder a PC con Linux y Windows desde un navegador web a través de RDP, SSH o VNC. No necesita cliente, por lo que no necesitas instalar ningún complemento o software cliente. Está compuesto por dos componentes: Guacamole Server y Guacamole Client. El servidor Guacamole proporciona los componentes nativos y del lado del servidor necesarios para conectarse a un PC remoto, mientras que el cliente Guacamole es una aplicación web HTML 5 utilizada para conectarse al PC remoto.

En este tutorial, te mostraremos cómo instalar el servidor Guacamole en CentOS 8.

Requisitos previos

  • Un servidor que ejecute CentOS 8.
  • Una contraseña de root configurada en el servidor.

Comenzando

Primero, necesitarás instalar algunos paquetes requeridos en tu servidor. Puedes instalarlos todos con el siguiente comando:

dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10

Después de instalar todos los paquetes requeridos, necesitarás habilitar el repositorio EPEL, PowerTools y Devel en tu sistema. Puedes habilitarlos con el siguiente comando:

dnf install epel-release -y  
dnf config-manager --set-enabled PowerTools  
dnf config-manager --enable Devel

A continuación, instala otras herramientas requeridas con el siguiente comando:

dnf install cairo-devel libuv-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool uuid-devel freerdp-devel pango-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libssh2-devel libtheora opus lame-libs

A continuación, desactiva el repositorio Devel con el siguiente comando:

dnf config-manager --disable Devel

A continuación, necesitarás compilar la biblioteca telnet en tu sistema.

Primero, descárgala con el siguiente comando:

curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | cut -d '"' -f 4 | wget -qi -

Una vez descargada, extrae el archivo descargado con el siguiente comando:

tar -xf libtelnet-*.tar.gz

A continuación, cambia al directorio extraído y configúralo con el siguiente comando:

cd libtelnet-*/  
./configure

A continuación, instálalo en tu sistema con el siguiente comando:

make   
make install

Una vez instalado, puedes proceder al siguiente paso.

Instalar Java

Guacamole es un software basado en Java, por lo que Java debe estar instalado en tu servidor. Si no está instalado, puedes instalarlo con el siguiente comando:

dnf install java-11-openjdk-devel

Una vez instalado, verifica la versión de Java usando el siguiente comando:

java -version

Deberías obtener la siguiente salida:

openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

Instalar Tomcat

Apache Tomcat se utiliza para servir el contenido del cliente Guacamole. Por lo tanto, necesitarás instalar Tomcat en tu servidor.

Primero, crea un usuario y grupo separado para Tomcat con el siguiente comando:

groupadd --system tomcat  
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat

A continuación, descarga la última versión de Tomcat con el siguiente comando:

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz

Una vez completada la descarga, extrae el archivo descargado con el siguiente comando:

tar -xvf apache-tomcat-9.0.43.tar.gz

A continuación, mueve Tomcat al directorio /usr/share

mv apache-tomcat-9.0.43 /usr/share/tomcat

A continuación, establece la propiedad adecuada en el directorio de Tomcat:

chown -R tomcat:tomcat /usr/share/tomcat/

Una vez que hayas terminado, puedes proceder al siguiente paso.

Crear un archivo de servicio Systemd para Tomcat

A continuación, necesitarás crear un archivo de servicio systemd para Tomcat. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/tomcat.service

Agrega las siguientes líneas:

[Unit]
Description=Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment='JAVA_OPTS=-Djava.awt.headless=true'
Environment=CATALINA_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target

Guarda y cierra el archivo, luego recarga el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicia el servicio Tomcat y habilítalo para que se inicie al reiniciar el sistema:

systemctl start tomcat  
systemctl enable tomcat

También puedes verificar el estado de Tomcat con el siguiente comando:

systemctl status tomcat

Deberías obtener la siguiente salida:

? tomcat.service - Tomcat Server
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-02-16 09:34:45 EST; 6s ago
  Process: 26546 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS)
 Main PID: 26551 (java)
    Tasks: 35 (limit: 12523)
   Memory: 89.7M
   CGroup: /system.slice/tomcat.service
           ??26551 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.man>

Feb 16 09:34:45 centos8 systemd[1]: Starting Tomcat Server...
Feb 16 09:34:45 centos8 systemd[1]: Started Tomcat Server.

Instalar Apache Guacamole

Primero, descarga la última versión de Guacamole con el siguiente comando:

wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz

Una vez completada la descarga, extrae el archivo descargado con el siguiente comando:

tar -xvzf guacamole-server-1.3.0.tar.gz

A continuación, cambia al directorio extraído y configúralo con el siguiente comando:

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

A continuación, instálalo en tu sistema con el siguiente comando:

make  
make install  
ldconfig

A continuación, recarga el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicia el servicio Guacamole y habilítalo para que se inicie al reiniciar el sistema:

systemctl start guacd  
systemctl enable guacd

Puedes verificar el estado de Guacamole con el siguiente comando:

systemctl status guacd

Deberías obtener la siguiente salida:

? guacd.service - LSB: Guacamole proxy daemon
   Loaded: loaded (/etc/rc.d/init.d/guacd; generated)
   Active: active (running) since Tue 2021-02-16 09:37:15 EST; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 35723 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 12523)
   Memory: 12.1M
   CGroup: /system.slice/guacd.service
           ??35726 /usr/local/sbin/guacd -p /var/run/guacd.pid

Feb 16 09:37:15 centos8 systemd[1]: Starting LSB: Guacamole proxy daemon...
Feb 16 09:37:15 centos8 guacd[35723]: Starting guacd: guacd[35724]: INFO:        Guacamole proxy daemon (guacd) version 1.3.0 started
Feb 16 09:37:15 centos8 guacd[35723]: SUCCESS
Feb 16 09:37:15 centos8 guacd[35726]: Listening on host 127.0.0.1, port 4822
Feb 16 09:37:15 centos8 systemd[1]: Started LSB: Guacamole proxy daemon.

Instalar el cliente Guacamole

A continuación, crea un directorio para Guacamole y descarga el archivo del cliente Guacamole con el siguiente comando:

mkdir /etc/guacamole  
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war

Una vez descargado, mueve el archivo descargado al directorio /etc/guacamole:

mv guacamole-1.3.0.war /etc/guacamole/guacamole.war

A continuación, crea un enlace simbólico del archivo guacamole.war al directorio /usr/share/tomcat:

ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/

A continuación, establece el directorio de inicio de Guacamole con el siguiente comando:

echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat

A continuación, crea un archivo de configuración de Guacamole con el siguiente comando:

nano /etc/guacamole/guacamole.properties

Agrega las siguientes líneas:

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml
auth-provider:    net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

Guarda y cierra el archivo, luego crea un enlace simbólico del directorio /etc/guacamole:

ln -s /etc/guacamole /usr/share/tomcat/.guacamole

Configurar Guacamole

A continuación, necesitarás crear un archivo de mapeo de usuario de Guacamole para definir el servidor remoto al que deseas conectarte desde Guacamole.

Primero, genera una contraseña secreta con el siguiente comando:

echo -n your-password | openssl md5

Deberías ver la siguiente salida:

(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2

A continuación, crea un archivo user-mapping.xml con el siguiente comando:

nano /etc/guacamole/user-mapping.xml

Agrega los detalles de tus servidores Windows y Linux remotos como se muestra a continuación:






        
            ssh
            69.87.218.51
            22

        

        
            rdp
            15.185.162.149
            3389
            administrator

        

    

Guarda y cierra el archivo, luego reinicia tanto el servicio Guacamole como el de Tomcat para aplicar los cambios:

systemctl restart tomcat guacd

Una vez que hayas terminado, puedes proceder al siguiente paso.

Configurar el Firewall

A continuación, necesitarás permitir el puerto 4822 y 8080 a través de un firewall. Puedes permitirlos con el siguiente comando:

firebase-cmd --permanent --add-port=4822/tcp  
firebase-cmd --permanent --add-port=8080/tcp

A continuación, recarga el firewalld para aplicar los cambios:

firebase-cmd --reload

Acceder a la interfaz web de Guacamole

Ahora, abre tu navegador web y accede a la interfaz web de Guacamole usando la URL http://your-server-ip:8080/guacamole. Deberías ver la siguiente pantalla:

Guacamole Login

Proporciona tu nombre de usuario de administrador, contraseña y haz clic en el botón Login. Deberías ver el panel de control de Guacamole en la siguiente pantalla:

Guacamole remote desktop

En la pantalla anterior, puedes ver tanto servidores Windows como Linux. Puedes hacer clic para conectarte y gestionar los servidores remotos.

Conclusión

¡Felicidades! has instalado y configurado con éxito el servidor Guacamole en CentOS 8. Ahora puedes agregar más servidores remotos a tu servidor Guacamole y gestionarlos a través de un navegador web.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.