On Mon, Apr 16, 2018 at 8:08 AM, William Tyrell x1541 <wtyr...@tessy.com>
> I am running a centos 7 box with guacamole. I cannot figure out how to
> change the URL, and port on the server. I would love to change it from 8080
> to port 80, and change the URL from /guacamole.
> Does anyone know how to do this. I have attempted multiple articles online
> (including their guide which is for Ubuntu) and neither worked.
For changing the port, you have a couple of options:
- Modify the Tomcat configuration, server.xml, and locate the section where
the port is defined and change it to whatever you'd like it to run on.
Please note that there are security implications to this - in order for a
process, like Tomcat, to listen on privileged ports (< 1024), the process
has to be started with "root" privileges. Other applications (httpd,
nginx, etc.) have ways of working around this by starting as root and then
lowering to a different effective UID once the port is open, but Tomcat
does not. This means running Tomcat as root. It's an option, but a bad
one - don't do it. The location of the Tomcat configuration will vary
based on how you've installed Tomcat - if you installed from RPM (yum
install tomcat), it's probably in /etc/tomcat or something like that.
- Reverse Proxy your Tomcat install to another web server, like Apache or
Nginx. This is by far the most common way of accomplishing this, and
allows you not only to change the port but also to easily provide TLS
security to the Guacamole web application. You can find instructions for
this here: http://guacamole.apache.org/doc/gug/proxying-guacamole.html
- Play firewall games on Linux. Instead of doing either of the above,
Tomcat can continue to listen on port 80, but you can have the Linux
firewall (iptables) redirect traffic destined for port 80 to port 8080.
The Jenkins Wiki provides a good description of how to do this:
To change the URL path of Guacamole, again, depending on what you want to
do, you have a couple of options:
- Deploy guacamole.war using a different name. Tomcat deploys using the
name of the WAR file - so, guacamole.war deploys to /guacamole, guac.war
deploys to /guac, etc. If you want it deployed at the root context (/),
then you should be able to either change the Tomcat configuration or deploy
the war as ROOT.war (must be in caps).
- Using the proxy method mentioned above with httpd or Nginx, you can have
it proxy to a different location. This usually works, but may not always,
as certain URLs within the web application might still expect the path
where it's deployed, so it's best to do it at the Tomcat level and then
proxy accordingly using the same path.