Guacamole Server Installation

From Michael's Information Zone
Jump to navigation Jump to search

Guacamole 0.9.11

CentOS 7

Installation

[1]

Server

For RDP and VNC support (omitting SSH and telnet to reduce attack surface)

[root@guac ~]# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
[root@guac ~]# yum install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel uuid-devel ffmpeg-devel freerdp-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel gcc 

[root@guac ~]# wget "http://apache.org/dyn/closer.cgi?action=download&filename=incubator/guacamole/0.9.11-incubating/source/guacamole-server-0.9.11-incubating.tar.gz"
[root@guac ~]# mv closer.cgi\?action\=download\&filename\=incubator%2Fguacamole%2F0.9.11-incubating%2Fsource%2Fguacamole-server-0.9.11-incubating.tar.gz guacamole-server-0.9.11-incubating.tar.gz

[root@guac ~]# cd guacamole-server-0.9.11-incubating

[root@guac guacamole-server-0.9.11-incubating]# ./configure --with-init-dir=/root/
[root@guac guacamole-server-0.9.11-incubating]# make
[root@guac guacamole-server-0.9.11-incubating]# make install
[root@guac guacamole-server-0.9.11-incubating]# ldconfig

Client

[2][3][4]

[root@guac ~]# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel tomcat
[root@guac ~]# wget http://mirror.reverse.net/pub/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
[root@guac ~]# tar xvf apache-maven-3.3.9-bin.tar.gz 
[root@guac ~]# cd apache-maven-3.3.9
[root@guac ~]# mv apache-maven-3.3.9/ /opt/maven
[root@guac ~]# ln -s /opt/maven/bin/mvn /usr/bin/mvn
[root@guac ~]# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre

[root@guac ~]# wget "http://apache.org/dyn/closer.cgi?action=download&filename=incubator/guacamole/0.9.11-incubating/source/guacamole-client-0.9.11-incubating.tar.gz"
[root@guac ~]# mv closer.cgi\?action\=download\&filename\=incubator%2Fguacamole%2F0.9.11-incubating%2Fsource%2Fguacamole-client-0.9.11-incubating.tar.gz guacamole-client-0.9.11-incubating.tar.gz

[root@guac ~]# tar xfv guacamole-client-0.9.11-incubating.tar.gz
[root@guac ~]# cd guacamole-client-0.9.11-incubating
[root@guac guacamole-client-0.9.11-incubating]# mvn package
[root@guac guacamole-client-0.9.11-incubating]# cp guacamole/target/guacamole-0.9.11-incubating.war /var/lib/tomcat/webapps/guacamole.war
[root@guac guacamole-client-0.9.11-incubating]# systemctl enable tomcat
[root@guac guacamole-client-0.9.11-incubating]# systemctl start tomcat

Configuration

[5]

Troubleshooting Notes

[6]Posted by Michael Jumper

The user-mapping.xml file is not part of the install. Installing guacamole.war does nothing more than install guacamole.war - no other files will be created. Your servlet container (Tomcat, in this case) may extract that war file, but there is really nothing else that should be happening here.
The directories mentioned in the installation documentation, such as GUACAMOLE_HOME, are expected to be created by you if necessary. They will not exist already unless you have previously installed Guacamole, and you should not repurpose an existing directory for GUACAMOLE_HOME.
I would highly recommend against using Tomcat's own working directory as GUACAMOLE_HOME. I don't know whether Tomcat is expecting external modifications to its own working data, nor what the effects will be of having two different applications (Tomcat and Guacamole) looking at the same location for two distinct sets of files. Things should not overlap in this way.
Guacamole does contain its own logback.xml file, but it's not what you think. We include a copy of this file within the source, and thus within the war, for the sake of providing defaults, but its presence does not indicate that you've found GUACAMOLE_HOME. The directory for GUACAMOLE_HOME will only exist if you yourself created it: http://guac-dev.org/doc/gug/configuring-guacamole.html#guacamole-home
I would recommend:

   Removing what you have done so far within tomcat7/webapps/. Start over completely if necessary: http://guac-dev.org/doc/gug/installing-guacamole.html#deploying-guacamole
    Create a new directory for GUACAMOLE_HOME. I typically use .guacamole within the "tomcat7" user's home directory, as this is easiest, but if you wish to explicitly set GUACAMOLE_HOME to something instead, /etc/guacamole is a good option.
    Place your user-mapping.xml file within that directory and try again. If you still get "invalid login", check your Tomcat logs to see what might be going wrong.


If you encounter anything confusing, just post back here and we'll try to help. Flailing about randomly will only cause further problems.
The chapter on installation is very thorough. If you find yourself veering from the documentation because you encountered something unexpected, then one of two things is happening:

   You are doing something wrong in your installation.
    We did something wrong in the docs.


Either way, just post back here and we'll figure things out.