Skip to main content

Apache Guacamole

Process

Install Dependencies

sudo apt install build-essential maven default-jdk default-jre libcairo2-dev libjpeg62-turbo-dev libpng-dev libtool-bin uuid-dev libvncserver-dev freerdp2-dev libssh2-1-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libpango1.0-dev libpulse-dev libvorbis-dev libwebp-dev

Download and setup Tomcat 9 manually until 10 or newer are supported.

Download

https://guacamole.apache.org/releases/

curl -LO "https://apache.org/dyn/closer.lua/guacamole/1.6.0/source/guacamole-server-1.6.0.tar.gz?action=download"
curl -LO "https://apache.org/dyn/closer.lua/guacamole/1.6.0/source/guacamole-client-1.6.0.tar.gz?action=download"

tar xf guacamole-server-1.6.0.tar.gz
tar xf guacamole-client-1.6.0.tar.gz

Server

./configure --with-systemd-dir=/usr/lib/systemd/system
make -j2
sudo make install

sudo ldconfig
sudo systemctl daemon-reload
sudo systemctl restart guacd

Client

JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 mvn package

sudo rm /etc/guacamole/extensions/*
sudo cp guacamole/target/guacamole-1.6.0.war /opt/tomcat/webapps/ROOT.war
sudo cp extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/target/guacamole-auth-jdbc-postgresql-1.6.0.jar /etc/guacamole/extensions/
sudo cp extensions/guacamole-auth-quickconnect/target/guacamole-auth-quickconnect-1.6.0.jar /etc/guacamole/extensions
sudo cp extensions/guacamole-auth-sso/modules/guacamole-auth-sso-openid/target/guacamole-auth-sso-openid-1.6.0.jar /etc/guacamole/extensions

# If weird issues are encountered, clear the maven cache
rm -rf ~/.m2