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
              • 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>
  • 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