|

Actualización de Apache Guacamole server 1.0 → 1.2

Escenario

En el trabajo usamos Apache Guacamole para conectarnos a nuestros escritorios de la oficina desde casa. Apache Guacamole proporciona una puerta de entrada HTML5 para conectar con servicios de acceso remoto, como pueden ser VNC o RDP. Consta de dos : el servidor y el cliente que no tienen por qué correr en la misma máquina. El servidor es un demonio (guacd) que se instala compilando el código fuente en un servidor Linux. El cliente es una aplicación HTML5 empaquetada en un war para desplegado en un tomcat. La configuración es sencilla, básicamente consiste en un fichero de propiedades en el que se define los usuarios autorizados y las máquinas en las que corre el servicio al que desean conectarse. Una vez arrancado el demonio y el tomcat, el usuario pueden acceder a través de una interfaz web a sus escritorios. La ventaja de esta solución es que podemos enjaular a los usuarios en sus máquinas de la oficina, bajo las reglas y filtros del firewall interno. De este modo no nos tenemos que preocupar por los ordenadores que los usuarios emplean para acceder a nuestros recursos.

Problema

Cuando instalamos el sistema hace un año y medio, la versión más reciente de Apache Guacamole era la 1.0. Desde un principio los compañeros que lo usaban han reportado que, cada cierto tiempo y de manera aleatoria, se corta la conexión a su escritorio remoto y han de esperar unos segundos para reconectar. En su día estuvimos investigando cómo arreglar el problema pero no dimos con ninguna solución. Hace un par de semanas se ha incorporado un nuevo compañero que, de momento, solo ha trabajado desde casa. En repetidas ocasiones me ha avisado que su conexión era inestable. En un principio no lo relacioné con el otro problema y estuve conectándome a su máquina para ver si podía dar con la causa, sin éxito. La siguiente vez que este compañero se queja por un canal de Slack, otro compañero que acaba de volver de vacaciones le informa que es un problema que llevamos arrastrando desde hace más de un año. Me digo que voy a echar otro vistazo al servidor donde tenemos instalado el Apache Guacamole. En el fichero de syslog, aparece repetido este error:

Solución

Tras una búsqueda en Google doy con la página de las notas del lanzamiento de la versión 1.2 de Apache Guacamole en la que, entre otras cosas, anuncian que han arreglado el siguiente bug: VNC support for TLS: No he visto ninguna documentación de cómo actualizar el Apache Guacamole de la versión 1.0 a la 1.2, así que he tenido que hacerlo siguiendo la de la instalación y cerciorándome de que tenía las copias de seguridad necesarias. Estos son los pasos que he seguido:
  1. wget https://apache.brunneis.com/guacamole/1.2.0/source/guacamole-server-1.2.0.tar.gz
  2. tar -xvzf guacamole-server-1.2.0.tar.gz
  3. cd guacamole-server-1.2.0/
  4. ./configure --with-init-dir=/etc/init.d
  5. make
  6. sudo make install
  7. sudo ldconfig (para actualizar el caché de las librerías del sistema)
  8. systemctl stop guacd
  9. systemctl start guacd
  10. sudo systemctl enable guacd (por si no estuviera ya habilitado)
  11. wget https://apache.brunneis.com/guacamole/1.2.0/binary/guacamole-1.2.0.war
  12. sudo mv /etc/guacamole/guacamole-1.2.0.war /etc/guacamole/guacamole.war
  13. sudo ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/ (si ya existía el enlace simbólico, dará un error que podemos ignorar)
  14. sudo systemctl restart tomcat8
Y listos.

Publicaciones Similares

  • Instala un certificado SSL en tres pasos

    Escenario Todavía tienes una aplicación web, servida por nginx, a la que solo se puede acceder por http. Objetivo Instalar el certificado de SSL gratuito en tres pasos. Usaremos a modo de ejemplo el subdominio certbot.technoage.net. Pasos 1. Añadir el repositorio $ sudo add-apt-repository ppa:certbot/certbot 2. Instalar el paquete de cerbot para nginx $ sudo apt-get update && sudo apt-get install python-certbot-nginx 3. Obtener el certificado…

  • La tabla mysql.plugin no existe

    Escenario Después de necesitar restaurar tres veces el servidor de MySql por culpa de varios crashs provocados por un fallo en el disco duro, encuentro en los logs entradas de este tipo: 2020-09-12T18:46:22.347957Z 5 [Warning] InnoDB: Cannot open table mysql/help_relation from the internal data2020-09-12T18:46:22.348985Z 5 [Warning] InnoDB: Cannot open table mysql/innodb_index_stats from the internal data dictionary of InnoDBdictionary Problema En varios foros leo que la solución pasa por hacer un:

    La cuestión es que, cuando lo intento, me encuentro…

  • Hibernate no puede resolver la propiedad…

    Escenario En una aplicación Spring Boot v2.3.4 hay dos entidades Balance y Shop. Una tienda (shop) puede tener varios saldos y un saldo (Balance) ha de estar relacionado con una tienda. Además existen panaderías (Bakery) y sastrerías (TailorShop) que extienden la clase Shop:

    Y necesito saber cuál es la fecha del…

  • Instalación certificado SSL de un vendedor

    Escenario Tienes una web con un certificado de un vendedor que va a expirar, o no tienes certificado y, por la razón que sea, quieres uno de pago. Objetivo Necesitas instalar o renovar un certificado SSL proporcionado por uno de los vendedores tradiciones, Comodo, Symantec, Geotrust, etc… Usaremos a modo de ejemplo el subdominio ssl.technoage.net….

  • |

    Gestión de imágenes corruptas

    Escenario Nos encontramos ante una biblioteca de decenas de miles de archivos fotográficos, de los cuales un porcentaje considerable está corrupto. Objetivo Depurar las imágenes corruptas a fin de organizar como es debido nuestra biblioteca. Solución Nota: sólo aplicable a sistemas linux Vamos a necesitar la aplicación ImageMagick: $sudo apt-get install imagemagick y rsync, que debería venir instalado…

  • Sustitución del mapeo original de FOSUserBundle en symfony2

    Para un nuevo proyecto en PHP que estamos empezando, hemos decidido utilizar la plataforma symfony2. En el pasado he tenido la suerte de trabajar, disfrutar y aprender con symfony 1.x, gracias a su coherente organización, buen uso del PHP y unos robustos cimientos fundados en una extensa documentación y una vasta comunidad de activos desarrolladores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *