guac-install/guac-install-server.sh

72 lines
1.9 KiB
Bash
Raw Normal View History

#!/bin/bash
0.9.14 Release (#23) * Support Upgrade From Older Versions First I've added a MySQL Root Password Prompt, it will verify that the user is entering the correct password and will not continue until the MySQL Root Password is entered correctly. Second, I'm just getting the tomcat version number from /etc/ folder name...This seems to work well enough (instead of making the user edit the script manually)...Maybe someone can come up with a better solution? Third, I'm using the Version.js file to get the currently installed versions number. This allows for supporting multiple version number upgrades (E.G going from 0.8.2 to 0.9.14). The script will now loop through all of the SQL Upgrade files, and apply any that are newer than the OLDVERSION... I.E. Going from 0.9.9 to 0.9.13 should automatically install `upgrade-pre-0.9.10.sql` & `upgrade-pre-0.9.11.sql` & `upgrade-pre-0.9.13.sql` * Remove GUACAMOLE_HOME According to the documentation this is now a default search path, so this isn't required anymore * Version Control for Ubuntu and Debian This might need more work but it should install the proper packages for both Ubuntu and Debian and account for Tomcat 8.0.x and 8.5.x differences... http://tomcat.apache.org/whichversion.html 7.x does not say end of life... but 8.0.x does. The distro maintainers have different versions of Tomcat8 so we can check for 8.5.x or newer options and install, otherwise go the safer route and install Tomcat7 * Remove rm and ln of tomcat/.guacamole According to the documentation this is not required (it may not have been required to begin with?) * No Longer Incubating!
2018-01-20 15:23:04 +01:00
VERSION="0.9.14"
# Ubuntu and Debian have different names of the libjpeg-turbo library for some reason...
2017-11-12 18:13:45 +01:00
source /etc/lsb-release
if [ $DISTRIB_ID == "Ubuntu" ]
then
JPEGTURBO="libjpeg-turbo8-dev"
else
JPEGTURBO="libjpeg62-turbo-dev"
fi
2017-11-12 18:13:45 +01:00
# Ubuntu 16.10 has a different name for libpng12-dev for some reason...
if [ $DISTRIB_RELEASE == "16.10" ]
then
LIBPNG="libpng-dev"
else
LIBPNG="libpng12-dev"
fi
# Install Server Features
2017-08-22 04:48:58 +02:00
apt update
2017-11-12 18:13:45 +01:00
apt -y install build-essential libcairo2-dev ${JPEGTURBO} ${LIBPNG} libossp-uuid-dev libavcodec-dev libavutil-dev \
libswscale-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev \
2017-07-22 00:53:17 +02:00
libvorbis-dev libwebp-dev jq curl wget
2017-08-22 04:48:58 +02:00
# If apt fails to run completely the rest of this isn't going to work...
if [ $? != 0 ]
then
2017-08-22 04:48:58 +02:00
echo "apt failed to install all required dependencies."
exit
fi
2017-11-12 18:13:45 +01:00
# Set SERVER to be the preferred download server from the Apache CDN
2017-12-01 18:43:20 +01:00
SERVER="http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${VERSION}-incubating"
2017-08-22 04:48:58 +02:00
# Download Guacamole Files
2017-12-01 18:43:20 +01:00
wget -O guacamole-server-${VERSION}-incubating.tar.gz ${SERVER}/source/guacamole-server-${VERSION}-incubating.tar.gz
2017-12-01 18:56:25 +01:00
if [ ! -f ./guacamole-server-${VERSION}-incubating.tar.gz ]; then
echo "Failed to download guacamole-server-${VERSION}-incubating.tar.gz"
echo "${SERVER}/source/guacamole-server-${VERSION}-incubating.tar.gz"
exit
fi
# Extract Guacamole Files
tar -xzf guacamole-server-${VERSION}-incubating.tar.gz
2017-08-22 04:50:24 +02:00
# Make Directories
mkdir /etc/guacamole
2017-08-22 04:48:58 +02:00
# Install guacd
cd guacamole-server-${VERSION}-incubating
./configure --with-init-dir=/etc/init.d
make
make install
ldconfig
cd ..
# Configure guacamole.properties
echo "[server]" >> /etc/guacamole/guacd.conf
echo "bind_host = 0.0.0.0" >> /etc/guacamole/guacd.conf
echo "bind_port = 4822" >> /etc/guacamole/guacd.conf
# Configure startup
systemctl enable guacd
systemctl start guacd
# Cleanup
rm -rf guacamole-*