mirror of
https://git.koehlerweb.org/frodovdr/guac-install
synced 2024-11-14 22:47:14 +01:00
parent
4ce4410dec
commit
722f99c5e5
50
README.md
50
README.md
@ -1,45 +1,43 @@
|
||||
|
||||
|
||||
# guac-install
|
||||
|
||||
Script for installing Guacamole 1.1.0 on Ubuntu 16.04 or newer (with MySQL, or remote MySQL). It should also work on pure [Debian](https://www.debian.org/), [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) or [Kali Linux](https://www.kali.org/). 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.
|
||||
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](https://github.com/bigredthelogger/guacamole)
|
||||
|
||||
## MFA/2FA
|
||||
|
||||
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 need to specify 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**
|
||||
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**
|
||||
|
||||
## How to Run:
|
||||
|
||||
### Download file directly from here:
|
||||
|
||||
<code>wget https://git.io/fxZq5</code>
|
||||
`wget https://git.io/fxZq5`
|
||||
|
||||
### Make it executable:
|
||||
|
||||
<code>chmod +x guac-install.sh</code>
|
||||
`chmod +x guac-install.sh`
|
||||
|
||||
### Run it as root:
|
||||
|
||||
Interactive (asks for passwords):
|
||||
|
||||
<code>./guac-install.sh</code>
|
||||
`./guac-install.sh`
|
||||
|
||||
Non-Interactive (values provided via cli):
|
||||
|
||||
<code>./guac-install.sh --mysqlpwd password --guacpwd password</code>
|
||||
`./guac-install.sh --mysqlpwd password --guacpwd password --nomfa --installmysql`
|
||||
|
||||
OR
|
||||
|
||||
<code>./guac-install.sh -r password -gp password</code>
|
||||
`./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!
|
||||
The default credentials are `guacadmin` as both username and password. Please change them or disable guacadmin after install!
|
||||
|
||||
# guac-upgrade
|
||||
|
||||
@ -51,43 +49,47 @@ If looks for the tomcat folder in /etc/ (E.G. `/etc/tomcat7` or `/etc/tomcat8`)
|
||||
|
||||
Install MySQL:
|
||||
|
||||
<code>-i or --installmysql</code>
|
||||
`-i or --installmysql`
|
||||
|
||||
Do *NOT* install MySQL:
|
||||
|
||||
<code>-n or --nomysql</code>
|
||||
`-n or --nomysql`
|
||||
|
||||
MySQL Host:
|
||||
|
||||
<code>-h or --mysqlhost</code>
|
||||
`-h or --mysqlhost`
|
||||
|
||||
MySQL Port:
|
||||
|
||||
<code>-p or --mysqlport</code>
|
||||
`-p or --mysqlport`
|
||||
|
||||
MySQL Root Password:
|
||||
|
||||
<code>-r or --mysqlpwd</code>
|
||||
`-r or --mysqlpwd`
|
||||
|
||||
Guacamole Database:
|
||||
|
||||
<code>-db or --guacdb</code>
|
||||
`-db or --guacdb`
|
||||
|
||||
Guacamole User:
|
||||
|
||||
<code>-gu or --guacuser</code>
|
||||
`-gu or --guacuser`
|
||||
|
||||
Guacamole User Password:
|
||||
|
||||
<code>-gp or --guacpwd</code>
|
||||
`-gp or --guacpwd`
|
||||
|
||||
No MFA (No TOTP + Duo):
|
||||
|
||||
`-o or --nomfa`
|
||||
|
||||
Install TOTP:
|
||||
|
||||
<code>-t or --totp</code>
|
||||
`-t or --totp`
|
||||
|
||||
Install Duo:
|
||||
|
||||
<code>-d or --duo</code>
|
||||
`-d or --duo`
|
||||
|
||||
NOTE: Only the switches for MySQL Host, MySQL Port and Guacamole Database are available in the upgrade script.
|
||||
|
||||
@ -100,18 +102,18 @@ NOTE: Only the switches for MySQL Host, MySQL Port and Guacamole Database are av
|
||||
|
||||
### Download file directly from here:
|
||||
|
||||
<code>wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-upgrade.sh</code>
|
||||
`wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-upgrade.sh`
|
||||
|
||||
### Make it executable:
|
||||
|
||||
<code>chmod +x guac-upgrade.sh</code>
|
||||
`chmod +x guac-upgrade.sh`
|
||||
|
||||
### Run it as root:
|
||||
|
||||
Interactive (asks for passwords):
|
||||
|
||||
<code>./guac-upgrade.sh</code>
|
||||
`./guac-upgrade.sh`
|
||||
|
||||
Non-Interactive (MySQL root password provided via cli):
|
||||
|
||||
<code>./guac-upgrade.sh --mysqlpwd password</code>
|
||||
`./guac-upgrade.sh --mysqlpwd password`
|
||||
|
@ -70,7 +70,7 @@ while [ "$1" != "" ]; do
|
||||
;;
|
||||
-gp | --guacpwd )
|
||||
shift
|
||||
guacpwd="$1"
|
||||
guacPwd="$1"
|
||||
;;
|
||||
|
||||
# MFA selection
|
||||
@ -79,6 +79,11 @@ while [ "$1" != "" ]; do
|
||||
;;
|
||||
-d | --duo )
|
||||
installDuo=true
|
||||
;;
|
||||
-o | --nomfa )
|
||||
installTOTP=false
|
||||
installDuo=false
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
@ -154,28 +159,36 @@ if [ -z "$guacDb" ]; then
|
||||
guacDb="guacamole_db"
|
||||
fi
|
||||
|
||||
# Get MySQL "Root" and "Guacamole User" password
|
||||
while true; do
|
||||
echo
|
||||
read -s -p "Enter ${mysqlHost}'s MySQL root password: " mysqlRootPwd
|
||||
echo
|
||||
read -s -p "Confirm ${mysqlHost}'s MySQL root password: " PROMPT2
|
||||
echo
|
||||
[ "$mysqlRootPwd" = "$PROMPT2" ] && break
|
||||
echo "Passwords don't match. Please try again."
|
||||
done
|
||||
if [ -z "${mysqlRootPwd}" ]; then
|
||||
# Get MySQL "Root" and "Guacamole User" password
|
||||
while true; do
|
||||
echo
|
||||
read -s -p "Enter ${mysqlHost}'s MySQL root password: " mysqlRootPwd
|
||||
echo
|
||||
read -s -p "Confirm ${mysqlHost}'s MySQL root password: " PROMPT2
|
||||
echo
|
||||
[ "$mysqlRootPwd" = "$PROMPT2" ] && break
|
||||
echo "Passwords don't match. Please try again."
|
||||
done
|
||||
else
|
||||
echo -e "${BLUE}Read MySQL password from command line argument${NC}"
|
||||
fi
|
||||
echo
|
||||
|
||||
while true; do
|
||||
echo -e "${BLUE}A new MySQL user will be created (${guacUser})${NC}"
|
||||
read -s -p "Enter ${mysqlHost}'s MySQL guacamole user password: " guacPwd
|
||||
echo
|
||||
read -s -p "Confirm ${mysqlHost}'s MySQL guacamole user password: " PROMPT2
|
||||
echo
|
||||
[ "$guacPwd" = "$PROMPT2" ] && break
|
||||
echo "Passwords don't match. Please try again."
|
||||
echo
|
||||
done
|
||||
if [ -z "${guacPwd}" ]; then
|
||||
while true; do
|
||||
echo -e "${BLUE}A new MySQL user will be created (${guacUser})${NC}"
|
||||
read -s -p "Enter ${mysqlHost}'s MySQL guacamole user password: " guacPwd
|
||||
echo
|
||||
read -s -p "Confirm ${mysqlHost}'s MySQL guacamole user password: " PROMPT2
|
||||
echo
|
||||
[ "$guacPwd" = "$PROMPT2" ] && break
|
||||
echo "Passwords don't match. Please try again."
|
||||
echo
|
||||
done
|
||||
else
|
||||
echo -e "${BLUE}Read MySQL password from command line argument${NC}"
|
||||
fi
|
||||
echo
|
||||
|
||||
if [ "$installMySQL" = true ]; then
|
||||
|
Loading…
Reference in New Issue
Block a user