Setting up Guacamole 0.9.4 on Debian Wheezy

Needed a way to access Remote Desktop and other remote servers from behind a firewall. Windows RD Gateway doesn't work behind a nginx server (or I wasn't able to figure it out), so needed an alternative. Found Guacamole!

  1. Install Debian Wheezy
  2. Install tomcat sudo apt-get install tomcat
  3. Install Java JDK if you're going to compile the guacamole-client
  4. Follow most of the instructions on the Guacamole Website. Abbreviated version below:
    a. sudo apt-get install libcairo2-dev libpng12-dev libossp-uuid-dev
    b. might also need sudo apt-get install make and sudo apt-get install maven (for building the client)
    c. Download the latest stable release wget https://github.com/glyptodon/guacamole-server/archive/0.9.4.tar.gz
    d. Choose your supported remote server types, and install the required packages:
    RDP: sudo apt-get install libfreerdp-dev
    OpenSSL: sudo apt-get install libssl-dev
    Audio: sudo apt-get install libvorbis-dev
    e. tar -xzf guacamole-server-0.9.4.tar.gz
    f. run in the new directory: ./configure --with-init-dir=/etc/init.d
    g. then make
    h. then make install
  5. Building/Downloading the client
    a. Grab the latest client wget https://github.com/glyptodon/guacamole-client/archive/0.9.4.tar.gz
    b. tar -xzf 0.9.4.tar.gz
    c. cp guacamole-0.9.4.war /var/lib/tomcat7/webapps/guacamole.war
    d. Setup the guacamole.properties file

            mkdir /etc/guacamole
            mkdir /usr/share/tomcat7/.guacamole
            nano /etc/guacamole/guacamole.properties
    

    e. You can find a copy of guacamole.properties here
    g. Create a user/connection file nano /etc/guacamole/user-mapping.xml. Example found here

  6. Deploy Guacamole

    ln -s /yourpath/guacamole/guacamole.war /var/lib/tomcat7/webapps
    ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/
    
  7. Restart tomcat service tomcat7 restart
  8. Start guacamole service guacd restart
  9. You should now be able to access Guacamole at http://yourip
  10. Set up your nginx to reverse proxy to the Guacamole server
  11. Future considerations. Set up AJP module for nginx