Skip to content

Instantly share code, notes, and snippets.

@Kalki5
Last active January 5, 2019 14:31
Show Gist options
  • Select an option

  • Save Kalki5/fb135aaefce7dca1726b10bb2998944f to your computer and use it in GitHub Desktop.

Select an option

Save Kalki5/fb135aaefce7dca1726b10bb2998944f to your computer and use it in GitHub Desktop.
Install Guacamole with JWT Extension
# Install Docker
sudo curl -sS https://get.docker.com/ | sh
sudo usermod -aG docker ${USER}
docker run --name guacd -d -p 4822:4822 guacamole/guacd
# Install Tomcat8
apt-get update
apt-get -y install build-essential tomcat8 wget
# Deploy Guacamole Client war
SERVER="http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/0.9.14"
wget -O guacamole-0.9.14.war ${SERVER}/binary/guacamole-0.9.14.war
mkdir -p /etc/guacamole
cp guacamole-0.9.14.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
echo -e "guacd-hostname:localhost\n
guacd-port:4822\n" >> /etc/guacamole/guacamole.properties
# Deploy JWT Extension
mkdir -p /etc/guacamole/lib /etc/guacamole/extensions
wget https://github.com/aiden0z/guacamole-auth-jwt/releases/download/0.9.14/guacamole-auth-jwt-0.9.14.jar
cp guacamole-auth-jwt-0.9.14.jar /etc/guacamole/extensions/
echo -e "auth-provider:com.aiden0z.guacamole.net.jwt.JwtAuthenticationProvider\n
secret-key:secret\n" >> /etc/guacamole/guacamole.properties
cd /etc/guacamole/lib
wget http://central.maven.org/maven2/io/jsonwebtoken/jjwt/0.7.0/jjwt-0.7.0.jar
wget http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.8.2/jackson-databind-2.8.2.jar
wget http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.8.2/jackson-core-2.8.2.jar
wget http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar
chown -R tomcat8:tomcat8 /etc/guacamole
# Restart Tomcat
service tomcat8 restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment