All Projects → Zer0CoolX → Guacamole Install Rhel 7

Zer0CoolX / Guacamole Install Rhel 7

Licence: gpl-3.0
Apache Guacamole installation bash script for RHEL 7 and CentOS 7 including options for Nginx, HTTPS, SSL, LDAP, Let's Encrypt certificates and more

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Guacamole Install Rhel 7

Serverpilot Letsencrypt
Automate the installation of Let's Encrypt SSL on the free plan of ServerPilot
Stars: ✭ 129 (-25.86%)
Mutual labels:  https, ssl, letsencrypt, nginx, apache
Netkiller.github.io
Netkiller Free ebook - 免费电子书
Stars: ✭ 861 (+394.83%)
Mutual labels:  mysql, centos7, nginx, apache, tomcat
Dockerweb
A docker-powered bash script for shared web hosting management. The ultimate Docker LAMP/LEMP Stack.
Stars: ✭ 89 (-48.85%)
Mutual labels:  mysql, mariadb, letsencrypt, nginx, apache
Devilbox
A modern Docker LAMP stack and MEAN stack for local development
Stars: ✭ 3,598 (+1967.82%)
Mutual labels:  mysql, mariadb, nginx, apache
Lamp
Install LAMP(Linux + Apache + MySQL/MariaDB + PHP ) for CentOS/Debian/Ubuntu
Stars: ✭ 2,456 (+1311.49%)
Mutual labels:  mysql, mariadb, centos, apache
Lnmp
Support: Nginx 1.12/1.13 + MySQL 5.5/5.6/5.7/8.0(MariaDB 5.5/10.0/10.1/10.2/10.3) + PHP 5.4/5.5/5.6/7.0/7.1/7.2 + phpMyAdmin(Adminer)
Stars: ✭ 262 (+50.57%)
Mutual labels:  mysql, mariadb, centos7, nginx
Ansible Role Apache
Ansible Role - Apache 2.x.
Stars: ✭ 341 (+95.98%)
Mutual labels:  install, centos, rhel, apache
Mariadb Container
MariaDB container images based on Red Hat Software Collections and intended for OpenShift and general usage. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 19 (-89.08%)
Mutual labels:  mysql, mariadb, centos, rhel
Oneinstack
OneinStack - A PHP/JAVA Deployment Tool
Stars: ✭ 1,983 (+1039.66%)
Mutual labels:  mysql, mariadb, nginx, tomcat
Nginxconfig.io
⚙️ NGINX config generator on steroids 💉
Stars: ✭ 14,983 (+8510.92%)
Mutual labels:  https, ssl, letsencrypt, nginx
Website Ssl.sh
低门槛跨入Https大门!网站ssl证书自动生成工具(http到https的转变),燥起来吧!
Stars: ✭ 160 (-8.05%)
Mutual labels:  https, ssl, nginx
Certificaat
General-purpose ACME client
Stars: ✭ 88 (-49.43%)
Mutual labels:  https, ssl, letsencrypt
Acme client
Java ACME Client application
Stars: ✭ 77 (-55.75%)
Mutual labels:  https, ssl, letsencrypt
Docker Centos7 Ansible
CentOS 7 Docker container for Ansible playbook and role testing.
Stars: ✭ 72 (-58.62%)
Mutual labels:  centos, rhel, centos7
Docker Librenms
Docker image for LibreNMS
Stars: ✭ 91 (-47.7%)
Mutual labels:  mysql, ssl, nginx
Rhcsa Practice Questions
RHCSA practice questions for version 7/8
Stars: ✭ 103 (-40.8%)
Mutual labels:  centos, rhel, centos7
Mysql Container
MySQL container images based on Red Hat Software Collections and intended for OpenShift and general usage. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 117 (-32.76%)
Mutual labels:  mysql, centos, rhel
Developer
Gameserver, Voiceserver, Rootserver Webinterface
Stars: ✭ 161 (-7.47%)
Mutual labels:  mysql, nginx, apache
Guacamole Customize Loginscreen Extension
An Apache Guacamole extension to use as a template for customizing or branding the login page.
Stars: ✭ 69 (-60.34%)
Mutual labels:  centos, rhel, apache
Docker Nginx Gunicorn Flask Letsencrypt
Boilerplate code for setting up Nginx + Gunicorn + Flask + automated LetsEncrypt certificates (https) using docker-compose.
Stars: ✭ 117 (-32.76%)
Mutual labels:  https, letsencrypt, nginx

NOTICE - Given Red Hat's decision to discontinue CentOS as we know it, especially cutting the life of CentOS 8 short, along with other personal reasons I am no longer going to maintain this script. One day, should a suitable RHEL binary compatible replacement emerge, I may resume work on this script but it is also possible I will not. Thanks

Apache Guacamole Install Script for RHEL 7 and CentOS 7

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:

  • Simplifies the process of installing Apache Guacamole and other software required for a complete implementation.
  • Use of Nginx as a reverse proxy allows for changing the URI, having SSL/HTTPS securely setup and forcing HTTPS among other benefits.
  • Nginx configuration options capable of scoring A+ and 90-100% on the categories of the Qualys SSL test. Will varying based on other options selected.
  • Nginx Content-Security-Policy (CSP) option to enable CSP. Scores A+, 100/100 on Mozilla Observatory test.
  • Ability to create a valid SSL certificate from LetsEncrypt AND keep it updated automatically. Also allows setting the key-size used by LetsEncrypt.
  • MariaDB is setup and configured as the database for user settings and metadata. MariaDB is the default primary authentication method.
  • MariaDB is also automatically hardened (by running mysql_secure_installation and automatically answering the prompts)
  • Ability to install and configure Guacamole extensions for primary and secondary authentication. (Currently limited to LDAP(s) and/or TOTP)
  • Ability to install a custom Guacamole extension, like my Guacamole Customize Login Page extension to change the appearance of the login page.
  • Optionally, LDAP/LDAPS as primary authentication via Guacamole LDAP extension and configuration prompts.
  • Optionally, TOTP as a 2FA method via Guacamole TOTP extension and configuration prompts.
  • All SELinux contexts properly set instead of disabling SEL.
  • Firewalld configured for Guacamole.
  • Script generates a log file of what it did for review.
  • Error handling covering the installation process. On error the line number, line that failed and exit code are displayed, logged and the script stops
  • And more...

Further details see the Script Features page.

Requirements to Run the Guacamole Install Script Successfully

  • Install RHEL 7.x or CentOS 7.x and up using either minimal install or Server with GUI.
  • wget installed to download the Guacamole install script guac-install.sh from this repo.
  • The server must have internet access to download the script and files required by Apache Guacamole that are acquired and installed by this script.
  • Sudo or root access on the RHEL or CentOS server, script requires being run as sudo/root.
  • If using RHEL, an activated subscription for access to its repos.
  • No prior Guacamole installation or configuration including for its major dependent packages like Nginx, Tomcat, mariaDB, etc. IE: if the script fails, you cannot simply re-run it! Also, this script cannot be used to update a previous Guacamole install!!
  • SELinux must be enabled and in "Enforcing mode" or the script will not run.

Full requirements listed on the Requirements page

"Required" Reading

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:

Download/Run the Apache Guacamole Script for RHEL 7 and CentOS 7

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.

Customizing the Apache Guacamole login screen

See this wiki post regarding Customizing the Apache Guacamole Login Screen for details on another repo of mine to accomplish this.

Apache Guacamole Install Script Information

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].