Cách tạo Remote Desktop Gateway thông qua Apache Guacamole trên AlmaLinux 9

theanh

Administrator
Nhân viên
Apache Guacamole là một cổng máy tính từ xa miễn phí và mã nguồn mở cho phép bạn kết nối với máy tính/máy chủ của mình từ xa bằng nhiều giao thức khác nhau như SSH, RDP và VNC. Apache Guacamole được bảo trì bởi Apache Software Foundation và được cấp phép theo Giấy phép Apache 2.0.

Apache Guacamole là một cổng máy tính từ xa không cần máy khách. Bạn có thể truy cập Apache Guacamole chỉ bằng trình duyệt web từ bất kỳ đâu vào bất kỳ lúc nào. Nên sử dụng Apache Guacamole nếu bạn có nhiều hệ điều hành từ xa với nhiều giao thức khác nhau, chẳng hạn như Windows với RDP, hệ thống Linux với VNC và SSH.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cài đặt Apache Guacamole làm Cổng máy tính từ xa trên máy AlmaLinux 9. Bạn sẽ cài đặt Apache Guacamole với máy chủ cơ sở dữ liệu MariaDB, Nginx làm proxy ngược, sau đó bảo mật cài đặt bằng SSL từ Letsencrypt.

Điều kiện tiên quyết​

Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:
  • Máy chủ AlmaLinux 9 - Bản demo này sử dụng máy AlmaLinux có tên máy chủ guacamole-alma9.
  • Người dùng không phải root có quyền thực thi sudo.
  • Tên miền trỏ đến địa chỉ IP của máy chủ.

Thiết lập kho lưu trữ​

Bước đầu tiên bạn phải làm là thiết lập các kho lưu trữ bổ sung trên máy chủ AlmaLinux của mình. Bạn phải thêm kho lưu trữ EPEL và kích hoạt kho lưu trữ CRB (Code Ready Builder), đây là bản thay thế cho PowerTools trên RHEL 8, sau đó bạn phải thêm kho lưu trữ RPMFusion.

Chạy lệnh dnf bên dưới để cài đặt một số phụ thuộc cơ bản và kho lưu trữ EPEL vào hệ thống của bạn. Nhập y để xác nhận cài đặt, sau đó nhấn ENTER.
Mã:
sudo dnf install wget nano epel-release dnf-utils

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22314%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh sau để kích hoạt kho lưu trữ CRB (Code Ready Builder) của AlmaLinux. Trong RHEL 8, kho lưu trữ này được gọi là PowerTools và kể từ RHEL 9, tên đã được đổi thành CRB.
Mã:
sudo dnf config-manager --set-enabled crb
Tiếp theo, hãy chạy lệnh sau để thêm kho lưu trữ RPMFusion vào hệ thống AlmaLinux của bạn. Kho lưu trữ này cung cấp gói ffmpeg-devel, gói này cần thiết cho Apache Guacamole.
Mã:
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
Nhập y để xác nhận cài đặt và nhấn ENTER để tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22286%22%3E%3C/svg%3E

Đang cài đặt Các phụ thuộc​

Với các kho lưu trữ được thêm vào hệ thống của bạn, giờ đây bạn có thể tiến hành cài đặt các phụ thuộc gói cho Apache Guacamole. Bạn sẽ cài đặt các gói sau:
  • Các phụ thuộc cơ bản để biên dịch và cài đặt guacd.
  • Java và Apache Tomcat để chạy ứng dụng web Apache Guacamole, dựa trên Java.
  • Máy chủ cơ sở dữ liệu MariaDB sẽ được sử dụng làm xác thực người dùng cho Apache Guacamole.
  • Máy chủ web Nginx làm đảo ngược cho ứng dụng web Apache Guacamole.
  • Certbot để bảo mật quyền truy cập vào Apache Guacamole.

Cài đặt các phụ thuộc để biên dịch guacd​

Chạy lệnh dnf bên dưới để cài đặt các phụ thuộc gói sẽ được sử dụng để biên dịch guacd. Nhập y để xác nhận cài đặt và nhấn ENTER.
Mã:
sudo dnf install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel uuid-devel make cmake ffmpeg-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel libwebsockets-devel pulseaudio-libs-devel openssl-devel compat-openssl11 libvorbis-devel libwebp-devel libgcrypt-devel

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22359%22%3E%3C/svg%3E


Ngoài ra, nhập y để thêm khóa GPG của kho lưu trữ RPMFusion và EPEL.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22178%22%3E%3C/svg%3E

Cài đặt Java và Apache Tomcat​

Bây giờ, hãy chạy lệnh bên dưới để cài đặt Java 11 và Apache Tomcat 9 vào máy chủ AlmaLinux của bạn. Cả hai phiên bản gói đều được Apache Guacamole hỗ trợ, do đó bạn có thể cài đặt cả hai gói từ kho lưu trữ appstream AlmaLinux.
Mã:
sudo dnf install java-11-openjdk-devel tomcat
Nhập y khi được nhắc, sau đó nhấn ENTER.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22140%22%3E%3C/svg%3E


Sau khi Java và Apache Tomcat được cài đặt, hãy thực hiện lệnh java bên dưới để xác minh phiên bản Java. Bạn sẽ thấy Java OpenJDK 11 đã được cài đặt trên hệ thống của bạn.
Mã:
java --version

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22135%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh systemctl sau để khởi động và kích hoạt tomcat dịch vụ.
Mã:
sudo systemctl start tomcat
sudo systemctl enable tomcat
Sau đó, xác minh dịch vụ tomcat để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status tomcat
Nếu máy chủ tomcat đang chạy, đầu ra phải là hoạt động (đang chạy).


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22203%22%3E%3C/svg%3E

Cài đặt MariaDB Server​

Apache Guacamole hỗ trợ nhiều phương pháp xác thực, bao gồm xác thực cơ sở dữ liệu, xác thực LDAP, Radius, SAML và OpenID. Trong bản demo này, bạn sẽ sử dụng xác thực cơ sở dữ liệu thông qua máy chủ MariaDB cho Apache Guacamole.

Nhập lệnh dnf bên dưới để cài đặt máy chủ MariaDB. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER.
Mã:
sudo dnf install mariadb-server

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22158%22%3E%3C/svg%3E


Tiếp theo, hãy chạy lệnh sau để khởi động và kích hoạt mariadb dịch vụ.
Mã:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Sau đó, xác minh dịch vụ mariadb để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status mariadb
Đầu ra phải là hoạt động (đang chạy) khi trạng thái mariadb đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22359%22%3E%3C/svg%3E

Cài đặt Nginx và Certbot​

Bây giờ bạn sẽ cài đặt Nginx, ứng dụng này sẽ được sử dụng làm proxy ngược cho ứng dụng máy khách Apache Guacamole và Certbot để tạo chứng chỉ SSL và bảo mật Apache Guacamole.

Chạy lệnh dnf bên dưới để cài đặt Nginx và Certbot vào hệ thống.
Mã:
sudo dnf install nginx certbot python3-certbot-nginx
Nhập y để xác nhận cài đặt và nhấn ENTER.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22168%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy chạy lệnh systemctl bên dưới để khởi động và kích hoạt Nginx dịch vụ.
Mã:
sudo systemctl start nginx
sudo systemctl enable nginx
Sau đó, xác minh dịch vụ Nginx để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status nginx
Đầu ra active (running) chỉ ra rằng Nginx đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22302%22%3E%3C/svg%3E

Cấu hình Firewalld​

Sau khi cài đặt các gói phụ thuộc, bước tiếp theo bạn sẽ thiết lập firewalld và mở các giao thức HTTP và HTTPS.

Chạy lệnh sau để mở các giao thức HTTP và HTTPS trên máy chủ AlmaLinux của bạn. Sau đó tải lại firewalld để áp dụng các thay đổi.
Mã:
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
Bây giờ, hãy chạy lệnh firewall-cmd bên dưới để xác minh danh sách các quy tắc đã bật trên firewalld.
Mã:
sudo firewall-cmd --list-all
Trong phần giao thức, bạn sẽ thấy cả giao thức HTTP và HTTPS đều được bật.

Thiết lập MariaDB Cơ sở dữ liệu​

Trong phần sau, bạn sẽ bảo mật cài đặt máy chủ MariaDB của mình thông qua tiện ích mariadb-secure-installation, sau đó tạo cơ sở dữ liệu MariaDB mới và người dùng cho Apache Guacamole.

Trước tiên, bạn sẽ bảo mật máy chủ MariaDB thông qua tiện ích mariadb-secure-installation. Chạy tiện ích này để bảo mật cài đặt máy chủ MariaDB của bạn.
Mã:
sudo mariadb-secure-installation
Trong quá trình này, hãy nhập y để áp dụng cấu hình hoặc n để áp dụng no. Dưới đây là một số cấu hình MariaDB mà bạn sẽ thiết lập:
  • Chuyển xác thực gốc MariaDB sang unix_socket? Nhập n.
  • Thiết lập mật khẩu gốc MariaDB? Nhập y, sau đó nhập mật khẩu mới và lặp lại.
  • Vô hiệu hóa đăng nhập từ xa cho người dùng gốc? Nhập y.
  • Xóa kiểm tra cơ sở dữ liệu mặc định? Nhập y một lần nữa.
  • Xóa người dùng ẩn danh mặc định? Nhập y để xác nhận.
  • Tải lại đặc quyền bảng để áp dụng các thay đổi? Nhập y.
Tiếp theo, đăng nhập vào máy chủ MariaDB bằng lệnh máy khách mariadb bên dưới với tư cách là người dùng gốc. Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu gốc MariaDB hoặc nhấn ENTER.
Mã:
sudo mariadb -u root -p
Sau khi đăng nhập, hãy chạy các truy vấn sau để tạo cơ sở dữ liệu và người dùng mới cho Apache Guacamole. Trong bản demo này, bạn sẽ tạo một cơ sở dữ liệu mới guacamoledb, người dùng guacamole, với mật khẩu GuacamolePassword.
Mã:
CREATE DATABASE guacamoledb;
CREATE USER 'guacamole'@'localhost' IDENTIFIED BY 'GuacamolePassword';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamoledb.* TO 'guacamole'@'localhost';
FLUSH PRIVILEGES;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22200%22%3E%3C/svg%3E


Tiếp theo, chạy truy vấn sau để xác minh quyền cho người dùng guacamole.
Mã:
SHOW GRANTS FOR 'guacamole'@'localhost';
quit
Đảm bảo rằng người dùng guacamole có thể CHỌN, CHÈN, CẬP NHẬTXÓA vào cơ sở dữ liệu guacamoledb.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22190%22%3E%3C/svg%3E

Cài đặt máy chủ Apache Guacamole​

Apache Guacamole bao gồm hai thành phần:
  • guacd: Một giao thức máy tính để bàn từ xa tùy ý có thể kết nối với RDP, SSH, VNC và các giao thức khác.
  • Ứng dụng web Guacamole: Bộ chứa servlet Java là giao diện người dùng của Apache Guacamole có thể chạy trong Apache Tomcat.
Hoàn thành các bước sau để cài đặt cả guacd và Guacamole Java servlet ứng dụng.

Biên dịch và cài đặt guacd​

Di chuyển thư mục làm việc đến /usr/src và tải xuống mã nguồn máy chủ Apache Guacamole bằng wget.
Mã:
cd /usr/src
wget https://dlcdn.apache.org/guacamole/1.5.2/source/guacamole-server-1.5.2.tar.gz
Sau khi tải xuống, hãy giải nén tệp guacamole-server-1.5.2.tar.gz và bạn sẽ nhận được thư mục mới guacamole-server-1.5.2. Truy cập thông qua cd.
Mã:
tar -xf guacamole-server-1.5.2.tar.gz
cd guacamole-server-*/
Bây giờ, hãy chạy lệnh sau để cấu hình cài đặt. Trong bản demo này, bạn sẽ sử dụng tham số bổ sung --with-systemd-dir=, tham số này sẽ tự động tạo tệp dịch vụ mới guacd.
Mã:
./configure --with-systemd-dir=/etc/systemd/system/

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22228%22%3E%3C/svg%3E


Sau khi quá trình cấu hình hoàn tất, hãy đảm bảo rằng mọi thứ đều có trạng thái là yes cho trạng thái thư viện, hỗ trợ giao thức và các dịch vụ/công cụ.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22423%22%20height=%22750%22%3E%3C/svg%3E


Tiếp theo, chạy lệnh sau để biên dịch và cài đặt máy chủ Apache Guacamole guacd.
Mã:
sudo make && sudo make install

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22725%22%20height=%22250%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để tải lại bộ đệm cơ sở dữ liệu cho các thư viện hệ thống.
Mã:
sudo ldconfig
Sau đó, tạo một thư mục cấu hình mới /etc/guacamole và tạo cấu hình guacd /etc/guacamole/guacd.conf sử dụng trình soạn thảo nano.
Mã:
sudo mkdir -p /etc/guacamole/
sudo nano /etc/guacamole/guacd.conf
Chèn cấu hình sau để chạy dịch vụ guacd trong localhost với cổng 4822.
Mã:
[server]
bind_host = 127.0.0.1
bind_port = 4822
Lưu và thoát tệp khi hoàn tất.

Tiếp theo, chạy lệnh systemctl bên dưới để tải lại systemd quản lý.
Mã:
sudo systemctl daemon-reload
Sau đó, khởi động và kích hoạt dịch vụ guacd Apache Guacamole bằng lệnh bên dưới.
Mã:
sudo systemctl start guacd
sudo systemctl enable guacd




Cuối cùng, hãy chạy lệnh sau để kiểm tra dịch vụ guacd và đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status guacd
Sau khi cài đặt thành công, bạn sẽ nhận được đầu ra của dịch vụ guacd với trạng thái hoạt động (đang chạy).


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22216%22%3E%3C/svg%3E


Ngoài ra, bạn cũng có thể xác minh dịch vụ guacd bằng cách đảm bảo cổng 4822 trên hệ thống của bạn.
Mã:
ss -tulpn | grep 4822
Đầu ra sẽ hiển thị dịch vụ guacd đang chạy trên máy chủ cục bộ với cổng 4822.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2285%22%3E%3C/svg%3E

Cài đặt ứng dụng web Apache Guacamole​

Sau khi cài đặt guacd, bây giờ bạn sẽ cài đặt ứng dụng web Apache Guacamole, đây là ứng dụng servlet Java.

Ứng dụng web Apache Guacamole có thể được cài đặt thủ công bằng cách biên dịch từ nguồn hoặc cài đặt thông qua gói .war. Trong bản demo này, bạn sẽ cài đặt ứng dụng web Apache Guacamole thông qua tệp .war.

Di chuyển đến thư mục /usr/src và tải xuống ứng dụng web Apache Guacamole thông qua lệnh wget.
Mã:
cd /usr/src
wget https://dlcdn.apache.org/guacamole/1.5.2/binary/guacamole-1.5.2.war
Sau khi tải xuống, hãy chạy lệnh sau để sao chép tệp đã tải xuống guacamole-1.5.2.war vào thư mục ứng dụng web Apache Tomcat /var/lib/tomcat/webapps. Với lệnh này, bạn có thể truy cập ứng dụng web Apache Guacamole qua đường dẫn URL /guacamole.
Mã:
sudo cp guacamole-1.5.2.war /var/lib/tomcat/webapps/guacamole.war
Bây giờ hãy khởi động lại dịch vụ tomcat bằng lệnh bên dưới để áp dụng các thay đổi.
Mã:
sudo systemctl restart tomcat

Cấu hình Apache Guacamole với Xác thực MariaDB​

Trước tiên, hãy chạy lệnh sau để tạo các thư mục mở rộng và thư viện bổ sung mới trong thư mục /etc/guacamole/. Sau đó, tạo một biến môi trường mới GUACAMOLE_HOME vào cấu hình Apache Tomcat /etc/sysconfig/tomcat.
Mã:
sudo mkdir -p /etc/guacamole/{extensions,lib}
echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/sysconfig/tomcat
Bây giờ hãy di chuyển đến thư mục /usr/src và tải xuống tiện ích mở rộng cơ sở dữ liệu Guacamole thông qua lệnh wget bên dưới.
Mã:
cd /usr/src
wget https://downloads.apache.org/guacamole/1.5.2/binary/guacamole-auth-jdbc-1.5.2.tar.gz
Sau khi tải xuống, hãy giải nén tệp guacamole-auth-jdbc-1.5.2.tar.gz thông qua lệnh tar. Sau đó, di chuyển phần mở rộng cơ sở dữ liệu Guacamole đến thư mục /etc/guacamole/extensions/.
Mã:
tar -xf guacamole-auth-jdbc-1.5.2.tar.gz
sudo mv guacamole-auth-jdbc-1.5.2/mysql/guacamole-auth-jdbc-mysql-1.5.2.jar /etc/guacamole/extensions/
Tiếp theo, di chuyển đến thư mục guacamole-auth-jdbc-1.5.2/mysql/schema và nhập lược đồ cơ sở dữ liệu Apache Guacamole vào cơ sở dữ liệu guacamoledb.
Mã:
cd guacamole-auth-jdbc-1.5.2/mysql/schema
cat *.sql | mariadb -u root -p guacamoledb
Nhập mật khẩu của người dùng gốc MariaDB khi được nhắc, sau đó nhấn ENTER.

Bây giờ, hãy di chuyển đến thư mục /usr/src một lần nữa và tải xuống trình kết nối MySQL cho ứng dụng Java thông qua wget.
Mã:
cd /usr/src
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-8.0.33.tar.gz
Sau khi tải xuống, hãy giải nén tệp mysql-connector-j-8.0.33.tar.gz và di chuyển trình kết nối MySQL Java đến thư mục /etc/guacamole/lib/.
Mã:
tar -xf mysql-connector-j-8.0.33.tar.gz
sudo mv mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar /etc/guacamole/lib/
Bây giờ hãy tạo cấu hình Apache Guacamole mới /etc/guacamole/guacamole.properties bằng nano biên tập viên.
Mã:
sudo nano /etc/guacamole/guacamole.properties
Chèn thông tin chi tiết về người dùng và mật khẩu cơ sở dữ liệu MariaDB cho cài đặt Apache Guacamole của bạn.
Mã:
# MySQL properties
mysql-hostname: localhost
mysql-database: guacamoledb
mysql-username: guacamole
mysql-password: GuacamolePassword
Lưu và đóng tệp khi bạn hoàn tất.

Cuối cùng, hãy chạy lệnh systemctl bên dưới để khởi động lại dịch vụ tomcat và áp dụng các thay đổi cho trang web Apache Guacamole ứng dụng.
Mã:
sudo systemctl restart tomcat
Bạn đã đạt đến giai đoạn thành công khi Apache Guacamole đang hoạt động với xác thực MariaDB. Dịch vụ guacd đang chạy tại localhost với cổng 4822 và ứng dụng web Apache Guacamole đang chạy trong Apache Tomcat và có thể truy cập qua đường dẫn URL /guacamole.

Cấu hình Nginx làm Proxy ngược​

Trong phần sau, bạn sẽ thiết lập Nginx làm proxy ngược cho Apache Guacamole. Bạn cũng sẽ bảo mật cài đặt của mình bằng cách triển khai HTTPS với Letsencrypt.

Mở cấu hình Apache Tomcat /etc/tomcat/server.xml bằng lệnh nano editor sau.
Mã:
sudo nano /etc/tomcat/server.xml
Trong phần `<Host name="localhost" appBase="webapps"`, hãy thêm cấu hình mới để bật proxy ngược trên Apache Tomcat.
Mã:
Lưu tệp và thoát khỏi trình chỉnh sửa.

Bây giờ hãy chạy lệnh sau để khởi động lại dịch vụ tomcat và áp dụng các thay đổi.
Mã:
sudo systemctl restart tomcat
Tiếp theo, tạo cấu hình khối máy chủ Nginx mới /etc/nginx/conf.d/guacamole.conf bằng nano biên tập viên.
Mã:
sudo nano /etc/nginx/conf.d/guacamole.conf
Chèn cấu hình khối máy chủ sau và đảm bảo thay đổi tên miền.
Mã:
server {
 listen 80;
 server_name guacamole.howtoforge.local;

 access_log /var/log/nginx/guacamole-access.log;
 error_log /var/log/nginx/guacamole-error.log;

 location / {
 
 proxy_pass http://127.0.0.1:8080/guacamole/;
 proxy_buffering off;
 proxy_http_version 1.1;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection $http_connection;
 access_log off;
 }
}
Lưu tệp và thoát khỏi trình biên tập.

Bây giờ hãy chạy lệnh sau để đảm bảo rằng bạn có cấu hình Nginx phù hợp và khởi động lại Nginx để áp dụng thay đổi.
Mã:
sudo nginx -t
sudo systemctl restart nginx
Nếu bạn cấu hình Nginx đúng, bạn sẽ nhận được đầu ra cú pháp ok - thử nghiệm thành công.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22658%22%20height=%22197%22%3E%3C/svg%3E


Cuối cùng, hãy chạy lệnh certbot bên dưới để bảo mật cài đặt Apache Guacamole của bạn thông qua Letsencrypt. Hãy đảm bảo thay đổi tên miền và địa chỉ email trong lệnh này.
Mã:
sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [emailprotected] -d guacamole.howtoforge.local
Khi quá trình hoàn tất, bạn có thể truy cập Apache Guacamole qua kết nối HTTPS. Ngoài ra, chức năng tự động chuyển hướng từ HTTP sang HTTPS được bật theo mặc định thông qua Letsencrypt.

Truy cập Apache Guacamole​

Khởi chạy trình duyệt web của bạn và truy cập tên miền cài đặt Apache Guacamole của bạn (ví dụ: https://guacamole.howtoforge.local). Đăng nhập thông qua người dùng mặc định guacadmin và mật khẩu guacadmin.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22464%22%3E%3C/svg%3E


Khi mọi thứ diễn ra suôn sẻ, bạn sẽ thấy bảng điều khiển người dùng Apache Guacamole.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22157%22%3E%3C/svg%3E


Bây giờ hãy nhấp vào menu Quản trị và nhấp vào Cài đặt. Bạn sẽ tạo một kết nối mới trên Apache Guacamole.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22154%22%20height=%22198%22%3E%3C/svg%3E


Chọn tab Kết nối và nhấp vào nút Tạo kết nối mới.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22686%22%20height=%22274%22%3E%3C/svg%3E


Trong phần CHỈNH SỬA KẾT NỐI, hãy nhập tên kết nối và chọn giao thức mà bạn muốn kết nối. Trong bản demo này, bạn sẽ tạo một kết nối mới testssh với giao thức SSH.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22509%22%20height=%22181%22%3E%3C/svg%3E


Trong phần THAM SỐ, nhập địa chỉ IP và cổng của máy chủ đích, sau đó nhập tên người dùng và mật khẩu của máy chủ đích.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22600%22%20height=%22517%22%3E%3C/svg%3E


Cuộn xuống và nhấp vào Lưu để xác nhận.

Tiếp theo, quay lại bảng điều khiển trang chủ của người dùng và bạn sẽ thấy kết nối testssh đã được tạo. Nhấp vào kết nối testssh để kết nối với máy chủ đích.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22459%22%20height=%22139%22%3E%3C/svg%3E


Nếu thành công, bạn sẽ được kết nối với máy chủ đích như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22677%22%20height=%22271%22%3E%3C/svg%3E

Kết luận​

Làm tốt lắm! Bạn đã cài đặt thành công Apache Guacamole làm Remote Desktop Gateway trên máy AlmaLinux 9. Bạn đã cài đặt Apache Guacamole với xác thực cơ sở dữ liệu MariaDB và proxy ngược Nginx. Hơn nữa, bạn cũng đã bảo mật việc triển khai thông qua SSL từ letsencrypt. Bây giờ bạn có thể bắt đầu truy cập máy chủ hoặc máy tính để bàn của mình dễ dàng thông qua ứng dụng web Apache Guacamole.
 
Back
Bên trên