How to install guacamole server on CentOS

Make sure centos release is latest (Or at least 6.6)

yum update

Then make sure EPEL repository is active (set enabled=1)

This will install the server components:

yum install uuid libwebp guacd libguac-client-*
chkconfig guacd on

This will install the client components (web application):

yum install tomcat6
chkconfig tomcat6 on

Then you need to download the main Guacamole web application archive from the Guacamole homepage. Place the downloaded war file in /var/libt/tomcat6/webapps for Tomcat consumption.

mv guacamole-0.8.3.war /var/lib/tomcat6/webapps/guacamole.war

These would place your guacamole related configuration files in /etc/guacamole:

mkdir -p /etc/guacamole
echo "export GUACAMOLE_HOME=/etc/guacamole" > /etc/profile.d/guacamole.sh
echo "setenv GUACAMOLE_HOME /etc/guacamole" > /etc/profile.d/guacamole.csh
chcon system_u:object_r:bin_t:s0 /etc/profile.d/guacamole.*

This does not actually let you log in yet. At bare minimum you need to set up 2 files in /etc/guacamole:

guacamole.properties

guacd-hostname: localhost
guacd-port:     4822
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml

user-mapping.xml

<user-mapping>
    <!-- Per-user authentication and config information -->
    <authorize username="USERNAME" password="PASSWORD">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">5900</param>
        <param name="password">VNCPASS</param>
    </authorize>

    <!-- Another user, but using md5 to hash the password
         (example below uses the md5 hash of "PASSWORD") -->
    <authorize
            username="USERNAME2"
            password="319f4d26e3c536b5dd871bb2c52e3178"
            encoding="md5">

        <!-- First authorized connection -->
        <connection name="localhost">
            <protocol>vnc</protocol>
            <param name="hostname">localhost</param>
            <param name="port">5901</param>
            <param name="password">VNCPASS</param>
        </connection>

        <!-- Second authorized connection -->
        <connection name="otherhost">
            <protocol>vnc</protocol>
            <param name="hostname">otherhost</param>
            <param name="port">5900</param>
            <param name="password">VNCPASS</param>
        </connection>
    </authorize>
</user-mapping>

To start the guacamole server:

service guacd start
service tomcat6 start

The above 2 files let you log in as USERNAME2 with the password PASSWORD only on the local machine using URL http://127.0.0.1:8080/guacamole/

guacamole (last edited 2016-01-19 00:22:32 by fuzzy)