Guacamole Installation
Server
These are supposed to be the only necessary steps to install Guacamole, but the add-repository step didn't work:
sudo add-apt-repository ppa:guacamole/stable sudo apt-get install guacamole-tomcat
So, had to install from source. Installation of prerquisites:
Basic stuff:
sudo apt install make
Required stuff:
sudo apt install libcairo2-dev sudo apt install libjpeg-turbo8-dev sudo apt install libpng-dev sudo apt install libtool-bin sudo apt install libossp-uuid-dev
Optional stuff:
sudo apt install libvncclient1 #sudo apt install freerdp2-dev sudo apt install libssl-dev sudo apt install libssh2-1-dev sudo apt install libpango1.0-dev sudo apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev sudo apt install libvncserver-dev
Configuring:
./configure --with-init-dir=/etc/init.d --disable-dependency-tracking
Build and install:
make sudo make install sudo ldconfig
Client
Install tomcat:
sudo apt install tomcat9 sudo cp ~/Downloads/guacamole-1.3.0.war /var/lib/tomcat9/webapps/ systemctl restart tomcat9
Note: after copying the war file to the webapps directory, and restarting Tomcat, it will un-jar the war file into guacamole-1.3.0. This makes the file accessible at http://localhost:8080/guacamole-1.3.0
. To make the URL more convenient, just move the unpacked directory to guacamole and then delete the war file:
mv /var/lib/tomcat9/webapps/guacamole-1.3.0 /var/lib/tomcat9/webapps/guacamole rm /var/lib/tomcat9/webapps/guacamole-1.3.0.war
The guad daemon must be restarted:
sudo /etc/init.d/guacd start
The Guacamole web will now be available at http://localhost:8080/guacamole
.
Xvnc
apt install xterm apt install tightvncserver
Configure guacd
cd /etc mkdir guacamole cd guacamole mkdir lib mkdir extensions
Edit guocamole.properties
and enter:
# Hostname and port of guacamole proxy guacd-hostname: localhost guacd-port: 4822
Edit user-mapping.xml
<user-mapping> <!-- Per-user authentication and config information --> <authorize username="foo" password="baz"> <protocol>vnc</protocol> <param name="hostname">127.0.0.1</param> <param name="port">5901</param> <param name="password">nitnarcu</param> </authorize> </user-mapping>