How To Install Guacamole Server on Ubuntu 20.04

Guacamole is a web-based remote desktop, easy to use and a little hard to install for the first time. Guacamole has 2 part, first the server part which can installed on any server, and the client which should installed on every client.

With the new release Guacamole has new or improved features, such as:
– Single sign-on with SAML 2.0
– Wake-on-LAN
– Easy switching between multiple connections
– Improved login behavior
– Using TOTP with non-database user accounts
– Granular control of clipboard and file transfer
– Support for SSL/TLS database connections
– Support for the MariaDB JDBC driver

Update apt

Update the apt package manager metadata, for fresh new server created from template sometimes, it may have been delete the apt cache to reduce the disk size, or the server never updated before, the next command may failed.

sudo apt update

Install Dependency

Install dependencies for guacamole instalation

sudo apt install -y build-essential libcairo2-dev libjpeg-turbo8-dev libpng-dev \
libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev \
freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev \
libssl-dev libvorbis-dev libwebp-dev

Download Guacamole

Download the latest version of Guacamole from the official website. Right now, the latest version is 1.2.0.

wget "https://apache.org/dyn/closer.cgi?action=download&filename=guacamole/1.2.0/source/guacamole-server-1.2.0.tar.gz" -O guacamole-server-1.2.0.tar.gz

sometimes the download server really slow, you can repeat the download few times, to start from the already downloaded part add -c after wget command

Extract Guacamole source code

tar zxvf 1.2.0.tar.gz

it’ll create folder guacamole-server-1.2.0, move working directory to this folder

cd guacamole-server-1.2.0

Generate Configure

autoconf -i

It will generate executeable configure script

Run configure script

./configure --with-init-dir=/etc/init.d

wait a moment until finish

------------------------------------------------
guacamole-server version 1.2.0
------------------------------------------------
 
   Library status:
 
     freerdp2 ............ yes
     pango ............... yes
     libavcodec .......... yes
     libavformat.......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ yes
     libwebsockets ....... yes
     libwebp ............. yes
     wsock32 ............. no
 
   Protocol support:
 
      Kubernetes .... yes
      RDP ........... yes
      SSH ........... yes
      Telnet ........ yes
      VNC ........... yes
 
   Services / tools:
 
      guacd ...... yes
      guacenc .... yes
      guaclog .... yes
 
   FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2
   Init scripts: no
   Systemd units: no
 
Type "make" to compile guacamole-server.

Compile Guacamole Server

This compile process will take some time, the speed depends on the Processor and available memory of the server.

make

Install Guacamole Server

Finally install the guacamole server, this step will need sudo access.

sudo make install

Start Guacamole Server

To start using the guacamole server, first start the service

sudo /etc/init.d/guacd start

Leave a Comment