Guacamole with MySQL on Ubuntu
The following will install Guacamole 0.9.11, Tomcat 8, and MySQL for you. All you have to do is pick a MySQL Root Password and change the guacamole_user password.
UPDATE: I tested this with a fresh install of Ubuntu 16.04.1 LTS. Everything has been updated to latest versions as of February 02, 2017.
If you would like you can download the “fully scripted” version of this like so:
wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-install.sh chmod +x guac-install.sh apt-get -y install dos2unix dos2unix guac-install.sh ./guac-install.sh
Additional Credits to Emilio and Alex for the RDP fix(s) in comments section.
#!/bin/bash # WORKING ON UBUNTU 16.04.1 WITH GUAC 0.9.11 AND TOMCAT8 #Install Stuff apt-get -y install 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 # 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 # Get your Preferred Mirror for download from Apache using jq SERVER=$(curl -s 'https://www.apache.org/dyn/closer.cgi?as_json=1' | jq --raw-output '.preferred') # Download Guacamole Files from Preferred Mirror wget $SERVER/incubator/guacamole/0.9.11-incubating/source/guacamole-server-0.9.11-incubating.tar.gz wget $SERVER/incubator/guacamole/0.9.11-incubating/binary/guacamole-0.9.11-incubating.war wget $SERVER/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-jdbc-0.9.11-incubating.tar.gz # Download MYSQL Connector wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.40.tar.gz #Extract Guacamole and MYSQL Connector tar -xzf guacamole-server-0.9.11-incubating.tar.gz tar -xzf guacamole-auth-jdbc-0.9.11-incubating.tar.gz tar -xzf mysql-connector-java-5.1.40.tar.gz # MAKE DIRECTORIES mkdir /etc/guacamole mkdir /etc/guacamole/lib mkdir /etc/guacamole/extensions # Install GUACD cd guacamole-server-0.9.11-incubating ./configure --with-init-dir=/etc/init.d make make install ldconfig systemctl enable guacd cd .. # Move files to correct locations mv guacamole-0.9.11-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.40/mysql-connector-java-5.1.40-bin.jar /etc/guacamole/lib/ cp guacamole-auth-jdbc-0.9.11-incubating/mysql/guacamole-auth-jdbc-mysql-0.9.11-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
This is where you will want to change “PASSWORD”
echo "mysql-password: PASSWORD" >> /etc/guacamole/guacamole.properties rm -rf /usr/share/tomcat8/.guacamole ln -s /etc/guacamole /usr/share/tomcat8/.guacamole # Restart Tomcat Service service tomcat8 restart
Setup MySQL, change the MYSQLROOTPASSWORD to whatever you set it to and if you change the guacamaole_user password here be sure to go back and change it in /etc/guacamole/guacamole.properties
mysql -u root -pMYSQLROOTPASSWORD create database guacamole_db; create user 'guacamole_user'@'localhost' identified by 'PASSWORD'; GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost'; flush privileges; quit
Populate the database you just created. Again, change the MYSQLROOTPASSWORD
cat guacamole-auth-jdbc-0.9.11-incubating/mysql/schema/*.sql | mysql -u root -pMYSQLROOTPASSWORD guacamole_db
Now just log into your guacamole server using the default “guacadmin/guacadmin” and set it up. If you want you can remove all the downloads (cleanup)
# Cleanup Downloads rm -rf guacamole-* rm -rf mysql-connector-java-5.1.40*
I recommend that you restart now to make sure everything sticks and works after reboot.
Source:http://www.chasewright.com/guacamole-with-mysql-on-ubuntu/