怎样安装 Apache 鳄梨酱远程桌面网关

使管理员能够连接到他们的服务器的应用程序并不缺乏。 但是,至少可以说,为不同的目的使用不同的应用程序会变得很忙。

值得庆幸的是,有一种更聪明的做事方式——它自 2013 年就已经存在。

Enter: Apache 鳄梨。

它是一个支持 RDP、VNC 和 SSH 协议的无客户端远程桌面网关。 关于它的最好的事情是,一旦设置好,您只需要一个网络浏览器即可使用它。 使用这个开源工具不需要任何扩展或工具!

这是设置的快速指南 Apache 鳄梨。

安装 Guacamole 的依赖项

在开始安装软件包依赖项之前,请记住以下先决条件:

  1. Linux 服务器(我们使用的是 Ubuntu 20.04 服务器)
  2. 根/admin 使用权
  3. MariaDB 数据库
  4. 连接到服务器IP的域名

鳄梨酱分为两部分:服务器和客户端。 必须使用源代码手动安装服务器。 客户端是在 Tomcat 下运行的 Java serverlet web 应用程序前端。

要安装依赖项,请启动终端,连接到您的服务器,然后运行以下命令:

sudo apt 安装 build-essential libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin uuid-dev libossp-uuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1 -dev libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev -y

您还需要为 Web 应用程序安装 Tomcat 9:

sudo 易于安装tomcat9 -y

接下来的两个命令将分别启动和启用 Tomcat 9,并验证其状态:

sudo systemctl enable –now tomcat9

sudo 系统状态tomcat9

编译和安装鳄梨酱服务器

首先运行以下 wget 命令以下载所需的源代码:

wget https://dlcdn.apache.org/guacamole/1.4.0/source/guacamole-server-1.4.0.tar.gz

现在您的计算机上已经有了该文件,请使用以下命令将其解压缩:

tar -xzf 鳄梨酱服务器-1.4.0.tar.gz

接下来,将您的目录更改为提取的文件,如下所示:

cd 鳄梨酱服务器-1.4.0/

使用此脚本设置服务器:

./configure –with-systemd-dir=/etc/systemd/system/ –disable-dependency-tracking

上面命令中的第一个选项自动将脚本安装到 /etc 中提到的目录。 第二个选项禁用依赖跟踪,缩短构建时间。

输出将向您显示 Guacamole 版本、库状态、协议支持以及 Guacamole 附带的工具/服务。 如果您看到此输出,则说明您正在安装 Guacamole。

下面的命令将编译 Guacamole 服务器并将二进制文件安装在 usr/local/bin 和 usr/local/sbin 中。 这些库将安装在 usr/local/lib 中。

制作

安装

然后,使用以下命令更新系统库的符号链接并重新加载 systemd:

sudo 配置文件

sudo systemctl守护进程重新加载

最后,启动并启用 Guacamole 服务器并使用以下命令验证其状态:

sudo systemctl enable –now guacd

sudo systemctl状态guacd

您应该看到指示 guacd 正在运行的输出。

创建配置并设置目录

Guacamole 安装需要一个配置目录才能工作。 创建 /etc/guacamole/ 目录是 Guacamole 存储配置文件的地方。

下面的命令将创建一个环境变量“GUACAMOLE_HOME”并为 Tomcat 配置设置它,确保 Tomcat 始终加载 Guacamole 配置目录。

echo GUACAMOLE_HOME=/etc/guacamole >> /etc/default/tomcat9

运行下面的命令将创建实际的配置目录,以及“extensions”和“lib”目录。

mkdir -p /etc/guacamole/{extensions,lib}

最后,您可以像这样创建配置文件:

触摸/etc/guacamole/{guacamole.properties,guacd.conf}

设置 MariaDB 数据库

首先以 root 用户身份登录到 MariaDB shell:

mysql -u root -p

然后,创建一个新的数据库,并退出 shell:

创建数据库 guacamole_db;

出口

要继续,您需要 Guacamole 的数据库身份验证扩展。 运行它来下载它:

wget https://dlcdn.apache.org/guacamole/1.4.0/binary/guacamole-auth-jdbc-1.4.0.tar.gz

提取它并将目录切换到提取的文件,如下所示:

tar -xf 鳄梨酱-auth-jdbc-1.4.0.tar.gz

cd 鳄梨酱-auth-jdbc-1.4.0/mysql/

将 Guacamole MariaDB 数据库方案导入到新建的数据库中:

ls

cat 模式/*.sql | mysql -u root -p guacamole_db

您将需要输入 MariaDB root 用户的密码。 完成后,运行以下命令再次登录到 MariaDB shell。

mysql -u root -p

我们再次登录,为 Guacamole 创建一个新的 MariaDB 用户。 运行这些,你会很高兴去:

创建用户 ‘guacamole_user’@’localhost’ IDENTIFIED BY ‘StrongPassword’;

GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO ‘guacamole_user’@’localhost’;

冲洗特权;

出口

安装数据库身份验证扩展和 MySQL/J 库

有问题的扩展使您能够使用数据库身份验证设置 Guacamole。 虽然我们使用的是 MariaDB,但您可以使用 PostgreSQL。

使用这些命令将工作目录更改为所需的 mysql 文件夹,然后列出文件:

cd 鳄梨酱-auth-jdbc-1.4.0/mysql/

ls -lah

剩下要做的就是使用以下命令安装扩展:

cp guacamole-auth-jdbc-mysql-1.4.0.jar /etc/guacamole/extensions/guacamole-auth-jdbc-mysql.jar

我们还必须安装一个 MySQL/J 库来连接到 MariaDB。 让我们从下载它开始:

wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java_8.0.28-1ubuntu20.04_all.deb

接下来,使用 dpkg 命令安装连接器:

dpkg -i mysql-connector-java_8.0.28-1ubuntu20.04_all.deb

在我们继续之前,将连接器库复制到 /etc/guacamole 中的 /lib 文件夹,以便 Guacamole 可以使用它连接到 MariaDB:

cp /usr/share/java/mysql-connector-java-8.0.28.jar /etc/guacamole/lib/mysql-connector.jar

将鳄梨酱与 MariaDB 连接起来

虽然您已经安装了扩展和连接器,但除非您使用数据库身份验证,否则它们不会执行任何操作。 您将通过 guacamole.properties 文件中的配置应用身份验证。

使用任何文本编辑器打开 /etc/guacamole/guacamole.properties 并将以下配置粘贴到文件中:

mysql 主机名:localhost

mysql端口:3306

mysql数据库:guacamole_db

mysql 用户名:guacamole_user

mysql密码:StrongPassword

接下来,您必须在 /etc/guacamole/guacd.conf 中设置 guacd 绑定 IP 地址。 将以下内容放入文件中:

[server]

绑定主机 = 0.0.0.0

绑定端口 = 4822

运行以下命令以应用您所做的更改:

sudo systemctl 重新启动 guacd

sudo systemctl 重启 tomcat9

安装鳄梨酱客户端

您已经到达鳄梨调味酱设置的倒数第二段。 首先下载预构建的 Guacamole 客户端包,如下所示:

wget

然后,运行这些命令重命名包并将其移动到 /var/lib/tomcat9 中的 webapps 目录:

mv 鳄梨酱-1.4.0.war 鳄梨酱.war

cp guacamole.war /var/lib/tomcat9/webapps

ls /var/lib/tomcat9/webapps

移动文件是使客户端可从路径 URL 访问所必需的。

配置 Apache 作为客户端的反向代理

在你最终开始使用鳄梨酱之前,你必须安装和配置一个带有虚拟主机配置的网络服务器。 这个想法是使用网络服务器作为客户端的反向代理。

首先使用您的域名获取免费的 LetsEncrypt SSL 证书 certbot 文档. 接下来,使用这个命令安装 Apache 网络服务器:

sudo apt 安装 apache2 -y

此命令将为反向代理启用模块:

sudo a2enmod 代理 proxy_wstunnel proxy_http ssl 重写

创建一个虚拟主机配置文件 /etc/apache2/sites-available/guacamole.conf 并粘贴下面的配置。 请记住,您必须更改 example.io 域名与您拥有的域名。 SSL 证书的路径也是如此。

<虚拟主机 *:80>

服务器名称 example.io

服务器别名 www.example.io

永久重定向 / https://example.io/

<虚拟主机 *:443>

服务器名称 example.io

服务器别名 www.example.io

<如果“%{HTTP_HOST} == 'www.example.io'”>

永久重定向 / https://example.io/

错误日志 /var/log/apache2/example.io-error.log

自定义日志 /var/log/apache2/example.io-access.log 合并

SSLEngine 开启

SSLCertificateFile /etc/letsencrypt/live/example.io/fullchain.pem

SSLCertificateKeyFile /etc/letsencrypt/live/example.io/privkey.pem

<位置/鳄梨酱/>

订单允许、拒绝

允许所有

ProxyPass https://127.0.0.1:8080/guacamole/flushpackets=on

ProxyPassReverse https://127.0.0.1:8080/guacamole/

<位置/guacamole/websocket-tunnel>

订单允许、拒绝

允许所有

ProxyPass ws://127.0.0.1:8080/guacamole/websocket-tunnel

ProxyPassReverse ws://127.0.0.1:8080/guacamole/websocket-tunnel

激活配置并通过运行验证它:

a2ensite 鳄梨酱.conf

apachectl 配置测试

在 /etc/tomcat9/server.xml 中打开 Tomcat 配置并将以下内容粘贴到 部分:

internalProxies=”127.0.0.1″

remoteIpHeader=”x-forwarded-for”

remoteIpProxiesHeader=”x-forwarded-by”

protocolHeader=”x-forwarded-proto”/>

通过运行应用更改:

sudo systemctl 重启apache2

sudo systemctl 重启 tomcat9

就是这样,你已经设置了鳄梨酱! Web 应用程序在端口 8080 上的 Tomcat 下运行,路径为 /guacamole。