操作系统:centos 7
guacamole分为两个部分,其下载页面地址:Apache Guacamole™: 1.4.0这里以1.4.0版本为例
1.guacd服务端,用于进行远程连接服务
下载地址:https://dlcdn.apache.org/guacamole/1.4.0/source/guacamole-server-1.4.0.tar.gz
2.web服务端,顾名思义,页面管理工具
下载地址:https://dlcdn.apache.org/guacamole/1.4.0/source/guacamole-client-1.4.0.tar.gz
文档地址:Installing Guacamole natively — Apache Guacamole Manual v1.4.0
下载完成之后
----------------------------------------------------
guacd服务端部分
解压命令 tar -zxvf guacamole-server-1.4.0.tar.gz,进入到解压后的目录中,以下的操作都是在解压后的目录中操作(装插件不用)
guacd服务必须安装的插件
cairo-devel -- 图形渲染
libjpeg-turbo-devel 或者 libjpeg-devel -- JPEG 支持
libpng-devel -- 编写 PNG 图像
libtool -- 创建 Guacamole 所需的编译库
libuuid-devel 或者 uuid-devel -- 为每个 Guacamole 用户和连接分配唯一的内部 ID
可选的安装插件(部分)
ffmpeg-devel -- 对视频流进行编码
freerdp-devel -- 远程桌面链接插件
pango-devel -- 文本布局库
libssh2-devel -- SSH 和 SFTP 支持
libtelnet-devel -- telnet 支持
libwebsockets-devel -- Kubernetes 支持
pulseaudio-libs-devel -- 音频支持
openssl-devel -- SSL 和 TLS 支持
libvorbis-devel -- 声音压缩标准
libwebp-devel -- WebP 图像格式支持
除必选的插件外,可选插件按需安装。官方的文档中有详细的说明,这里不一一列举了。
centos安装插件的方式:yum install xxx -y 其中的 -y 可写可不写
例如:
yum install libpng-devel -y
插件安装完毕之后,执行校验命令
./configure --with-init-dir=/etc/init.d
编译命令
make
安装命令
make install
更新系统的已安装库缓存
ldconfig
查看状态
systemctl status guacd
启动服务
systemctl start guacd
---------------- guacd服务端部分结束 ------------------------
------------ 开始安装guacamole-client -----------------
官方有打包好的WEB客户端包,可以直接拿下来用。这里下载的是源码,需要先编译。
编译需要maven的支持,请先确认maven是否已经安装配置完成。
解压下载的源码包:tar -zxvf guacamole-client-1.4.0.tar.gz,进入解压后的文件目录
//清理之前编译的内容
mvn clean
//编译
mvn compile
//打包并跳过测试,去掉 -Dmaven.test.skip=true 或设置为false 则不跳过
mvn package -Dmaven.test.skip=true
直接打包的时候,我这里碰到了测试无法通过的问题,跳过测试就成功了。(这边编译的时候,没有碰到其它错误)
进入../guacamole/target 目录中,找到一个名叫guacamole-1.4.0.war的文件。它是编译后的结果输出文件
-------------- 编译结束 --------------------
准备一个tomcat,版本是 8 或者 8 以上
将下载的 guacamole-1.4.0.war(或者编译好的 guacamole-1.4.0.war)放到tomcat的webapps目录中,将其改名为 guacamole 至于为什么要改名,做过web项目的都知道,这里不多阐述。
------------------- guacamole-client 结束 -----------------------------
目录部分参考下图所示:
------------------ 开始配置 -------------
在启动前,需要先进行配置一番,guacamole默认的配置文件路径在根目录的etc下面
目录为:/etc/guacamole,如果etc下面没有guacamole目录,则需要先创建。
以下的操作,全部都是在/etc/guacamole进行
首先是guacd服务的配置,创建一个guacd.conf文件,内容如下所示
[daemon]
pid_file = /var/run/guacd.pid
log_level = info
[server]
bind_host = 192.168.0.166
bind_port = 4822
web端的配置,创建一个guacamole.properties的文件,内容如下所示
api-session-timeout: 30
guacd-hostname: 192.168.0.166 //guacd 的服务地址
guacd-port: 4822 //guacd指定的端口号
日志配置,创建一个名为logback.xml的文件,内容如下所示
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
如果启动报没有找到extensions目录或者lib目录,则再创建两个目录,分别是extensions和lib(这里没有试过未创建这两个目录的情况)
安全认证配置,安全认证配置有很多种,官网有详细介绍。这里使用xml文件的方式进行配置,首先创建一个user-mapping.xml的文件,文件内容如下所示
rdp
远程主机地址
远程主机端口号
远程主机用户名
NLA
true
rdp
192.168.0.xxx
3389
远程主机用户名
远程主机密码
NLA
true
rdp
192.168.0.xx
3389
NLA
true
配置文件的结构,参考图片
这里使用的rdp协议,都是windows的远程桌面配置。