In case anyone's interested here's what I did to get Guacamole 1.1.0
running with Tomcat9 on a fresh Ubuntu 20.04 VM.
Essentially this is the same as my previous list of instructions for
Ubuntu 18.04, however it turns out there is (presently) no libmysql-java
in the repositories for 20.04. Fortunately there is a package for 20.04
on the MySQL site; this requires download and manual install with
appropriate link to /etc/guacamole/lib/.
I've given it a brief try with RDP and it seemed to work fine, albeit
with some odd messages in syslog at disconnect (which I've not pursued)
- YMMV.
----
su
apt-get install 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 libtelnet-dev
libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev
libwebp-dev ghostscript
apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user
cd /tmp
wget
https://www.apache.org/dist/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
tar -zxvf guacamole-server-1.1.0.tar.gz
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
make
make install
ldconfig
wget https://www.apache.org/dist/guacamole/1.1.0/binary/guacamole-1.1.0.war
mkdir /etc/guacamole
cp guacamole-1.1.0.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
systemctl restart tomcat9
systemctl enable guacd
systemctl start guacd
# Above this line should work in standard auth mode, below is detail for
MySQL auth
su
cd /tmp
apt-get install mysql-server
wget
https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java_8.0.20-1ubuntu20.04_all.deb
dpkg -i mysql-connector-java_8.0.20-1ubuntu20.04_all.deb
wget
https://www.apache.org/dist/guacamole/1.1.0/binary/guacamole-auth-jdbc-1.1.0.tar.gz
tar -zxvf guacamole-auth-jdbc-1.1.0.tar.gz
mkdir /etc/guacamole/extensions
mkdir /etc/guacamole/lib
cp guacamole-auth-jdbc-1.1.0/mysql/guacamole-auth-jdbc-mysql-1.1.0.jar
/etc/guacamole/extensions/
nano /etc/guacamole/guacamole.properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password:
(ctrl-x then y)
mysql -u root -p
create database guacamole_db;
create user 'guacamole_user'@'localhost' identified by '';
grant select,insert,update,delete on guacamole_db.* to
'guacamole_user'@'localhost';
flush privileges;
quit
cat guacamole-auth-jdbc-1.1.0/mysql/schema/*.sql | mysql -u root -p
guacamole_db
ln -s /usr/share/java/mysql-connector-java-8.0.20.jar
/etc/guacamole/lib/mysql-connector-java.jar
systemctl restart guacd
systemctl restart tomcat9.service
Go to http://<ip-address>:8080/guacamole
Default login guacadmin:guacadmin