<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.amahi.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Raymond+Jones</id>
	<title>Amahi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.amahi.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Raymond+Jones"/>
	<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php/Special:Contributions/Raymond_Jones"/>
	<updated>2026-05-02T21:52:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=106001</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=106001"/>
		<updated>2016-11-02T20:40:31Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Install Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
Do NOT use this script on anything less than Amahi 9 / Fedora 23 unless you edit it first to match your systems' requirements.  (See [[Guacamole#Install Dependencies|Install Dependencies]] to learn what changes are necessary.)&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora 23 ''freerdp'' packages being unstable, we must use the CentOS stable version.  (Do not do this if you are installing on Fedora 21 or below)  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt; and add &amp;lt;code&amp;gt;freerdp-devel&amp;lt;/code&amp;gt; to the list of dependencies):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;RDP&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  The side effect is that, when using RDP, a technician (using Guacamole) and client (on their Window computer) cannot see the same active desktop simultaneously.  As a workaround, one can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect through Guacamole to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105996</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105996"/>
		<updated>2016-11-02T20:36:15Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Install Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
Do NOT use this script on anything less than Amahi 9 / Fedora 23 unless you edit it first to match your systems' requirements.  (There are hints below as to what changes are necessary.)&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora 23 ''freerdp'' packages being unstable, we must use the CentOS stable version.  (Do not do this if you are installing on Fedora 21 or below)  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt; and add &amp;lt;code&amp;gt;freerdp-devel&amp;lt;/code&amp;gt; to the list of dependencies):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;RDP&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  The side effect is that, when using RDP, a technician (using Guacamole) and client (on their Window computer) cannot see the same active desktop simultaneously.  As a workaround, one can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect through Guacamole to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105991</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105991"/>
		<updated>2016-11-02T20:14:46Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Install Dependencies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora 23 ''freerdp'' packages being unstable, we must use the CentOS stable version.  (Do not do this if you are installing on Fedora 21 or below)  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt; and add &amp;lt;code&amp;gt;freerdp-devel&amp;lt;/code&amp;gt; to the list of dependencies):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;RDP&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  The side effect is that, when using RDP, a technician (using Guacamole) and client (on their Window computer) cannot see the same active desktop simultaneously.  As a workaround, one can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect through Guacamole to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105986</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105986"/>
		<updated>2016-11-02T20:13:27Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Install Dependencies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora 23 ''freerdp'' packages being unstable, we must use the CentOS stable version.  (Do not do this if you are installing on Fedora 21 or below)  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt; and add ''freerdp-devel'' to the list or dependencies):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;RDP&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  The side effect is that, when using RDP, a technician (using Guacamole) and client (on their Window computer) cannot see the same active desktop simultaneously.  As a workaround, one can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect through Guacamole to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105981</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105981"/>
		<updated>2016-11-02T19:49:20Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole RDP Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;RDP&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  The side effect is that, when using RDP, a technician (using Guacamole) and client (on their Window computer) cannot see the same active desktop simultaneously.  As a workaround, one can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect through Guacamole to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105976</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105976"/>
		<updated>2016-11-02T19:44:49Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole RDP Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;RDP&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect through Guacamole to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105971</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105971"/>
		<updated>2016-11-02T19:42:46Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole VNC Connections to Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect through Guacamole to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105966</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105966"/>
		<updated>2016-11-02T19:39:49Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole RDP Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105961</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105961"/>
		<updated>2016-11-02T19:39:06Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole Settings to Connect to the Windows client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Special Note: Once settings are in place, users can click on their User Name in the upper right corner and choose &amp;quot;Home&amp;quot; from the drop-down menu to return to the home screen and use pre-configured connections.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105956</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105956"/>
		<updated>2016-11-02T19:37:10Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole Settings to Connect to the Windows client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904).&lt;br /&gt;
 Password: The VNC Password set earlier in the Windows UltraVNC client software.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105951</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105951"/>
		<updated>2016-11-02T19:35:16Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole Settings to Connect to the Windows client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
After logging in to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for a VNC connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it (One can put &amp;quot;VNC&amp;quot; within the name so as to differentiate between connections types in the list)&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: VNC&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
 Port: The Main port number which was set in the Windows UltraVNC client software (e.g. 5904)&lt;br /&gt;
 Password: The &lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105946</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105946"/>
		<updated>2016-11-02T19:27:50Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole VNC Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
====UltraVNC Settings for Windows====&lt;br /&gt;
Be sure to install UltraVNC to run as a service on the client system.  Once UltraVNC is installed on the Windows computer, right-click on the system tray icon and choose &amp;quot;Admin Properties&amp;quot; from the menu that comes up.  Set the following values:&lt;br /&gt;
&lt;br /&gt;
 Display Number or Ports to use: Select Ports and set Main and Http so something specific (e.g. 5904, 5804)&lt;br /&gt;
 Authentication: Set both the VNC Password and the View-Only Password.  (Write them down. You will need it later.)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; and then give permission for the program to make changes to your system.&lt;br /&gt;
&lt;br /&gt;
====Guacamole Settings to Connect to the Windows client====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105941</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105941"/>
		<updated>2016-11-02T19:15:37Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole VNC Connections to Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''2''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105936</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105936"/>
		<updated>2016-11-02T19:15:12Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''1''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105931</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105931"/>
		<updated>2016-11-02T19:14:48Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''1''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1''https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105926</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105926"/>
		<updated>2016-11-02T19:14:24Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''1''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1''https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;br /&gt;
''2'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105921</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105921"/>
		<updated>2016-11-02T19:13:43Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Enabling RDP in Windows Home and Basic Editions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; ''1''&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''1''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105916</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105916"/>
		<updated>2016-11-02T19:12:08Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole VNC Connections to Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
&amp;quot;In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.&amp;quot;''1''&lt;br /&gt;
&lt;br /&gt;
In order to connect to a client device by VNC, one needs to install VNC client software on the device and configure it to the user's desired specifications.  In this publication, we will use a Windows based client and UltraVNC software, though this is by no means prescriptive for everyone.&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
''1'' Richardson, T.; Stafford-Fraser, Q.; Wood, K. R.; Hopper, A. (1998). &amp;quot;Virtual network computing&amp;quot; (PDF). IEEE Internet Computing. 2: 33. doi:10.1109/4236.656066.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105886</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105886"/>
		<updated>2016-10-17T02:18:19Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole RDP Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by the user &amp;quot;Fred&amp;quot; by RDP using Guacamole, any other device signed in as &amp;quot;Fred&amp;quot; will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105881</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105881"/>
		<updated>2016-10-17T02:15:58Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole RDP Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect. (For example ''192.168.1.10'')&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by RDP using Guacamole, any other device signed in as the user profile you want to use will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105876</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105876"/>
		<updated>2016-10-17T01:51:55Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole VNC Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by RDP using Guacamole, any other device signed in as the user profile you want to use will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;br /&gt;
Coming Soon&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105871</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105871"/>
		<updated>2016-10-17T01:51:35Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole VNC Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by RDP using Guacamole, any other device signed in as the user profile you want to use will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Computers ==&lt;br /&gt;
Coming Soon&lt;br /&gt;
&lt;br /&gt;
===Guacamole VNC Connections to Windows Computers ===&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105866</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105866"/>
		<updated>2016-10-17T01:17:39Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole RDP Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by RDP using Guacamole, any other device signed in as the user profile you want to use will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;br /&gt;
&lt;br /&gt;
== Guacamole VNC Connections to Windows Computers ==&lt;br /&gt;
Coming Soon&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105861</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105861"/>
		<updated>2016-10-17T01:16:09Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* RDP Connections to Windows Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= Making Preset Connections in Guacamole =&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Guacamole RDP Connections to Windows Computers ==&lt;br /&gt;
After you have login to Guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by RDP using Guacamole, any other device signed in as the user profile you want to use will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105856</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105856"/>
		<updated>2016-10-17T00:54:22Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Making Preset Connections in Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= RDP Connections to Windows Computers =&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Making Preset Connections in Guacamole ==&lt;br /&gt;
After you have login to guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by RDP using Guacamole, any other device signed in as the user profile you want to use will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one needs to see what is currently happening on a Users computer under their account.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105851</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105851"/>
		<updated>2016-10-17T00:52:59Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Windows RDP Connections */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= RDP Connections to Windows Computers =&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;br /&gt;
&lt;br /&gt;
== Enabling RDP in Windows Home and Basic Editions ==&lt;br /&gt;
If you do not have Windows pro or ultimate versions you have to run a patch that activates RDP.&lt;br /&gt;
&lt;br /&gt;
RDP Wrapper Library is an option for enabling RDP features.  (Use this at your own risk.  Please read RDP Wrapper Library literature and follow directions to install.  Any problems are to be addressed with RDP Wrapper Library support.)&lt;br /&gt;
 https://github.com/stascorp/rdpwrap/releases&lt;br /&gt;
&lt;br /&gt;
If you have Windows Professional or Ultimate, you will need to &amp;quot;Allow Remote Access to Your Computer.&amp;quot;  (A simple Internet search of this phrase with your Windows version offers many tutorials on this.)&lt;br /&gt;
&lt;br /&gt;
== Making Preset Connections in Guacamole ==&lt;br /&gt;
After you have login to guacamole click on your login name in the upper right . &lt;br /&gt;
In the drop-down menu choose &amp;quot;Settings.&amp;quot; &lt;br /&gt;
Click on the Connections tab on the settings page. &lt;br /&gt;
Click the &amp;quot;New Connection&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
Below are some VERY basic settings for an RDP connection in Guacamole:&lt;br /&gt;
&lt;br /&gt;
 Name: whatever you want to call it&lt;br /&gt;
 Location: ROOT&lt;br /&gt;
 Protocol: RDP&lt;br /&gt;
&lt;br /&gt;
 Maximum number of connections: 2&lt;br /&gt;
 Maximum number of connections per user:2&lt;br /&gt;
&lt;br /&gt;
 Host Name: The fixed IP address of the computer to which you wished to connect.&lt;br /&gt;
&lt;br /&gt;
All the other settings are left either blank or as they were.&lt;br /&gt;
&lt;br /&gt;
Note: Using RDP, only one device at a time can be logged in under a specific user. If you are logging into a Windows computer by RDP using Guacamole, any other device signed in as the user profile you want to use will be logged out.  One can set up a VNC and an RDP connection for each Windows computer. RDP can be quicker and more fluid so use RDP when working alone and VNC when one need to see what is currently happening on a Users computer under their account.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105826</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105826"/>
		<updated>2016-10-16T23:50:13Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Access Outside the Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 9 (Fedora 23).  This guidance may work with other Amahi versions with some modification.&lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Install Guacamole =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have created a bash script to make installation simple or you can manually install using the guidance below.  You '''MUST''' complete the [[Guacamole#Create Amahi Web App|Create Amahi Web App]] step prior to executing the following:&lt;br /&gt;
 amahi-download &amp;lt;nowiki&amp;gt;https://www.dropbox.com/s/4hadafih8ahuj2n/install-guacamole.sh&amp;lt;/nowiki&amp;gt; d5c16b482f33ad9c046fc2876cfa38f184ac9a8b&lt;br /&gt;
 chmod 755 install-guacamole.sh&lt;br /&gt;
 ./install-guacamole.sh&lt;br /&gt;
&lt;br /&gt;
== Create Amahi Web App ==&lt;br /&gt;
Login to your Amahi Dashboard and install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
== Install Dependencies ==&lt;br /&gt;
Due to the Fedora ''freerdp'' packages being unstable, we must use the CentOS stable version.  To install, execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget https://www.dropbox.com/s/p2uc1rcpckky75v/libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/0tjm7q93z9pw0hj/freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
wget https://www.dropbox.com/s/aysml7coehz0hqi/freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh libxkbfile-1.0.8-5.el7.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-libs-1.0.2-6.el7_2.1.x86_64.rpm&lt;br /&gt;
rpm -Uvh freerdp-devel-1.0.2-6.el7_2.1.x86_64.rpm&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now install the Fedora dependencies:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel pango-devel \&lt;br /&gt;
 libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel dejavu-sans-mono-fonts terminus-fonts terminus-fonts-console&lt;br /&gt;
&lt;br /&gt;
== Configure MySQL Authentication ==&lt;br /&gt;
=== Install MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
=== Create the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Configure Database Settings ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
=== Load Guacamole Data ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Install Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Update Amahi Web App Files ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
== Start Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​systemctl restart tomcat&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Log In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from computers in the network via '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the ''****'' is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user name/password is ''guacadmin''/''guacadmin''. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside the Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;br /&gt;
&lt;br /&gt;
The safest and most secure method to access Guacamole is using [https://www.amahi.org/apps/openvpn OpenVPN] and an [[OpenVPN_clients|OpenVPN client]] from a smart phone, tablet, or computer.&lt;br /&gt;
&lt;br /&gt;
= RDP Connections to Windows Computers =&lt;br /&gt;
&amp;quot;Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection.&amp;quot; --''Wikipedia.org'' [https://en.wikipedia.org/wiki/Remote_Desktop_Protocol]&lt;br /&gt;
&lt;br /&gt;
In Guacamole, an administrative User can create Connections that will be available to Guacamole users.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105556</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105556"/>
		<updated>2016-10-12T13:07:25Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Starting Guacamole Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MessageBox|&lt;br /&gt;
backgroundcolor	= #faa|&lt;br /&gt;
image	=Warning.png|&lt;br /&gt;
heading	=WARNING|&lt;br /&gt;
message = This is recommended only for advanced users, proceed with caution.}}&lt;br /&gt;
= What is Guacamole? = &lt;br /&gt;
[https://guacamole.incubator.apache.org/ Guacamole] is an HTML5 remote desktop gateway that can be installed on Amahi 8 or newer.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
REF:  [http://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ Setting Up Web-Based Guacamole Tool to Access Remote Linux/Windows Machines]&lt;br /&gt;
&lt;br /&gt;
= Installing Guacamole on Amahi =&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''WARNING:''' All commands in this tutorial are executed as &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (or precede with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;).&amp;lt;/div&amp;gt;&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available.  Install them with the following:&lt;br /&gt;
For Fedora 23 or newer (Fedora 21, substitute &amp;lt;code&amp;gt;yum&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;dnf&amp;lt;/code&amp;gt;):&lt;br /&gt;
 dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel \&lt;br /&gt;
 pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel \&lt;br /&gt;
 libvorbis-devel libwebp-devel wget&lt;br /&gt;
&lt;br /&gt;
:'''NOTE:'''  You will need to install the Amahi [https://www.amahi.org/apps/web-apps Web Apps] plug-in to use this guidance. Ensure you '''enable''' [[Advanced Settings]].&lt;br /&gt;
&lt;br /&gt;
== Preparing Amahi ==&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
== Setting up MySQL Authentication ==&lt;br /&gt;
=== Creating the Database ===&lt;br /&gt;
 hda-create-db-and-user guacdb&lt;br /&gt;
&lt;br /&gt;
=== Installing MySQL Authentication Module ===&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
 mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
 tar -zxf mysql-connector-java-5.1.38.tar.gz&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
 mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
 mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
 mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
 systemctl restart mariadb.service&lt;br /&gt;
&lt;br /&gt;
=== Loading Guacamole's schema into the MySQL Tables ===&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
 cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ &lt;br /&gt;
and run the following command:&lt;br /&gt;
 cat ./*.sql | mysql -uroot -phda guacdb&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole Server ==&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
 cd /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
 tar -xzf guacamole-server-0.9.9.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
 cd guacamole-server-0.9.9/&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
 ./configure --with-init-dir=/etc/init.d&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 ldconfig&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole Client ==&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
 mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
 ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/&lt;br /&gt;
&lt;br /&gt;
== Guacamole's Configuration File ==&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
 mkdir -p /etc/guacamole/&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
 vi /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacdb&lt;br /&gt;
 mysql-password: guacdb&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
 ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/&lt;br /&gt;
&lt;br /&gt;
== Starting Guacamole Server ==&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
 ​service tomcat restart&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
 /etc/init.d/guacd start&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
 systemctl enable tomcat&lt;br /&gt;
 chkconfig guacd on&lt;br /&gt;
&lt;br /&gt;
= Configuring Guacamole and Amahi =&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's web app directory&lt;br /&gt;
 ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html&lt;br /&gt;
&lt;br /&gt;
Edit ''####-guacamole.conf'' in '''/etc/httpd/conf.d''' (replacing #### with the appropriate number):&lt;br /&gt;
 vi /etc/httpd/conf.d/####-guacamole.conf&lt;br /&gt;
&lt;br /&gt;
Right below the ''ServerAlias'' line, add the following:&lt;br /&gt;
 ProxyPass / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 ProxyPassReverse / &amp;lt;nowiki&amp;gt;http://localhost:8080/guacamole/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is ''apache'' and the group is ''users''.&lt;br /&gt;
 chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
 systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
= Logging In to Guacamole =&lt;br /&gt;
You can access the web login screen for Guacamole from other computers in the network you can access Guacamole by '''&amp;lt;nowiki&amp;gt;http://****:8080/guacamole&amp;lt;/nowiki&amp;gt;''' (Where the &amp;quot;****&amp;quot; is the IP address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
= Access Outside Network =&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  &lt;br /&gt;
&lt;br /&gt;
Then when you access Guacamole from outside your LAN you will need to add ''/guacamole'' to the end of your url. (&amp;lt;nowiki&amp;gt;http://servername.yourhda.com:1111/guacamole&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you do not add ''/guacamole'' to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105266</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105266"/>
		<updated>2016-10-10T03:07:23Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Configuring Guacamole and Amahi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code =  vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the .htaccess file and include the following:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105261</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105261"/>
		<updated>2016-10-10T03:03:53Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole's Configuration File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;lt;i&amp;gt;i&amp;lt;/i&amp;gt; key to begin inserting text into the guacamole.properties file and include the following contents:&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating this file, press the &amp;lt;i&amp;gt;Esc&amp;lt;/i&amp;gt; key to get back in command mode and &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; to write the changes and quit vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code =  vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating / editing this file &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; writes the changes and quits vi&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105256</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105256"/>
		<updated>2016-10-10T02:53:37Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Configuring Guacamole and Amahi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating / editing this file &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; writes the changes and quits vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code =  vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Again, if you use vi for creating / editing this file &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; writes the changes and quits vi&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105251</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105251"/>
		<updated>2016-10-10T02:52:40Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Guacamole's Configuration File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
If you use vi for creating / editing this file &amp;lt;i&amp;gt;:wq&amp;lt;/i&amp;gt; writes the changes and quits vi.&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105246</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105246"/>
		<updated>2016-10-10T01:34:12Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Starting Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105241</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105241"/>
		<updated>2016-10-10T01:33:21Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Deploying Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole ===&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat on # chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105236</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105236"/>
		<updated>2016-10-10T01:31:42Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Deploying Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the Guacamole Client web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat on # chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105231</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105231"/>
		<updated>2016-10-10T01:30:19Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Deploying Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the Guacamole Client web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat on # chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105226</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105226"/>
		<updated>2016-10-10T01:26:51Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Deploying Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the Guacamole Client web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105221</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105221"/>
		<updated>2016-10-10T01:25:40Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Deploying Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the Guacamole Client web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105216</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105216"/>
		<updated>2016-10-10T01:23:08Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Installing Guacamole Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105211</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105211"/>
		<updated>2016-10-10T01:22:41Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Installing Guacamole Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105206</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105206"/>
		<updated>2016-10-10T01:20:10Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Installing MySQL Authentication Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105201</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105201"/>
		<updated>2016-10-10T01:16:59Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Installing Guacamole on Amahi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel wget&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install.  If this is so Fedora / Amahi will skip that package.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105196</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105196"/>
		<updated>2016-10-10T01:15:04Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Installing Guacamole on Amahi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install so Fedora / Amahi will skip it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105191</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105191"/>
		<updated>2016-10-10T01:14:15Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Logging In to Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install so Fedora / Amahi will skip it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105186</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105186"/>
		<updated>2016-10-10T01:09:38Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Configuring Guacamole and Amahi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install so Fedora / Amahi will skip it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
{{Code| Code = sudo service httpd restart}}&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105181</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105181"/>
		<updated>2016-10-10T01:07:33Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Logging In to Guacamole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install so Fedora / Amahi will skip it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In /etc/httpd/conf.d/####-guacamole.conf, change &amp;quot;AllowOverride AuthConfig&amp;quot; to &amp;quot;AllowOverride FileInfo Limit Options Indexes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
From other computers in the network you can access Guacamole by http://****:8080/guacamole (Where the &amp;quot;****&amp;quot; is the ip address of your Amahi server).&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105176</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105176"/>
		<updated>2016-10-10T01:04:21Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Configuring Guacamole and Amahi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install so Fedora / Amahi will skip it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/tomcat/webapps/guacamole/* /var/hda/web-apps/guacamole/html}}&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # vi /var/hda/web-apps/guacamole/html/.htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo chown -R apache:users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In /etc/httpd/conf.d/####-guacamole.conf, change &amp;quot;AllowOverride AuthConfig&amp;quot; to &amp;quot;AllowOverride FileInfo Limit Options Indexes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105171</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105171"/>
		<updated>2016-10-10T00:59:24Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Starting Guacamole Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install so Fedora / Amahi will skip it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
Restart Tomcat.&lt;br /&gt;
{{Code| Code = sudo ​service tomcat restart​}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole Server.&lt;br /&gt;
{{Code| Code = sudo /etc/init.d/guacd start}}&lt;br /&gt;
&lt;br /&gt;
Configure Guacamole Server to start at boot.&lt;br /&gt;
{{Code| Code = sudo chkconfig tomcat on # chkconfig guacd on}}&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/tomcat6/webapps/guacamole/admin.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/agpl-3.0-standalone.html /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/client.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/guacamole-common-js /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/images /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/index.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/layouts /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/META-INF /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/scripts /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/styles /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/WEB-INF /var/hda/web-apps/guacamole/html&lt;br /&gt;
}}&lt;br /&gt;
*Hint: Count your links and make sure you have all of them!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # cd /var/hda/web-apps/guacamole/html&lt;br /&gt;
# gedit .htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chown -R apache /var/hda/web-apps/guacamole&lt;br /&gt;
# chgrp -R users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In /etc/httpd/conf.d/####-guacamole.conf, change &amp;quot;AllowOverride AuthConfig&amp;quot; to &amp;quot;AllowOverride FileInfo Limit Options Indexes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105166</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105166"/>
		<updated>2016-10-09T22:56:04Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Installing Guacamole Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install so Fedora / Amahi will skip it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Guacamole's Configuration File ===&lt;br /&gt;
Create a directory for the configuration file.&lt;br /&gt;
&lt;br /&gt;
{{Code| Code = sudo mkdir -p /etc/guacamole/}}&lt;br /&gt;
&lt;br /&gt;
Create a file called &amp;quot;guacamole.properties&amp;quot; in that directory&lt;br /&gt;
{{Code| Code = sudo vi /etc/guacamole/guacamole.properties}}&lt;br /&gt;
and include the following contents&lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacdb&lt;br /&gt;
 mysql-username: guacuser&lt;br /&gt;
 mysql-password: guacDBpass&lt;br /&gt;
 &lt;br /&gt;
 # Additional settings&lt;br /&gt;
 mysql-default-max-connections-per-user: 0&lt;br /&gt;
 mysql-default-max-group-connections-per-user: 0&lt;br /&gt;
&lt;br /&gt;
Now create a symbolic link of this file for Tomcat&lt;br /&gt;
{{Code| Code = sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/}}&lt;br /&gt;
&lt;br /&gt;
=== Starting Guacamole Server ===&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/tomcat6/webapps/guacamole/admin.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/agpl-3.0-standalone.html /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/client.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/guacamole-common-js /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/images /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/index.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/layouts /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/META-INF /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/scripts /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/styles /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/WEB-INF /var/hda/web-apps/guacamole/html&lt;br /&gt;
}}&lt;br /&gt;
*Hint: Count your links and make sure you have all of them!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # cd /var/hda/web-apps/guacamole/html&lt;br /&gt;
# gedit .htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chown -R apache /var/hda/web-apps/guacamole&lt;br /&gt;
# chgrp -R users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In /etc/httpd/conf.d/####-guacamole.conf, change &amp;quot;AllowOverride AuthConfig&amp;quot; to &amp;quot;AllowOverride FileInfo Limit Options Indexes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105161</id>
		<title>Guacamole</title>
		<link rel="alternate" type="text/html" href="https://wiki.amahi.org/index.php?title=Guacamole&amp;diff=105161"/>
		<updated>2016-10-09T22:40:48Z</updated>

		<summary type="html">&lt;p&gt;Raymond Jones: /* Installing Guacamole Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsUpdate}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is Guacamole? == &lt;br /&gt;
Guacamole is an HTML5 remote desktop gateway.  &lt;br /&gt;
&lt;br /&gt;
Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.&lt;br /&gt;
&lt;br /&gt;
No browser plugins are needed, and no client software needs to be installed.  The client requires nothing more than a web browser supporting HTML5 and AJAX.&lt;br /&gt;
&lt;br /&gt;
== Installing Guacamole on Amahi ==&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
The following dependencies are included so as to make as many features in Guacamole available to the installer.&lt;br /&gt;
&lt;br /&gt;
In terminal, as root, install dependencies with the following:&lt;br /&gt;
&lt;br /&gt;
For Fedora 21 or lower&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo yum install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
For Fedora 23 or higher&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = $ su&lt;br /&gt;
Password: &lt;br /&gt;
# sudo dnf install tomcat gcc cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Some packages may be already included in your Amahi install so Fedora / Amahi will skip it.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Amahi ===&lt;br /&gt;
Login to your Amahi Dashboard and choose &amp;quot;Set Up&amp;quot; in the upper right.&lt;br /&gt;
Now select the &amp;quot;Apps&amp;quot; tab.&lt;br /&gt;
Click on &amp;quot;Webapps&amp;quot; and on the page that comes up choose the &amp;quot;New Web App&amp;quot; button at the bottom.&lt;br /&gt;
Fill in the name (guacamole) and leave everything else as it is.&lt;br /&gt;
&lt;br /&gt;
* Note: If you do not see the &amp;quot;Webapps&amp;quot; option under &amp;quot;Apps&amp;quot; then you need to activate &amp;quot;Advanced Settings&amp;quot; under the &amp;quot;Settings&amp;quot; tab of your Amahi dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Setting up MySQL Authentication ===&lt;br /&gt;
==== Creating the Database ====&lt;br /&gt;
In terminal, run the following command&lt;br /&gt;
{{Code|Code = sudo mysql -u root -p}}&lt;br /&gt;
The password requested is the root user password for MySQL on Amahi;  In MariaDB enter the following:&lt;br /&gt;
{{Code|Code = create database guacdb;}}&lt;br /&gt;
{{Code|Code = create user 'guacuser'@'localhost' identified by 'guac123';}}&lt;br /&gt;
{{Code|Code = grant select,insert,update,delete on guacdb.* to 'guacuser'@'localhost';}}&lt;br /&gt;
{{Code|Code = flush privileges;}}&lt;br /&gt;
{{Code|Code = quit}}&lt;br /&gt;
&lt;br /&gt;
==== Installing MySQL Authentication Module ====&lt;br /&gt;
Create a working directory and move there&lt;br /&gt;
&lt;br /&gt;
{{Code|Code = sudo mkdir -p /var/hda/web-apps/guacamole/sqlauth &amp;amp;&amp;amp; cd /var/hda/web-apps/guacamole/sqlauth}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole's authorization module&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-0.9.9.tar.gz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf guacamole-auth-jdbc-0.9.9.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Download MySQL and Java Connector&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo wget http://dev.mysql.com/get/Downloads/Connector/j/mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Unpack it&lt;br /&gt;
{{Code|Code = sudo tar -zxf mysql-connector-java-5.1.38.tar.gz}}&lt;br /&gt;
&lt;br /&gt;
Create directories for the extensions in Tomcat's folders&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Move the modules to their respective directories.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv guacamole-auth-jdbc-0.9.9/mysql/guacamole-auth-jdbc-mysql-0.9.9.jar /usr/share/tomcat/.guacamole/extensions/&lt;br /&gt;
}}&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = sudo mv mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/tomcat/.guacamole/lib/&lt;br /&gt;
}}&lt;br /&gt;
Restart MariaDB&lt;br /&gt;
{{Code| Code = sudo systemctl restart mariadb.service}}&lt;br /&gt;
&lt;br /&gt;
==== Loading Guacamole's schema into the MySQL Tables ====&lt;br /&gt;
The schema for MySQL was downloaded in the previous process.&lt;br /&gt;
Just change directories to the files location&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = cd /var/hda/web-apps/guacamole/sqlauth/guacamole-auth-jdbc-0.9.9/mysql/schema/ }}&lt;br /&gt;
and run the following command:&lt;br /&gt;
 sudo cat ./*.sql | mysql -u root -p guacdb&lt;br /&gt;
The above is bash code.  I have to format it differently to get all of the code to show on this wiki page.&lt;br /&gt;
&lt;br /&gt;
The password requested is the root user password for MySQL.&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Server ===&lt;br /&gt;
Guacamole uses &amp;quot;guacd&amp;quot;, a Guacamole server and a Guacamole Client for users to connect to the &amp;quot;guacd&amp;quot; server.  We first install Guacamole Server.&lt;br /&gt;
&lt;br /&gt;
Change Directories&lt;br /&gt;
{{Code|Code = cd /var/hda/web-apps/guacamole}}&lt;br /&gt;
&lt;br /&gt;
Download Guacamole Server&lt;br /&gt;
{{Code|Code = sudo wget https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Unpackage it&lt;br /&gt;
{{Code|Code = tar -xzf guacamole-server-0.9.9.tar.gz}}&lt;br /&gt;
Move to the Guacamole source code directory&lt;br /&gt;
{{Code|Code = cd guacamole-server-0.9.9/}}&lt;br /&gt;
Configure, make and install it.&lt;br /&gt;
{{Code|Code = sudo ./configure --with-init-dir=/etc/init.d}}&lt;br /&gt;
{{Code|Code = sudo make}}&lt;br /&gt;
{{Code|Code = sudo make install}}&lt;br /&gt;
{{Code|Code = sudo ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
Create a new directory and move to it.&lt;br /&gt;
{{Code| Code = sudo mkdir -p /var/lib/guacamole &amp;amp;&amp;amp; cd /var/lib/guacamole/}}&lt;br /&gt;
Download Guacamole Client.&lt;br /&gt;
{{Code| Code = sudo wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war -O guacamole.war}}&lt;br /&gt;
Create a symbolic link of the file for Tomcat.&lt;br /&gt;
{{Code| Code = sudo ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat/webapps/}}&lt;br /&gt;
&lt;br /&gt;
=== Installing Guacamole Client ===&lt;br /&gt;
You will need to edit /etc/guacamole/guacamole.properties&lt;br /&gt;
&lt;br /&gt;
Start at the line &amp;quot;# Hostname and port of guacamole proxy&amp;quot; and replace everything below it with this:&lt;br /&gt;
&lt;br /&gt;
 guacd-hostname: localhost&lt;br /&gt;
 guacd-port:     4822&lt;br /&gt;
 &lt;br /&gt;
 # Auth provider class (authenticates user/pass combination, needed if using the provided login screen)&lt;br /&gt;
 auth-provider: net.sourceforge.guacamole.net.auth.mysql.MySQLAuthenticationProvider&lt;br /&gt;
 basic-user-mapping: /etc/guacamole/user-mapping.xml&lt;br /&gt;
 &lt;br /&gt;
 # Location to read extra .jar's from&lt;br /&gt;
 lib-directory:  /var/lib/guacamole/classpath&lt;br /&gt;
 &lt;br /&gt;
 # MySQL properties&lt;br /&gt;
 mysql-hostname: localhost&lt;br /&gt;
 mysql-port: 3306&lt;br /&gt;
 mysql-database: guacamole&lt;br /&gt;
 mysql-username: guacamole&lt;br /&gt;
 mysql-password: some_password&lt;br /&gt;
&lt;br /&gt;
Use the real password you chose when creating the MySQL database for the Guacamole database in place of the string &amp;quot;some_password&amp;quot; as shown above.&lt;br /&gt;
&lt;br /&gt;
=== Deploying Guacamole ===&lt;br /&gt;
To deploy Guacamole, you must make two symbolic links: one effectively copying the web application (now located at /var/lib/guacamole/guacamole.war) into the directory Tomcat monitors for web application deployment, and the other effectively copying the configuration file, guacamole.properties, into the Tomcat's classpath, such that Guacamole can find it once it runs. This must be done as root:&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/guacamole/guacamole.war /var/lib/tomcat6/webapps&lt;br /&gt;
# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/lib&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart Tomcat&lt;br /&gt;
{{Code|Code = service tomcat6 restart}}&lt;br /&gt;
&lt;br /&gt;
Start Guacamole's service&lt;br /&gt;
{{Code|Code = service guacd start}}&lt;br /&gt;
&lt;br /&gt;
Now configure the tomcat6 and guacd services to run automatically&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chkconfig tomcat6 on&lt;br /&gt;
# chkconfig guacd on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Configuring Guacamole and Amahi ==&lt;br /&gt;
Create Symbolic links between guacamole in Tomcat and Amahi's webapp directory&lt;br /&gt;
&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # ln -s /var/lib/tomcat6/webapps/guacamole/admin.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/agpl-3.0-standalone.html /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/client.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/guacamole-common-js /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/images /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/index.xhtml /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/layouts /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/META-INF /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/scripts /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/styles /var/hda/web-apps/guacamole/html&lt;br /&gt;
# ln -s /var/lib/tomcat6/webapps/guacamole/WEB-INF /var/hda/web-apps/guacamole/html&lt;br /&gt;
}}&lt;br /&gt;
*Hint: Count your links and make sure you have all of them!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As root, create .htaccess file in /var/hda/web-apps/guacamole/html&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # cd /var/hda/web-apps/guacamole/html&lt;br /&gt;
# gedit .htaccess&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text for the .htaccess file:&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
 RewriteRule (.*) http://%{HTTP_HOST}:8080/guacamole [R,L]&lt;br /&gt;
&lt;br /&gt;
Make sure the owner of all the file is apache and the group is users.&lt;br /&gt;
{{Code|&lt;br /&gt;
Code = # chown -R apache /var/hda/web-apps/guacamole&lt;br /&gt;
# chgrp -R users /var/hda/web-apps/guacamole&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In /etc/httpd/conf.d/####-guacamole.conf, change &amp;quot;AllowOverride AuthConfig&amp;quot; to &amp;quot;AllowOverride FileInfo Limit Options Indexes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Logging In to Guacamole ==&lt;br /&gt;
You can access the web login screen for Guacamole from the server at http://127.0.0.1:8080/guacamole&lt;br /&gt;
&lt;br /&gt;
The default user is &amp;quot;guacadmin&amp;quot;, with the default password of &amp;quot;guacadmin&amp;quot;. You can change your password by editing your own user in the administration screen.&lt;br /&gt;
&lt;br /&gt;
With everything configured correctly you should be able to access the web login screen through Amahi at http://guacamole.yourhdaname.com:8080/guacamole/&lt;br /&gt;
&lt;br /&gt;
== Port Forwarding ==&lt;br /&gt;
If you want Guacamole's web interface to be accessible outside of your LAN you will have to forward a random, unused port (1111, for example) to port 8080 in your router.  Then when you access Guacamole from outside your LAN you will need to add &amp;quot;/guacamole&amp;quot; to the end of your url. (serverblahblah.yourhda.com:1111/guacamole)  If you do not add &amp;quot;/guacamole&amp;quot; to your url, you will see a blank page since you did not specify which application in Tomcat you wanted to access.&lt;/div&gt;</summary>
		<author><name>Raymond Jones</name></author>
		
	</entry>
</feed>