NOTE: The version of FreeRDP2 that comes in the official repo for Ubuntu 18.04 is broken. If you are using Ubuntu 18.04 and RDP is not working / crashing run the following before or after install:
sudo add-apt-repository ppa:remmina-ppa-team/freerdp-daily
sudo apt-get update
sudo apt-get install freerdp2-dev freerdp2-x11
Script for installing Guacamole 1.3.0 on Ubuntu 16.04 or newer (with MySQL, or remote MySQL). It should also work on pure Debian, Raspbian, Linux Mint (18/LMDE 4 or newer) or Kali Linux. I have tested this with Debian 10.3.0 (Buster). If other versions don't work please open an issue. It is likely due to a required library having a different name.
Run script, enter MySQL Root Password and Guacamole User password. Guacamole User is used to connect to the Guacamole Database.
The script attempts to install tomcat9
by default (it will fall back on tomcat8
if the available version is 8.5.x or newer, otherwise it will fall back to tomcat7
). If you want to manually specify a tomcat version there's a commented out line you can modify. Have at it.
If you're looking to also have NGINX / Let's Encrypt / HTTPS click HERE
By default the script will not install MFA support (QR code for Google/Microsoft Authenticator, Duo Mobile, etc. or Duo Push), if you do want MFA support you can use the -t
or --totp
or for Duo -d
or --duo
flags on the command line. Or modify the script variables installTOTP=true
or installDuo=true
. Do not install both
Here's a cool PowerShell module for using the Guacamole API: https://github.com/UpperM/guacamole-powershell
Does not work if you have MFA turned on (however, you can authenticate via the gui and get a token to use it that way)
wget https://git.io/fxZq5 -O guac-install.sh
chmod +x guac-install.sh
Interactive (asks for passwords):
./guac-install.sh
Non-Interactive (values provided via cli):
./guac-install.sh --mysqlpwd password --guacpwd password --nomfa --installmysql
OR
./guac-install.sh -r password -gp password -o -i
Once installation is done you can access Guacamole by browsing to: http://<host_or_ip>:8080/guacamole/
The default credentials are guacadmin
as both username and password. Please change them or disable guacadmin after install!
Script for upgrading currently installed Guacamole instance (previously installed via this script/guide). This will also now update the TOTP or Duo extensions if used.
If looks for the tomcat folder in /etc/ (E.G. /etc/tomcat7
or /etc/tomcat8
) hopefully that works to identify the correct tomcat version/path 😄 I'm open to suggestions/pull requests for a cleaner method.
Install MySQL:
-i or --installmysql
Do NOT install MySQL:
-n or --nomysql
MySQL Host:
-h or --mysqlhost
MySQL Port:
-p or --mysqlport
MySQL Root Password:
-r or --mysqlpwd
Guacamole Database:
-db or --guacdb
Guacamole User:
-gu or --guacuser
Guacamole User Password:
-gp or --guacpwd
No MFA (No TOTP + Duo):
-o or --nomfa
Install TOTP:
-t or --totp
Install Duo:
-d or --duo
NOTE: Only the switches for MySQL Host, MySQL Port and Guacamole Database are available in the upgrade script.
- Upgrading from 0.9.14 or 1.1.0 to 1.3.0 has not been tested, only 1.2.0 to 1.3.0 has been tested.
- Switches have changed and additional ones have been added!
wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-upgrade.sh
chmod +x guac-upgrade.sh
Interactive (asks for passwords):
./guac-upgrade.sh
Non-Interactive (MySQL root password provided via cli):
./guac-upgrade.sh --mysqlpwd password