Apache Guacamole installation bash script for RHEL 7 and CentOS 7 including options for Nginx, HTTPS, SSL, LDAP, Let's Encrypt certificates and more
The Guacamole install script guac-install.sh
is intended to allow for a guided, simple way to install and configure a complete Apache Guacamole server on a fresh CentOS 7 or RHEL 7 installation. This Apache Guacamole installation script presents an interactive menu providing options to install Guacamole, Nginx, MariaDB and other software for a complete Guacamole setup. The menu provides the means to set configuration parameters in an organized way, allows for review and making changes prior to running the installation for Guacamole.
The wiki will cover all aspects of the Apache Guacamole installation script for RHEL and CentOS in further detail. Before using the script read all the documentation and review the Guacamole install script (especially the variables). Test the Guacamole script in a test environment/server and ensure it functions exactly as desired before attempting to utilize it on a production system.
Some of the main features and benefits of using this installation script for Apache Guacamole are:
Further details see the Script Features page.
wget
installed to download the Guacamole install script guac-install.sh
from this repo.Full requirements listed on the Requirements page
I recommend reading this entire README page AND the entire Wiki prior to attempting to use the Apache Guacamole installation script. It is essential to understand what the script does as you will be prompted to enter parameters during setup when running the script. It is important to be prepared to answer these prompts with accurate and desired parameters.
Of special importance to starting with this Guacamole install script are:
WARNING: It is highly recommended to test this script in a dev environment prior to using it in a production setting!
Download the guac-install.sh
script from this repo:
wget https://raw.githubusercontent.com/Zer0CoolX/guacamole-install-rhel/master/guac-install.sh
If installing a custom Guacamole extension, download it as well and take note of its file name and path. See here for more details
Make the guac-install.sh
script executable:
chmod +x guac-install.sh
Run the script as sudo/root:
./guac-install.sh
Proceed with the prompts provided by the installer, see Step-by-Step Installation Guide for a walk-through of the options.
See this wiki post regarding Customizing the Apache Guacamole Login Screen for details on another repo of mine to accomplish this.
I have based this Apache Guacamole install script on multiple other projects and my own work with similar goals. There are too many sources to provide credit to.
The script versioning, for now, will be based on the date of the last commit in the format "yyyy_mm_dd".
I try and test the script as many ways as I can. Should you find an issue you feel is due to the script please submit an issue according to the directions here. I am also open to ideas on improving or fixing issues with the script. I am hoping that in time, after revisions and testing, that this install script for Guacamole will become the go-to for those looking to setup Guacamole on RHEL or CentOS.
Thanks
As expressed on the official site for Apache Guacamole (which is free and open source):
Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. We call it clientless because no plugins or client software are required.
Nginx is a free and open source HTTP and reverse proxy server.
MariaDB is an open source database that is forked from MySQL.
Let's Encrypt is a free, automated and open Certificate Authority providing SSL certificates to allow setting up more secure websites using HTTPS.