Refer to the official website of the guidance article for installation, details can be seen below the connection:
Https://guacamole.apache.org/doc/gug/installing-guacamole.html#deploying-guacamole
Next I will briefly describe the process: first, add the dependent library
1, add the necessary dependent libraries such as Cairo, Libjpeg-turbo, Libpng, OSSP UUID, you can use the following command:
Yum install cairo-devel libjpeg-devel libpng-devel uuid-devel
2. Add an optional library
To add a suggestion, use the following command:
Yum install ffmpeg-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel Pulseaudio-libs-devel Openssl-devel Libvorbis-devel Libwebp-devel
Second, download the installation packageThere are two installation packages, corresponding to the client and server installation package, can be downloaded according to the following path to the official website: https://guacamole.apache.org/releases/I downloaded the two installation package:
Guacamole-client-0.9.13-incubating.tar.gz is
used to provide Web applications where users can invoke the relevant functions of the server via the Web page
guacamole-server-0.9.13-incubating.tar.gz
provide the corresponding service
Third, compile the server1. Unpack the installation package
TAR-XVF guacamole-server-0.9.13-incubating.tar.gz
CD guacamole-server-0.9.13-incubating
2, pull git repository the latest code (if you do not want to use the latest code, you can ignore this step)
git clone git://github.com/apache/guacamole-server.git
3. Generate Configure
CD guacamole-server/
Autoreconf-fi
4, the implementation of configure
./configure--WITH-INIT-DIR=/ETC/INIT.D
5. Make and make install
Use make to generate the corresponding execution package and install it on the system using make install.
Iv. compiling the client package1. Decompression
$ TAR-XZF guacamole-client-0.9.13-incubating.tar.gz
$ cd guacamole-client-0.9.13-incubating/
2, update the code (if you do not want to use the latest code, you can ignore this step)
git clone git://github.com/apache/guacamole-client.git
3. Add dependencies specified by Maven project
MVN Package
I had a problem performing this step, as follows:
[ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.12:check (validate) on project Guacamole-client:too many files With unapproved license:108 see RAT Report in:/home/guacamole/guacamole-client-0.9.13-incubating/target/rat.txt- [Help 1]
[ERROR]
[ERROR] The full stack trace of the errors, re-run Maven with the-e switch.
[ERROR] Re-run Maven using The-x switch to enable full debug logging.
[ERROR]
[ERROR] For more information on the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] htt P://cwiki.apache.org/confluence/display/maven/mojofailureexception
[ERROR]
[ERROR] after correcting the Problems, you can resume the build with the command
[ERROR] mvn <goals>-rf:guacamole-client
Later on the Internet to find the next, with the following command to solve the problem
MVN Clean Install-drat.skip=true
4, copy to Tomcat under the WebApps
CP Guacamole/target/guacamole-0.9.13-incubating.war/var/lib/tomcat/webapps/guacamole.war
v. Launch the application
Tomcat start
GUACD start
At this point, the client and server are all set up, of course, only the compilation layer is done, to really use some related configuration.
vi.. Configuration1. Management Guacamole.properties (/etc/guacamole/guacamole.properties)
Guacd-hostname:localhost
guacd-port: 4822
user-mapping: /etc/guacamole/user-mapping.xml
Auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml
2, Management User-mapping.xml User-mapping.xml is used to do the user login permission control. The simple point is that you use the Web page to connect to the guacamole will prompt login, the corresponding login username and password are here to do control. However, guacamole is not used for Remote Desktop processing. So where to configure Remote Desktop information about it. The answer is also in this configuration file.
<user-mapping>
<authorize username= "Zzp" password= "Zzp" >
<connection name= "Mycentos" >
<protocol>ssh</protocol>
<param name= "hostname" >192.168.59.103</param>
<param name= "Port" >22</param>
<param name= "username" >zzp</param>
</connection >
</authorize>
</user-mapping>
In the example above,
Authorizeelement is used to control the login permissions, I am currently using ZZP this user, so the user name and password on the page login Zzp OK.
Connectionelement is used to really control the remote desktop, the above example I use the SSH protocol to connect to my local virtual machine server.
Of course, other protocols can be used, and here is an example of an exception:
<user-mapping> <authorize username= "Zzp" password= "Zzp" > <!--< ; connection Name= "RHEL 7" > <protocol>ssh</protocol> <par
Am Name= "hostname" >192.168.59.103</param> <param name= "Port" >22</param> <param name= "username" >zzp</param> </connection>--&G
T
<connection name= "Windows ten" > <protocol>rdp</protocol>
<param name= "hostname" >10.8.2.50</param> <param name= "Port" >3389</param>
</connection> <!--<connection name= "localhost" > <protocol>vnc</protocol> <param name= "hostname" >10.8.2.50</para M>
<param name= "Port" >5901</param> <param name= "password" >VNCPASS</param> </connection> </authorize> </user-mapping>
The above example I can go to other machines using Web pages to log on to my own machine.
Vii. SummaryAbove is just today I study guacamole after the simple summary, continue to study the configuration of related content, follow-up will continue to use an article to summarize the relevant configuration.