系统环境
Ubuntu 20.04 Server + apache-tomcat-7.0.99 + OpenJdk11 + MySQL8.0 + guacamole-server1.4.0
备注: 操作系统安装时,请将源设置成阿里源
一、基础环境准备
# 添加源
add-apt-repository ppa:linuxuprising/libpng12
# 更新源
apt update
# 安装必要组件
apt install -y make unzip libcairo2-dev libjpeg-turbo8-dev libjpeg62-dev libpng12-dev libtool-bin
\uuid-dev libossp-uuid-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev
\libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev libswresample-dev
# 下载组件 deb 包
wget https://mirrors.aliyun.com/ubuntu/pool/universe/f/ffmpeg/libavcodec-dev_4.2.7-0ubuntu0.1_amd64.deb
wget https://mirrors.aliyun.com/ubuntu/pool/universe/f/ffmpeg/libavformat-dev_4.2.7-0ubuntu0.1_amd64.deb
wget https://mirrors.aliyun.com/ubuntu/pool/universe/f/ffmpeg/libavutil-dev_4.2.7-0ubuntu0.1_amd64.deb
wget https://mirrors.aliyun.com/ubuntu/pool/universe/f/ffmpeg/libswscale-dev_4.2.7-0ubuntu0.1_amd64.deb
# 安装 deb 包
dpkg -i libavutil-dev_4.2.7-0ubuntu0.1_amd64.deb
dpkg -i libavcodec-dev_4.2.7-0ubuntu0.1_amd64.deb
dpkg -i libavformat-dev_4.2.7-0ubuntu0.1_amd64.deb
dpkg -i libswscale-dev_4.2.7-0ubuntu0.1_amd64.deb
二、 guacamole-server安装配置
1、 guacamole-server 安装
# 下载 guacamole-server 源代码
wget -O /root/guacamole-server-1.4.0.tar.gz https://dlcdn.apache.org/guacamole/1.4.0/source/guacamole-server-1.4.0.tar.gz
# 解压代码
tar -xvf /root/guacamole-server-1.4.0.tar.gz
# 进入代码目录
cd /root/guacamole-server-1.4.0
# 执行 autoreconf
autoreconf -fi
# 配置
./configure --with-init-dir=/etc/init.d --disable-dependency-tracking
# 编译
make
# 安装
make install
2、 guacamole-server 配置
- 创建配置相关文件夹和文件
#创建文件夹
mkdir -p /etc/guacamole/
# 创建配置文件
cd /etc/guacamole/
touch /etc/guacamole/guacd.conf
touch /etc/guacamole/guacamole.properties
- 设置环境变量
# 创建bashrc 文件
echo "export GUACAMOLE_HOME=/etc/guacamole" > /etc/bashrc
# 使换件变量GUACAMOLE_HOME生效
source /etc/bashrc
#验证环境变量,如输出结果为/etc/guacamole 则配置生效
echo $GUACAMOLE_HOME
- 编辑 /etc/guacamole/guacamole.properties 文件
具体配置内容如下所示:
guacd-hostname: localhost
guacd-port: 4822
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
#和数据库创建的guacamole的用户名密码一致
mysql-username: guacamole
mysql-password: guacamole
- 编辑 /etc/guacamole/guacd.conf 文件
具体配置内容如下所示,如果不配置,外网就telnet不通4822端口:
[daemon]
pid_file = /var/run/guacd.pid
log_level = info
[server]
bind_host = 0.0.0.0 bind_port = 4822
- 启动 guacd 服务
systemctl start guacd
systemctl enable guacd
3、 guacamole-server 扩展配置
- 安装MySQL 8.0 数据库
apt install mysql-server
apt install mysql-client
- 创建相关文件夹
mkdir -p /etc/guacamole/extensions
mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/sqlauth/
- 下载安装载 guacamole-auth-jdbc-1.4.0 和 mysql-connector-java-8.0.29
#进入 /etc/guacamole/sqlauth/ 文件夹
cd /etc/guacamole/sqlauth/
# 下载guacamole-auth-jdbc-1.4.0.tar.gz
wget https://apache.org/dyn/closer.lua/guacamole/1.4.0/binary/guacamole-auth-jdbc-1.4.0.tar.gz
# 解压扩展
tar -zxvf guacamole-auth-jdbc-1.4.0.tar.gz
# 复制扩展到 /etc/guacamole/extensions 文件夹中
cp /etc/guacamole/sqlauth/guacamole-auth-jdbc-1.4.0/mysql/guacamole-auth-jdbc-mysql-1.4.0.jar /etc/guacamole/extensions/
# 下载 MySQL 8.0 Java 驱动
wget http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/mysql-connector-java_8.0.29-1ubuntu20.04_all.deb
# 解压 deb 文件
dpkg -X mysql-connector-java_8.0.29-1ubuntu20.04_all.deb .
# 将 驱动复制到 /etc/guacamole/lib/ 文件夹
cp /etc/guacamole/sqlauth/usr/share/java/mysql-connector-java-8.0.29.jar /etc/guacamole/lib/
- 创建 guacamole_db 数据库
mysql -u root -p
mysql> CREATE DATABASE guacamole_db;
mysql> CREATE USER 'guacamole'@'localhost' IDENTIFIED BY 'guacamole';
mysql> CREATE USER 'guacamole'@'127.0.0.1' IDENTIFIED BY 'guacamole';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole'@'localhost';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole'@'127.0.0.1';
mysql> FLUSH PRIVILEGES;
mysql> quit
- 导入 guacamole_db 数据库数据
cd /etc/guacamole/sqlauth/guacamole-auth-jdbc-1.4.0/mysql/
cat schema/*.sql | mysql -u root -p guacamole_db
三、 guacamole-Client 安装配置
1、 安装 openjdk-11
- 安装
apt install openjdk-11-jdk
- 验证是否安装成功
java -version
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
2、 安装 apache-tomcat-7.0.99
- 创建系统用户,用来运行 Tomcat 服务
useradd -mUd /opt/tomcat -s /bin/false tomcat
- 下载和配置tomcat
# 下载 tomcat
wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.99/bin/apache-tomcat-7.0.99.zip
# 解压tomcat
unzip apache-tomcat-7.0.99.zip
#将解压文件夹转移到opt文件夹
mv apache-tomcat-7.0.99 /opt
#apache-tomcat-7.0.99 文件夹重命名为 tomcat
mv /opt/apache-tomcat-7.0.99 /opt/tomcat
# 设置文件夹用户
chown -R tomcat: /opt/tomcat
# 设置文件夹权限
chmod 755 -R /opt/tomcat
- tomcat 启动项配置
vim /etc/systemd/system/tomcat.service
#添加如下内容
[Unit]
Description=Tomcat
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
- 创建 tomcat 守护程序
systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat
systemctl status tomcat
3、 安装 guacmole 客户端
- 下载 guacamole-1.4.0.war 包
wget https://apache.org/dyn/closer.lua/guacamole/1.4.0/binary/guacamole-1.4.0.war
- 部署web
# 删除 webapp 下的内容
rm -rf /opt/tomcat/webapps/*
# 将war 包复制到 /opt/tomcat/webapps/
cp guacamole-1.4.0.war /opt/tomcat/webapps/
# 重命名 war 包
mv /opt/tomcat/webapps/guacamole-1.4.0.war /opt/tomcat/webapps/guacamole.war
# 重启tomcat
systemctl restart tomcat
4、 访问 guacmole web
http://ip:8080/guacamole/
用户名: guacadmin
密码 : guacadmin
- 登录页面
- 登录详情