Ubuntu 16.04 with Guacamole 0.9.13
Guacamole is an RDP gateway. This tutorial assumes you have a freshly installed Ubuntu 14.04 server.
Install Dependencies
- apt-get install libcairo2-dev libpng12-dev libossp-uuid-dev tomcat8 tomcat8-admin libjpeg-turbo8-dev
Install Optional Dependencies
- RDP - libfreerdp-dev
- Pango (SSH & Telnet text rendering) - libpango1.0-dev
- SSH support - libssh2-1-dev
- Telnet support - libtelnet-dev
- VNC support - libvncserver-dev
- VNC audio support - libpulse-dev
- OpenSSL support - libssl-dev
- Audio support for Ogg Vorbis - libvorbis-dev
Obtain Guacamole Source
- Download the server from https://guacamole.incubator.apache.org/
- move tar file to desired installation directory
- tar -xzf guacamole-server-0.9.13-incubating.tar.gz
- cd guacamole-server-0.9.13-incubating
Build and Install from Source
- ./configure --with-init-dir=/etc/init.d
- make
- make install
- ldconfig
- update-rc.d guacd defaults
Guacamole Config Files
- mkdir /etc/guacamole
- nano /etc/guacamole/guacamole.properties /etc/guacamole/user-mapping.xml
- guacamole.properties
- guacd-hostname: localhost
- guacd-port: 4822
- lib-directory: /var/lib/tomcat8/webapps/guacamole/WEB-INF/classes
- auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
- basic-user-mapping: /etc/guacamole/user-mapping.xml
- guacd-hostname: localhost
- user-mapping.xml
- <user-mapping>
- <authorize username="admin" password="admin">
- <connection name="server1">
- <protocol>rdp</protocol>
- <param name="hostname">0.0.0.0</param>
- <param name="port">3389</param>
- <param name="security">tls</param>
- </connection>
- </authorize>
- <user-mapping>
- <user-mapping>
- mkdir /usr/share/tomcat/.guacamole
- ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/guacamole.properties
Guacamole Client
- Download .war file from https://guacamole.incubator.apache.org/
- cp guacamole-0.9.13-incubating.war /var/lib/tomcat8/webapps/guacamole.war
(Re)start Services and Test
- service guacd start
- service tomcat8 restart
- Navigate to http://[ip of guac server]:8080/guacamole and log in with credentials from user-mapping.xml