BLUF:
1) Disable IPv6
2) Make sure the symbolic link (or the war file) is named guacamole.war. If
it is guacamole-1.4.0.war then then the URL to access guacamole becomes
<hostname>:8080/guacamole-1.4.0/

Thanks for the quick help!!

I will need to read up on Tomcat setup to get that right. It looks like the
default for the Ubuntu tomcat9 package is a little off from what the guac
documentation expects. It doesn't appear to have an adverse effect. I did
get things up and running as is.

I'm glad that the install process isn't failing to create /etc/guacamole.
Variable eliminated.

I identified two issues that were blocking me. First is that with IPv6
enabled and no guacd configuration file, the daemon defaults to listening
on port 4822 on IPv6 localhost only. If I disable IPv6 with the following,
and restart, it then listens on localhost port 4822 IPv4.

sysctl -w net.ipv6.conf.all.disable_ipv6 = 1
sysctl -w net.ipv6.conf.default.disable_ipv6 = 1
sysctl -w net.ipv6.conf.lo.disable_ipv6 = 1

These can be done permanently:
https://itsfoss.com/disable-ipv6-ubuntu-linux/

The second issue is tomcat chooses the name of the folder it creates for
the webapp based on the filename of the webapp. Therefore, I needed to make
sure that I use the correct URL (or just change the war file name).

I am uncomfortable with the war file, which is an executable, being located
in /etc, so I think I will determine a better location for it to reside,
but other than that, I have a login screen and a reference point to build
and configure from going forward.

Here is the new snippet from my Vagrant install script. This handles none
of the configuration, but it does result in what appears to be a working
server and client (just unconfigured).

## Install Tomcat
apt-get install -y tomcat9

## Install Guacamole Server
apt-get install -y build-essential libcairo2-dev libjpeg-turbo8-dev
libpng-dev libtool-bin uuid-dev libwebp-dev libvncserver-dev
wget --no-verbose --show-progress --progress=bar:force -P /tmp
https://downloads.apache.org/guacamole/1.4.0/source/guacamole-server-1.4.0.tar.gz
2>&1
echo '2789075c8b25e5aa42dec505491d3425b7b2fe2051772b0006860c26e8a57b90
 /tmp/guacamole-server-1.4.0.tar.gz' | shasum -a 256 --check
tar -zxvf /tmp/guacamole-server-1.4.0.tar.gz -C /tmp
cd /tmp/guacamole-server-1.4.0/
./configure --with-init-dir=/etc/init.d --disable-guacenc
make
make install
ldconfig
systemctl daemon-reload
systemctl start guacd
systemctl enable guacd

## Install Guacamole Client
wget --no-verbose --show-progress --progress=bar:force -P /tmp
https://downloads.apache.org/guacamole/1.4.0/binary/guacamole-1.4.0.war 2>&1
echo '92fb06e3ce8fe4f932ddfdffd75a352c06ab58d3bd0a946faa5beda73e8592f0
 /tmp/guacamole-1.4.0.war' | shasum -a 256 --check
mkdir -p /opt/guacamole
mv -v /tmp/guacamole-1.4.0.war /opt/guacamole
ln -v -s /opt/guacamole/guacamole-1.4.0.war
/var/lib/tomcat9/webapps/guacamole.war

Reply via email to