
linux 快速安装 guacamole (源码安装)
很多命令需要管理员权限运行,很重要。如果你之前用的别的安装方法的话,可能我的这个方法会失效。最好是新系统。就是之前安装过Tomcat或者jdk或者guacamole,有可能会失效。1.安装guacamoled的库官方文档,后面会用到。http://guacamole.apache.org/doc/gug/installing-guacamole.htmlRequired dependencies下
很多命令需要管理员权限运行,很重要。如果你之前用的别的安装方法的话,可能我的这个方法会失效。最好是新系统。就是之前安装过Tomcat或者jdk或者guacamole,有可能会失效。
1.安装guacamole的库
官方文档,后面会用到。
http://guacamole.apache.org/doc/gug/installing-guacamole.html
Required dependencies下面的是必装项,不然无法运行。(文档界面更新了,但是内容没变化)
注意看自己对应系统的包,别弄错了。
为了节省大家时间,我就整理了一下,建议一行一行复制粘贴,不然可能会漏装。这里是Ubuntu的,Centos7 的在后面。
sudo apt-get -y install libcairo2-dev libjpeg-turbo8-dev
sudo apt-get -y install libjpeg62-dev libpng-dev
sudo apt-get -y install libtool-bin libssh2-1-dev libssl-dev libpango1.0-dev
sudo apt-get -y install libossp-uuid-dev
上面这个命令不能直接运行,就是不能全部一起安装,有的包只能一个一个装,有的包可以两个三个一起安装。
Optional dependencies下面是选装项,根据协议选择自己安装的内容,可以都装,文件也不是很大。
为节省大家时间,我也整理了一下。一样不能一起安装,只能两个三个的安装。
Ubuntu安装
sudo apt-get -y install libavcodec-dev libavutil-dev
sudo apt-get -y install libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev
sudo apt-get -y install libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev
sudo apt-get -y install libavformat-dev
Centos7安装
sudo yum install epel-release -y
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
sudo yum install -y cairo-devel libjpeg-turbo-devel libpng-devel libtool uuid-devel
sudo yum install -y freerdp-devel pango-devel libssh2-devel libvncserver-devel
sudo yum install -y openssl-devel libvorbis-devel libwebp-devel pulseaudio-libs-devel
sudo yum install -y libtevent-devel libwebsockets-devel ffmpeg-devel
sudo yum install -y libtelnet-devel libgcrypt-devel
2.安装tomcat(会自动安装jdk)
Ubuntu
#下载tomcat
sudo apt-get -y install tomcat8
Centos7
#下载tomcat
sudo yum install -y tomcat
3.安装guacamole
下载两个文件,注意下同一个版本,比如都是1.3.0。
一个带server的,一个带.war的.
先解压server,进入server解压的目录,输入下面命令。
#开机自启动guacd
sudo ./configure --with-init-dir=/etc/init.d
sudo make
sudo make install
sudo ldconfig
注意,第一行命令最后会显示,下面图片中的内容,其实yes/no代表安装的包,支持的协议,可以看下我这篇文章第一节的内容,会一一对应。
我们说说下载的第二个文件,就是.war的那个文件。
把这个文件放入Tomcat的webapp文件夹下,也就是
Ubuntu
cd /var/lib/tomcat8/webapps/
Centos7
cd /var/lib/tomcat/webapps/
并且把这个文件重命名为(最好是先改名再上传,最后重启Tomcat)
guacamole.war
4.配置guacamole
创建文件夹,并在里面创建一个叫guacamole.properties文件。
mkdir -p /etc/guacamole/
vim /etc/guacamole/guacamole.properties
并且把里面文件内容改为
# 配置用户映射文件
basic-user-mapping: /etc/guacamole/user-mapping.xml
再创建一个叫user-mapping.xml的文件。配置文档在
http://guacamole.apache.org/doc/gug/configuring-guacamole.html
vim /etc/guacamole/user-mapping.xml
编辑内容,里面的东西就不解释了,很好理解的,就是一些登录的用户名密码,用的协议,还有目标ip等等。可以改为下面的内容。
<user-mapping>
<!-- Per-user authentication and config information -->
<authorize username="USERNAME" password="PASSWORD">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5900</param>
<param name="password">VNCPASS</param>
</authorize>
<!-- Another user, but using md5 to hash the password
(example below uses the md5 hash of "PASSWORD") -->
<authorize
username="USERNAME2"
password="319f4d26e3c536b5dd871bb2c52e3178"
encoding="md5">
<!-- First authorized connection -->
<connection name="localhost">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5901</param>
<param name="password">VNCPASS</param>
</connection>
<!-- Second authorized connection -->
<connection name="otherhost">
<protocol>vnc</protocol>
<param name="hostname">otherhost</param>
<param name="port">5900</param>
<param name="password">VNCPASS</param>
</connection>
</authorize>
</user-mapping>
补充一个连接示例
<user-mapping>
<authorize username="admin" password="123456">
<!-- First authorized connection -->
<connection name="connection1">
<protocol>ssh</protocol>
<param name="hostname">127.0.0.1</param>
<param name="port">22</param>
<param name="username">root</param>
<param name="password">123456</param>
</connection>
<!-- Second authorized connection -->
<connection name="connection2">
<protocol>vnc</protocol>
<param name="hostname">192.168.0.1</param>
<param name="port">5900</param>
<param name="password">VNCPASS</param>
</connection>
</authorize>
</user-mapping>
此外,有些windows系统无法使用rdp协议登陆,需要配置nla登陆和忽略证书
<param name ="security">nla</param>
<param name ="ignore-cert">true</param>
5.重启tomcat,并启动guacd服务
Ubuntu
/etc/init.d/tomcat8 restart
/etc/init.d/guacd restart
Centos7
# 需要关闭防火墙才能访问8080端口
systemctl stop firewalld
# 启动Tomcat和guacd
systemctl restart tomcat
systemctl restart guacd
在浏览器里输入http://localhost:8080/guacamole/,可以看到
6.排除故障
首推官方文档,第一章第二节讲安装,第十七节讲故障排除。
http://guacamole.apache.org/doc/gug/
然后Tomact里有日志文件,在
/var/lib/tomcat8/logs/catalina.out
以及系统日志
/var/log/syslog
可以参考
————————————————————分割线————————————————————
补充
前面是通过修改配置文件来配置登陆的,但是我们可以在网页配置连接,不过需要配置数据库,这是官方配置文档
https://guacamole.apache.org/doc/gug/jdbc-auth.html
先安装mysql
Ubuntu18.04下安装MySQL - OpsDrip - 博客园
CentOS7安装MySQL(完整版)_24只羊羊羊-CSDN博客_centos7安装mysql
下载一些必要的jar包
以及
下载完毕之后,全部解压,然后创建目录
mkdir -p /etc/guacamole/lib/
mkdir -p /etc/guacamole/extensions/
guacamole-auth-jdbc-1.3.0.tar.gz 解压后进入 mysql 文件夹下,将 guacamole-auth-jdbc-mysql-1.3.0.jar 放入 /etc/guacamole/extensions/ 目录下
mysql-connector-java-8.0.23.zip 解压之后,将里面的 mysql-connector-java-8.0.23.jar 放入 /etc/guacamole/lib/ 目录下
登陆mysql数据库,输入
CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'some_password';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
FLUSH PRIVILEGES;
进入 guacamole-auth-jdbc-1.3.0.tar.gz 解压目录下,进入 mysql 目录下,输入下面命令,并输入登陆 mysql 的密码
cat schema/*.sql | mysql -u root -p guacamole_db
接着编辑配置文件
vim /etc/guacamole/guacamole.properties
追加信息
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: some_password
至此配置结束,进入guacamole有个账户密码为guacadmin(同密码)的账户可以登录,登陆以后就可以在网页里配置连接资源机器的账号密码了
配置HTTPS
更多推荐
所有评论(0)