DaveWentzel.com            All Things Data

Upgrading Guacamole

Update:  Upgrading to guac 0.9.4

I wrote about Guacamole (a client-less RDP Gateway) a few months ago.  In that post I covered how to install Guacamole 0.9.0 on a Ubuntu server.  In this post I'll quickly cover how to upgrade 0.9.0 to guac 0.9.2.  Actually, this method should work for any guac upgrade.  

Firstly, what is guacamole?  Let's say you need to RDP (or even SSH or VNC) to a machine at a client site (or your home).  You can certainly use a VPN to tunnel the RDP traffic for port 3389.  Or you could poke a hole in your  firewall for 3389 (which is a bad idea).  Guacamole is a nifty alternative.  It runs on a Ubuntu VM (for one or two connections you need about 256MB RAM) allowing you to RDP to any server behind the firewall using HTTP(S) ports ONLY.  It's wicked fast and even works on a smartphone without having to deal with a VPN setup.  When you log in to your Guacamole server you pick which internal server you want to RDP to and you get a RDP session right in the browser.  To the right is a screenshot of an RDP session from IE 9.  It's like the mstsc client is right in your browser!  Below is a screenshot of a guac connection using my Galaxy S5...no VPN, no RDP app...you do it right from the browser.  

The Upgrade Process

Sometimes OSS like guacamole lacks documentation, or at least good documentation for noobs.  Guac doesn't have an official upgrade document so I worked out the kinks on my own.  

We are going to follow the steps in my original post on setting up guac.  Please refer to that as needed.  

  1. Take a backup of your VM or at least your .properties file and user file.  
  2. Do Step 4 and 5 in my original blog post but change the file name to 0.9.2.  
  3. Replace the old war file with the new version you just downloaded:  sudo mv guacamole-0.9.2.war /var/lib/tomcat7/webapps/guacamole.war
  4. Do Step 6 and 7.  
  5. I think there is a bug in make with guac where they reference uuid incorrectly, but I'm not the expert.  I didn't want to change the official configure script (which has lots of checkins regarding the uuid bug) so I got it to finally work by installing a few extra packages.  Run this command:  sudo apt-get install uuid osspd osspd-alsa osspd-dbg osspd-pulseaudio libossp-sa12 libossp-sa-dev ibossp-uuid16 libossp-uuid-dev libossp-uuid-perl
  6. Now you can run steps 8 - 12.  
  7. Restart Ubuntu.  
  8. Close your browser and reopen it (otherwise the javascript from the old version will be cached and guac will act strangely).  
  9. Connect to your previous guac URL and log in.  

I don't advocate upgrading software unless there is a compelling reason to do so.  Guacamole 0.9.2 anecdotally seems to be quite a bit faster than 0.9.0, especially over low-bandwidth connections such as Android tablets.  In all, I can't praise the guac team enough for this great piece of software.  I use guac daily for hours at a time and it just works perfectly.  


You have just read Upgrading Guacamole on davewentzel.com. If you found this useful please feel free to subscribe to the RSS feed.  

13 comments

Comment: 
Dave Thanks so much for the guide - A massive help. Have you tried it on 0.9.4 as yet? I'm just getting a spinning wheel when I follow the guide to go from 0.9.2 to 0.9.4 Any thoughts / suggestions would be greatly appreciated! Cheers Andy

Comment: 
I didn't even realize 0.9.4 was out.  I'll try upgrading this weekend and let you know.  --dave

Comment: 
Thanks Dave - Looking forward to how you go... I've exhausted my debugging skills on this one.. The wheel still spins in the middle of the page (no login)... MySQL DB seems ok.. Rebuilt a few times etc. Still stumped. I wonder if there's a compatibility issue with a new package somewhere?

Comment: 
Just by way of a "bit of extra data". 0.9.2>0.9.3 works fine (I can go from 0.9.2>0.9.4>0.9.3 and it works again on 0.9.3).. 0.9.4 seems to break things so I'm guessing that I'm missing a step somewhere to get 0.9.4 working... Schema changes??? Missing file???... I'm working on Ubuntu with everything up-to-date...

Comment: 
I was able to get guac 0.9.4 working on the first try.  Quick writeup here (www.davewentzel.com/content/guacamole-094).  Seems to be a bit more user-friendly when switching to the "home" screen from a running rdp session (Ctl+Shift+Alt).  Otherwise, seems about the same.  

Comment: 
good tuto, the only one is ok and simple two remarks : sudo cp guacamole-0.9.4.war /var/lib/tomcat7/webapps/guacamole.war not dot (sudo cp guacamole.0.9.4.war /var/lib/tomcat7/webapps/guacamole.war) and add lib apt-get install libossp-uuid-dev before ./configure --with-init-dir=/etc/init.d sorry for my English i'm a poor french...

Comment: 
Thanks for the notes.  And your English is better than my French.  --dave

Comment: 
I updated from 0.9.5 to 0.9.6 following the instructions here and in your original post, the upgrade worked fine, but at the Web Portal for 0.9.6 I cannot log in with any users. I get an invalid login. What did I miss for the web portal login?

Comment: 
I'm still on 0.9.4 so I can't really help you.  Yet.  The user-mapping.xml contains this information...assuming that hasn't changed in 0.9.6.  I'll try to set aside some time to upgrade guac this week and get back to you.

Comment: 
When I received the spinning wheel òr some may call it "cog". I had a very minor syntax error in the user-mapping.xml file. When I correct it all went well.

Comment: 
That's happened to me numerous times.  The lack of error messages for that scenario makes it difficult to debug.  

Comment: 
sudo apt-get install uuid osspd osspd-alsa osspd-dbg osspd-pulseaudio libossp-sa12 libossp-sa-dev ibossp-uuid16 libossp-uuid-dev libossp-uuid-perl That command has a mis-type. "ibossp-uuid16" should be "libossp-uuid16". Just wanted to point that out for ya.

Comment: 
Thank you.  I haven't written a guide for 0.9.8 but the instructions on the guac site seemed to work perfectly for me without any modification.  Still seems a little more difficult than it should be.  --dave

Add new comment