【Guacamole】一、基础安装配置
1、前言
最近接到一个新的需求,要对接其它系统,但是了,一大堆问题,我们平台是B/S架构,待对接的是C/S架构,而且没有对外的接口,但是了甲方要求不高,可以用远程桌面的方式去对接,emmm....好,是不是感觉很好,但是!不能在待远程的电脑上安装任何软件!
这不是为难我吗?好在研究过程中发现一个牛逼的东西:Guacamole ;大致的逻辑就是将RDP 转 Web,emm....这不是就是我想要的吗,哈哈哈哈,皇天不负有心人呀;OK下面简单介绍一下我的操作流程
2、部署guacamole-server
我的中转服务器用的CentOS 7,因为只是做测试的,完全走通了之后要换信创环境,到时候再写吧;
# 切换root目录
su root
# 安装依赖
yum install -y vim gcc cairo-devel libjpeg-turbo-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libwebsockets-devel libtool crypt*
# 进入home目录
cd /home
# 下载并解压guacamole-server安装包
wget https://archive.apache.org/dist/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz
tar -xzvf guacamole-server-1.5.5.tar.gz
# 进入目录进行安装
cd guacamole-server-1.5.5
./configure --with-init-dir=/etc/init.d
# 注意红框内如果没有问题就可以进行下一步了
如果出现no的话....哈哈哈哈自己研究一下吧
# 编译安装
make & make install && ldconfig
# 配置guacamole-server文件
mkdir /etc/guacamole/
cd /etc/guacamole/
vim guacd.conf
# 修改成以下内容并保存 :wq
[daemon]
pid_file = /var/run/guacd.pid
log_level = info
[server]
bind_host = 0.0.0.0
bind_port = 4822
# 启动 guacamole-server
/etc/init.d/guacd start
# 成功应该是下面这样的
3、安装 Apache Tomcat
# 我这里只是测试直接用yum去安装的
yum install -y tomcat
# 启动Tomcat并设置为开机自启
systemctl start tomcat
systemctl enable tomcat
# 下载 Guacamole Web 应用
cd /var/lib/tomcat/webapps/
wget https://archive.apache.org/dist/guacamole/1.5.5/binary/guacamole-1.5.5.war -O guacamole.war
# 创建 guacamole.properties
vim /etc/guacamole/guacamole.properties
# 添加以下内容并保存 :wq
# Guacamole 服务器地址
guacd-hostname: localhost
guacd-port: 4822
# 认证配置(如果使用数据库,请修改)
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml
# end(到这里guacamole.properties的内容就结束了哈,别复制多了)
# 创建 user-mapping.xml(测试用的用户配置)
vim /etc/guacamole/user-mapping.xml
# 添加以下内容并保存 :wq(根据自己需要远程的机器信息进行填写)
<user-mapping>
<authorize username="guacadmin" password="guacadmin">
<connection name="Test RDP">
<protocol>rdp</protocol>
<param name="hostname">192.168.8.100</param>
<param name="port">3389</param>
<param name="username">test</param>
<param name="password">test</param>
</connection>
</authorize>
</user-mapping>
# 到这里结束,上面这个文件的里面的内容就是远程桌面连接里面填写的东西
# 创建 GUACAMOLE_HOME 软链接
ln -s /etc/guacamole /var/lib/tomcat/.guacamole
# 重启服务
systemctl restart tomcat
systemctl restart guacd
# 关闭防火墙(哈哈哈,个人机器,仅作测试,生产系统里面别关了啊哈哈哈哈哈)
systemctl stop firewalld.service
# 禁用防火墙自启
systemctl disable firewalld.service
查看防火墙状态
systemctl status firewalld.service
4、 访问 Guacamole测试
现在用另外一台电脑访问这个地址:
http://192.168.8.100:8080/guacamole
使用 guacadmin / guacadmin 登录
这不就来了嘛,是不是很简单,哈哈哈哈哈,网上相关的资料太少了(也许是我的姿势不对),摸索了大半天才整出来,中间过程中出现了一大堆问题;
5、后续
1、配置文件user-mapping.xml改为MySQL;
2、集成到VUE项目中去;
3、研究其它系统的远程(待远程的机器大概率可能是国产linux)