Guacamole – Acesso remoto de qualidade.

guacamole

Guacamole é uma aplicação web HTML5 que fornece acesso a ambientes de desktop usando protocolos de desktop remoto (como o VNC ou RDP). Escrito em JavaScript e usando apenas HTML5 e outros padrões, a parte do cliente do Guacamole requer nada mais do que um navegador moderno ou dispositivo habilitado para web ao acessar qualquer um dos desktops. Historicamente, Guacamole era um cliente de VNC HTML5, e antes disso, um cliente Telnet JavaScript chamado RealMint ( “RealMint” é um anagrama para “terminal”). Neste post utilizaremos o Debian 8 64 bits e servidor tomcat 7.

Instalação

Inicialmente precisamos instalar o servidor tomcat7, segue comando de instalação.

# apt-get install tomcat7

Após instalar o servidor  Apache Tomcat, baixaremos o source do Guacamole Server.

# wget -c http://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz

Descompactando o arquivo baixado, com o comando abaixo:

# tar -xzvf guacamole-server-0.9.9.tar.gz

Agora instalaremos as dependências necessárias:

# apt-get install build-essential libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev libossp-uuid-dev

Após instalar as dependências, entre na pasta do Guacamole Server que foi descompactada:

# cd guacamole-server-0.9.9

Iniciaremos agora a configuração, compilação e instalação do Guacamole Server :

# ./configure --with-init-dir=/etc/init.d/
# make && make install
# ldconfig

Finalizamos por aqui o Guacamole Server.

Guacamole Cliente

Ao concluir a instalação do Guacamole Server, partiremos para a configuração do Guacamole cliente, onde temos dois métodos de configurar:

1º Método

Para começar baixe o source do Guacamole cliente:

# wget -c http://sourceforge.net/projects/guacamole/files/current/source/guacamole-client-0.9.9.tar.gz

Descompacte o arquivo baixado com o comando abaixo:

# tar -xzvf guacamole-client-0.9.9.tar.gz

Acesse o arquivo descompactado:

# cd guacamole-client-0.9.9

Agora para compilar será necessário instalar a ferramenta de compilação para projetos java, o Maven e também o Java JDK. Execute o comando abaixo:

# apt-get install maven openjdk-7-jdk

Após a instalação do Mave, execute o comando abaixo para iniciar a compilação.

# mvn package

Após a compilação, copie o arquivo guacamole-0.9.9.war, gerado pela compilação para a pasta webapps do Tomcat. Execute o comando abaixo:

# cp guacamole/target/guacamole-0.9.9.war /var/lib/tomcat7/webapps/

2º Método

No primeiro método precisamos compilar o source do Guacamole cliente para gerarmos o binário guacamole-0.9.9.war, agora neste método baixaremos a aplicação web guacamole-0.9.9.war disponibilizado pelo projeto. Execute o comando abaixo para realizar o download.

# wget -c http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war

Copie ou mova o arquivo baixado para a pasta Webapps do Tomcat, segue comando:

# cp guacamole-0.9.9.war /var/lib/tomcat7/webapps/guacamole.war

Pronto! Esse foi o segundo método, fácil não?

Agora precisamos criar a pasta de configurações do Guacamole, execute o comando abaixo:

# mkdir /etc/guacamole

Acesse a pasta criada e crie o arquivo guacamole.properties, onde definiremos: Porta, Localização dos jars e arquivo xml de permissão de acesso.

# cd /etc/guacamole/
# touch /etc/guacamole/guacamole.properties

Abra o arquivo:

# vim /etc/guacamole/guacamole.properties

E adicione o conteúdo abaixo:

# Hostname and port of guacamole proxy
 guacd-hostname: localhost
 guacd-port: 4822

# Location to read extra .jar's from
 lib-directory: /var/lib/tomcat7/webapps/guacamole/WEB-INF/classes

# Authentication provider class
 auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

# Properties used by BasicFileAuthenticationProvider
 basic-user-mapping: /etc/guacamole/user-mapping.xml

Precisamos criar uma pasta oculta chamada .guacamole em que linkaremos com o arquivo de configuração guacamole.properties para que o tomcat tenha acesso as configurações. Segue os comandos:

# mkdir /usr/share/tomcat7/.guacamole/
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/

Agora configuraremos o acesso de usuários e conexões remota aos hosts.

Crie o arquivo user-mapping.xml com o comando abaixo:

# touch /etc/guacamole/user-mapping.xml

Abra o arquivo criado:

# vim /etc/guacamole/user-mapping.xml

E adicione o conteúdo abaixo:

<user-mapping>
 <authorize username="jackson" password="123">
<!-- First authorized connection -->
 <connection name="VNC">
 <protocol>vnc</protocol>
 <param name="hostname">192.168.1.110</param>
 <param name="port">5901</param>
 <param name="password">123456</param>
 </connection>
<!-- Second authorized connection -->
 <connection name="RDP">
 <protocol>rdp</protocol>
 <param name="hostname">192.168.1.111</param>
 <param name="port">3389</param>
 <param name="password">123456</param>
 </connection>
</authorize>
</user-mapping>

Observe no conteúdo adicionado anteriormente, temos na segunda linha o usuário e senha que terá acesso pelo navegador e na TAG <conection name=””> os hosts que será acessado remotamente.

Precisamos das bibliotecas na pasta /lib, execute o comando abaixo para criar links de acesso:

# ln -s /usr/local/lib/libguac.so* /lib
# ln -s /usr/local/lib/libguac-client-vnc.so* /lib/

E por fim, inicie o Tomcat e o Guacamole:

# /etc/init.d/tomcat7 start
# /etc/init.d/guacd start

Acesse agora o Guacamole pelo navegador http://ipdoseuservidor:8080/guacamole/, troque o ipdoseuservidor conforme ip do seu servidor, mas mantenha a porta 8080.  Ao acessar será solicitado o usuário e senha, que foram definidos no arquivo user-mapping.xml.

loginVeja na imagem abaixo as conexões existentes:

guacamole_siteQuando conectado um vez, um thumbnail ficará disponível nas conexões recentes (Acho muito legal isso!). Para adicionar mais hosts, adicione-o no arquivo user-mapping.xml fornecedo uma nova tag <conection name=”host”>.

Bom pessoal é isso, caso tenha alguma dúvida deixe nos comentários. Para conhecer mais sobre o projeto e novas funcionalidades acesse http://guacamole.incubator.apache.org.

Ajude-nos a manter o site, realize uma doação clicando no botão abaixo: 

 
Jackson de Oliveira
Siga-me

Jackson de Oliveira

Formado em Análise e Desenvolvimento de Sistemas pela Faculdade Anhanguera - Campinas - SP e Técnico em Informática e Programação pelo Centro Paula Souza - Hortolândia -SP
Jackson de Oliveira
Siga-me

Últimos posts por Jackson de Oliveira (exibir todos)

Se você gostou compartilhe!