Easy Apache Guacamole 1.4.0 Install Guide with Ansible
Updated: Jan 14, 2022

The Apache Software Foundation released Guacamole v1.4.0 on 1 January 2022. In this guide we will be building a Guacamole instance on Rocky Linux 8. A video guide will soon be posted on Youtube as well.
Prerequisites:
CentOS 7 or 8, Rocky Linux 8, RHEL 7 or 8, Oracle Linux 7 or 8, Debian 11, Ubuntu 20.04 (we are using a “minimal install” of Rocky Linux 8 but any installation should work)
This guide is written assuming that you are logged in as root. You can do this from a non root account with sudo privileges, but sudo will need to be placed before each command.
1. Once we have installed Rocky Linux 8, we are going to install git.
yum install -y git
Note: For Ubuntu/Debain, run: apt install -y git
2. Now we are going to clone a git repository that contains an Ansible playbook and some other supporting files.
git clone https://github.com/ByteProTips/Guacamole_Ansible.git
3. There should now be a folder named "Guacamole_Ansible". Let's change directories into that folder.
cd Guacamole_Ansible/
4. Now simply run setup.sh
./setup.sh
5. The setup script will download and install a few prerequisites like Ansible and epel-release, and then hand over setup to Ansible. You will then be prompted to provide two different passwords.
The first password will be the MariaDB/MySQL root password. Ensure you securely store/remember this password after you supply it to Ansible, as it will be required if you wish to administer MariaDB/MySQL in the future.
The second password will be used by Guacamole to authenticate with MariaDB/MySQL. You don't need to remember this password, and it is stored in the guacamole.properties file located in /etc/guacamole/.

4. If Ansible is successful, you should see a playbook recap similar to the screenshot below. If failed = 0, Guacamole should be running and ready to use!

5. Let's now try to log into the server. Begin by opening your web browser and navigating to:
[guacamole_server_ip]:8080/guacamole
The default username is: guacadmin and the default password: guacadmin.

6. That's it! Please leave comments or feel free to contribute improvements via GitHub.
Special thanks to Eslam Gomma (https://github.com/eslam-gomaa/mysql_secure_installation_Ansible) for his outstanding mysql_secure_installation module.