Comunidad de diseño web y desarrollo en internet

Conexión remota a escritorios en HTML5 y Ajax con Guacamole

Se trata de Guacamole, un cliente escrito en HTML5, Ajax y apoyo de Tomcat para visualizar por medio de diversos protocolos, escritorios remotos por medio del navegador web.

Genial, ¿Dónde me descargo el exe o el dmg?


Lo siento, si tienes Windows o Mac, debes de saber que aún no es posible instalar Guacamole. Únicamente es compatible con Linux en sus distribuciones Debian/Ubuntu, Fedora y otras distros por medio de java (versión rc1) o el source.


Dependencias


Vamonos a necesitar de Tomcat y de un paquete llamado libvncclient, así que en la terminal escribimos lo siguiente para Debian/Ubuntu.

Código :

sudo apt-get install tomcat6 libvncserver0

Y para Fedora

Código :

yum install tomcat6
chkconfig tomcat6 on
service tomcat6 start
yum install libvncserver


Instalando Guacamole


Vamos a tener que descargarnos el paquete que se acomode a nuestro SO. Enseguida anexo los paquetes de las últimas versiones tanto de Fedora como de Debian y Ubuntu en 32-64 bits.
Debian 6.0 (Squeeze) 32 bits - 64 bits
Ubuntu 11.10 (Oneiric Ocelot) 32 bits - 64 bits
Fedora 16 (Verne) 32 bits - 64 bits

Lo demás paquetes para distribuciones pasadas las puedes encontrar aquí y todos los demás paquetes en sourceforge.

Una vez descargados accede al directorio vía terminal e instala los paquetes con el siguiente comando en Debian/Ubuntu.

Código :

sudo dpkg -i guacd_*.deb guacamole_*.deb libguac2_*.deb libguac-client-vnc0_*.deb

Y en Fedora

Código :

rpm -i guacd*.rpm guacamole*.rpm libguac2-[0-9]*.rpm libguac-client-vnc2*.rpm
chkconfig guacd on
service guacd start


Configuración de Tomcat


Una vez finalizada la instalación vamos a necesitar configurar y enlazar la app de Guacamole con Tomcat. Para hacer esto en Debian/Ubuntu escribimos los siguientes comandos en nuestra terminal.

Código :

sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps
sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib
sudo /etc/init.d/tomcat6 restart

Y en Fedora hacemos lo siguiente.

Código :

ln -s /var/lib/guacamole/guacamole.war /usr/share/tomcat6/webapps/
ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib/
service tomcat6 restart


Configuración de Guacamole


Ahora viene la parte divertida. Lo que me pareció increíble es que los datos de las conexiones de Guacamole se hacen a través de un archivo XML. Este está ubicado en la ruta /etc/guacamole.

Con tu editor favorito abre el archivo user-mapping.xml y verás algo como lo siguiente.

Código :

<user-mapping>
    <!-- Per-user authentication and config information -->
    <authorize username="USERNAME" password="PASSWORD">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">5900</param>
        <param name="password">VNCPASS</param>
    </authorize>
    <!-- Another user, but using md5 to hash the password
         (example below uses the md5 hash of "PASSWORD") -->
    <authorize 
            username="USERNAME2"
            password="319f4d26e3c536b5dd871bb2c52e3178"
            encoding="md5">
                <protocol>vnc</protocol>
                <param name="hostname">localhost</param>
                <param name="port">5901</param>
                <param name="password">VNCPASS</param>
    </authorize>
</user-mapping>

Te muestran dos ejemplos. Uno con acceso regular por medio de vnc con una password no encriptada y la otra con password escriptada.

En la parte de USERNAME y PASSWORD va el nombre de usuario con el que vas a acceder directamente desde el navegador.
Protocol es el protocolo que vas a utilizar para tu conexión. En este tutorial únicamente vamos a soportar VNC.
Hostname es la IP de la PC remota que vas a utilizar.
Port es el puerto abierto a este protocolo.
Password es la password que tiene la PC al recibir peticiones de control remoto VNC.

Ojo, puedes agregar múltiples cuentas de la misma manera, yo en total tengo 11 maquinas configuradas. Es compatible ver escritorios tanto de Windows como de Mac, solamente configura el cliente de manera correcta.

Ejemplo de archivo de configuración.

Código :

<user-mapping>
    <authorize username="Kinduff" password="EstaEsMiContraseña">
        <protocol>vnc</protocol>
        <param name="hostname">192.168.1.xxx</param>
        <param name="port">5900</param>
        <param name="password">123456</param>
    </authorize>
</user-mapping>


Accediendo a escritorio remoto


Una vez configurado podrás acceder al portal de login en la siguiente ruta http://localhost:8080/guacamole/

Verás algo como lo siguiente.

Ahí escribirás tu login y password de tu archivo de configuración y listo. La magia comienza.



Tiene una barra que nos hace la vida más fácil.



Y el video oficial.


Conclusión


A pesar de que Guacamole sea joven (versión 0.5 alpha), tiene ya una funcionalidad impresionante, está bastante rápido y tiene la ventaja de que no vamos a dejar nuestro navegador en ningún momento.

Si tienes alguna duda no dudes en contactarme vía MP en el foro o vía twitter @kinduff.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate