mirror of
				https://git.koehlerweb.org/frodovdr/guac-install
				synced 2025-10-31 05:06:40 +01:00 
			
		
		
		
	
							
								
								
									
										188
									
								
								guac-install.sh
									
									
									
									
									
								
							
							
						
						
									
										188
									
								
								guac-install.sh
									
									
									
									
									
								
							| @@ -1,94 +1,94 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| VERSION="0.9.12" | ||||
|  | ||||
| # Grab a password for MySQL Root | ||||
| read -s -p "Enter the password that will be used for MySQL Root: " mysqlrootpassword | ||||
| debconf-set-selections <<< "mysql-server mysql-server/root_password password $mysqlrootpassword" | ||||
| debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $mysqlrootpassword" | ||||
|  | ||||
| # Grab a password for Guacamole Database User Account | ||||
| read -s -p "Enter the password that will be used for the Guacamole database: " guacdbuserpassword | ||||
|  | ||||
| # Install Features | ||||
| apt-get update | ||||
| apt-get -y install build-essential libcairo2-dev libjpeg-turbo8-dev libpng12-dev 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 \ | ||||
| libvorbis-dev libwebp-dev mysql-server mysql-client mysql-common mysql-utilities tomcat8 freerdp ghostscript jq wget curl | ||||
|  | ||||
| # If Apt-Get fails to run completely the rest of this isn't going to work... | ||||
| if [ $? != 0 ] | ||||
| then | ||||
|     echo "apt-get failed to install all required dependencies. Are you on Ubuntu 16.04 LTS?" | ||||
|     exit | ||||
| fi | ||||
|  | ||||
| SERVER=$(curl -s 'https://www.apache.org/dyn/closer.cgi?as_json=1' | jq --raw-output '.preferred|rtrimstr("/")') | ||||
|  | ||||
| # Add GUACAMOLE_HOME to Tomcat8 ENV | ||||
| echo "" >> /etc/default/tomcat8 | ||||
| echo "# GUACAMOLE EVN VARIABLE" >> /etc/default/tomcat8 | ||||
| echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat8 | ||||
|  | ||||
| # Download Guacample Files | ||||
| wget ${SERVER}/incubator/guacamole/${VERSION}-incubating/source/guacamole-server-${VERSION}-incubating.tar.gz | ||||
| wget ${SERVER}/incubator/guacamole/${VERSION}-incubating/binary/guacamole-${VERSION}-incubating.war | ||||
| wget ${SERVER}/incubator/guacamole/${VERSION}-incubating/binary/guacamole-auth-jdbc-${VERSION}-incubating.tar.gz | ||||
| wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.41.tar.gz | ||||
|  | ||||
| # Extract Guacamole Files | ||||
| tar -xzf guacamole-server-${VERSION}-incubating.tar.gz | ||||
| tar -xzf guacamole-auth-jdbc-${VERSION}-incubating.tar.gz | ||||
| tar -xzf mysql-connector-java-5.1.41.tar.gz | ||||
|  | ||||
| # MAKE DIRECTORIES | ||||
| mkdir /etc/guacamole | ||||
| mkdir /etc/guacamole/lib | ||||
| mkdir /etc/guacamole/extensions | ||||
|  | ||||
| # Install GUACD | ||||
| cd guacamole-server-${VERSION}-incubating | ||||
| ./configure --with-init-dir=/etc/init.d | ||||
| make | ||||
| make install | ||||
| ldconfig | ||||
| systemctl enable guacd | ||||
| cd .. | ||||
|  | ||||
| # Move files to correct locations | ||||
| mv guacamole-${VERSION}-incubating.war /etc/guacamole/guacamole.war | ||||
| ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/ | ||||
| ln -s /usr/local/lib/freerdp/* /usr/lib/x86_64-linux-gnu/freerdp/. | ||||
| cp mysql-connector-java-5.1.41/mysql-connector-java-5.1.41-bin.jar /etc/guacamole/lib/ | ||||
| cp guacamole-auth-jdbc-${VERSION}-incubating/mysql/guacamole-auth-jdbc-mysql-${VERSION}-incubating.jar /etc/guacamole/extensions/ | ||||
|  | ||||
| # Configure guacamole.properties | ||||
| echo "mysql-hostname: localhost" >> /etc/guacamole/guacamole.properties | ||||
| echo "mysql-port: 3306" >> /etc/guacamole/guacamole.properties | ||||
| echo "mysql-database: guacamole_db" >> /etc/guacamole/guacamole.properties | ||||
| echo "mysql-username: guacamole_user" >> /etc/guacamole/guacamole.properties | ||||
| echo "mysql-password: $guacdbuserpassword" >> /etc/guacamole/guacamole.properties | ||||
| rm -rf /usr/share/tomcat8/.guacamole | ||||
| ln -s /etc/guacamole /usr/share/tomcat8/.guacamole | ||||
|  | ||||
| # restart tomcat | ||||
| service tomcat8 restart | ||||
|  | ||||
| # Create guacamole_db and grant guacamole_user permissions to it | ||||
|  | ||||
| # SQL Code | ||||
| SQLCODE=" | ||||
| create database guacamole_db; | ||||
| create user 'guacamole_user'@'localhost' identified by \"$guacdbuserpassword\"; | ||||
| GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost'; | ||||
| flush privileges;" | ||||
|  | ||||
| # Execute SQL Code | ||||
| echo $SQLCODE | mysql -u root -p$mysqlrootpassword | ||||
|  | ||||
| # Add Guacamole Schema to newly created database | ||||
| cat guacamole-auth-jdbc-${VERSION}-incubating/mysql/schema/*.sql | mysql -u root -p$mysqlrootpassword guacamole_db | ||||
|  | ||||
| # Cleanup | ||||
| rm -rf guacamole-* | ||||
| rm -rf mysql-connector-java-5.1.41* | ||||
| #!/bin/bash | ||||
|  | ||||
| VERSION="0.9.12" | ||||
|  | ||||
| # Grab a password for MySQL Root | ||||
| read -s -p "Enter the password that will be used for MySQL Root: " mysqlrootpassword | ||||
| debconf-set-selections <<< "mysql-server mysql-server/root_password password $mysqlrootpassword" | ||||
| debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $mysqlrootpassword" | ||||
|  | ||||
| # Grab a password for Guacamole Database User Account | ||||
| read -s -p "Enter the password that will be used for the Guacamole database: " guacdbuserpassword | ||||
|  | ||||
| # Install Features | ||||
| apt-get update | ||||
| apt-get -y install build-essential libcairo2-dev libjpeg-turbo8-dev libpng12-dev 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 \ | ||||
| libvorbis-dev libwebp-dev mysql-server mysql-client mysql-common mysql-utilities tomcat8 freerdp ghostscript jq wget curl | ||||
|  | ||||
| # If Apt-Get fails to run completely the rest of this isn't going to work... | ||||
| if [ $? != 0 ] | ||||
| then | ||||
|     echo "apt-get failed to install all required dependencies. Are you on Ubuntu 16.04 LTS?" | ||||
|     exit | ||||
| fi | ||||
|  | ||||
| SERVER=$(curl -s 'https://www.apache.org/dyn/closer.cgi?as_json=1' | jq --raw-output '.preferred|rtrimstr("/")') | ||||
|  | ||||
| # Add GUACAMOLE_HOME to Tomcat8 ENV | ||||
| echo "" >> /etc/default/tomcat8 | ||||
| echo "# GUACAMOLE EVN VARIABLE" >> /etc/default/tomcat8 | ||||
| echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat8 | ||||
|  | ||||
| # Download Guacample Files | ||||
| wget ${SERVER}/incubator/guacamole/${VERSION}-incubating/source/guacamole-server-${VERSION}-incubating.tar.gz | ||||
| wget ${SERVER}/incubator/guacamole/${VERSION}-incubating/binary/guacamole-${VERSION}-incubating.war | ||||
| wget ${SERVER}/incubator/guacamole/${VERSION}-incubating/binary/guacamole-auth-jdbc-${VERSION}-incubating.tar.gz | ||||
| wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.41.tar.gz | ||||
|  | ||||
| # Extract Guacamole Files | ||||
| tar -xzf guacamole-server-${VERSION}-incubating.tar.gz | ||||
| tar -xzf guacamole-auth-jdbc-${VERSION}-incubating.tar.gz | ||||
| tar -xzf mysql-connector-java-5.1.41.tar.gz | ||||
|  | ||||
| # MAKE DIRECTORIES | ||||
| mkdir /etc/guacamole | ||||
| mkdir /etc/guacamole/lib | ||||
| mkdir /etc/guacamole/extensions | ||||
|  | ||||
| # Install GUACD | ||||
| cd guacamole-server-${VERSION}-incubating | ||||
| ./configure --with-init-dir=/etc/init.d | ||||
| make | ||||
| make install | ||||
| ldconfig | ||||
| systemctl enable guacd | ||||
| cd .. | ||||
|  | ||||
| # Move files to correct locations | ||||
| mv guacamole-${VERSION}-incubating.war /etc/guacamole/guacamole.war | ||||
| ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/ | ||||
| ln -s /usr/local/lib/freerdp/* /usr/lib/x86_64-linux-gnu/freerdp/. | ||||
| cp mysql-connector-java-5.1.41/mysql-connector-java-5.1.41-bin.jar /etc/guacamole/lib/ | ||||
| cp guacamole-auth-jdbc-${VERSION}-incubating/mysql/guacamole-auth-jdbc-mysql-${VERSION}-incubating.jar /etc/guacamole/extensions/ | ||||
|  | ||||
| # Configure guacamole.properties | ||||
| echo "mysql-hostname: localhost" >> /etc/guacamole/guacamole.properties | ||||
| echo "mysql-port: 3306" >> /etc/guacamole/guacamole.properties | ||||
| echo "mysql-database: guacamole_db" >> /etc/guacamole/guacamole.properties | ||||
| echo "mysql-username: guacamole_user" >> /etc/guacamole/guacamole.properties | ||||
| echo "mysql-password: $guacdbuserpassword" >> /etc/guacamole/guacamole.properties | ||||
| rm -rf /usr/share/tomcat8/.guacamole | ||||
| ln -s /etc/guacamole /usr/share/tomcat8/.guacamole | ||||
|  | ||||
| # restart tomcat | ||||
| service tomcat8 restart | ||||
|  | ||||
| # Create guacamole_db and grant guacamole_user permissions to it | ||||
|  | ||||
| # SQL Code | ||||
| SQLCODE=" | ||||
| create database guacamole_db; | ||||
| create user 'guacamole_user'@'localhost' identified by \"$guacdbuserpassword\"; | ||||
| GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost'; | ||||
| flush privileges;" | ||||
|  | ||||
| # Execute SQL Code | ||||
| echo $SQLCODE | mysql -u root -p$mysqlrootpassword | ||||
|  | ||||
| # Add Guacamole Schema to newly created database | ||||
| cat guacamole-auth-jdbc-${VERSION}-incubating/mysql/schema/*.sql | mysql -u root -p$mysqlrootpassword guacamole_db | ||||
|  | ||||
| # Cleanup | ||||
| rm -rf guacamole-* | ||||
| rm -rf mysql-connector-java-5.1.41* | ||||
		Reference in New Issue
	
	Block a user