Cách cài đặt Guacamole Remote Desktop Client dựa trên web trên Ubuntu 18.04 LTS

theanh

Administrator
Nhân viên
Nếu bạn là quản trị viên hệ thống và chịu trách nhiệm quản lý máy tính Windows và Linux thì bạn thường cần phần mềm máy khách từ xa để quản lý chúng. Apache Guacamole là ứng dụng máy khách từ xa miễn phí, mã nguồn mở và dựa trên web cho phép bạn truy cập máy tính để bàn của mình thông qua trình duyệt web. Đây là ứng dụng web HTML5 không cần máy khách hỗ trợ các giao thức chuẩn như VNC, RDP và SSH. Bạn không cần cài đặt phần mềm máy khách hoặc plugin trên máy chủ. Với Guacamole, bạn có thể dễ dàng chuyển đổi giữa nhiều máy tính để bàn từ xa bằng cùng một cửa sổ trình duyệt.

Trong hướng dẫn này, chúng tôi sẽ chỉ cách cài đặt cổng máy tính để bàn từ xa Apache Guacamole trên máy chủ Ubuntu 18.04 LTS.

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

  • Một máy chủ chạy Ubuntu 18.04.
  • Mật khẩu gốc được thiết lập trên máy chủ của bạn.

Bắt đầu​

Trước khi bắt đầu, bạn nên cập nhật gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng lệnh sau:
Mã:
apt-get update -y
apt-get upgrade -y
Sau khi tất cả các gói được cập nhật, hãy khởi động lại hệ thống của bạn để áp dụng các thay đổi.

Cài đặt các phụ thuộc bắt buộc​

Trước khi bắt đầu, bạn sẽ cần cài đặt một số phụ thuộc trong hệ thống của mình để biên dịch Guacamole từ nguồn. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
apt-get install gcc-6 g++-6 libossp-uuid-dev libavcodec-dev libpango1.0-dev libssh2-1-dev libcairo2-dev libjpeg-turbo8-dev libpng-dev libavutil-dev libswscale-dev libfreerdp-dev libvncserver-dev libssl-dev libvorbis-dev libwebp-dev -y
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt Tomcat Server​

Tiếp theo, bạn sẽ cần cài đặt Tomcat trên máy chủ của mình để phục vụ nội dung máy khách guacamole cho những người dùng kết nối với máy chủ guacamole thông qua trình duyệt web. Bạn có thể cài đặt nó bằng lệnh sau:
Mã:
apt-get install tomcat8 tomcat8-admin tomcat8-common tomcat8-user -y
Sau khi Tomcat được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt Guacamole Server​

Guacamole được chia thành hai thành phần, guacamole-server cung cấp proxy guacd và các thư viện liên quan, và guacamole-client cung cấp máy khách để máy chủ Tomcat của bạn phục vụ. Theo mặc định, Guacamole Server không có trong kho lưu trữ mặc định của Ubuntu 18.04. Vì vậy, bạn sẽ cần xây dựng nó từ nguồn.

Đầu tiên, hãy tải xuống phiên bản mới nhất của nguồn Guacamole bằng lệnh sau:
Mã:
wget http://apachemirror.wuchna.com/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
tar -xvzf guacamole-server-1.1.0.tar.gz
Tiếp theo, hãy thay đổi thư mục thành thư mục đã giải nén và định cấu hình bằng lệnh sau:
Mã:
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
Sau khi định cấu hình thành công, bạn sẽ nhận được kết quả sau:
Mã:
Trạng thái thư viện: freerdp2 ............ không pango ............... có libavcodec .......... có libavutil ........... có libssh2 ............. có libssl .............. có libswscale .......... có libtelnet ........... không libVNCServer ........ có libvorbis ........... có libpulse .......... không libwebsockets ....... không libwebp ............. có wsock32 ............. không Hỗ trợ giao thức: Kubernetes .... không RDP ........... không SSH ........... có Telnet ........ không VNC ........... có Dịch vụ / công cụ: guacd ...... có guacenc .... có guaclog .... có Plugin FreeRDP: không Tập lệnh khởi tạo: /etc/init.d Đơn vị Systemd: khôngGõ "make" để biên dịch guacamole-server.
Tiếp theo, chạy lệnh sau để biên dịch guacamole-server:
Mã:
make
Sau khi biên dịch thành công, bạn có thể cài đặt bằng lệnh sau:
Mã:
make install
Sau khi cài đặt, hãy chạy lệnh sau để cập nhật bộ nhớ đệm của hệ thống đã cài đặt thư viện
Mã:
ldconfig
Tiếp theo, hãy bật dịch vụ Guacamole để khởi động khi khởi động và khởi động bằng lệnh sau:
Mã:
systemctl enable guacd
systemctl start guacd
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Guacamole bằng lệnh sau:
Mã:
systemctl status guacd
Bạn sẽ nhận được kết quả sau:
Mã:
? guacd.service - LSB: Daemon proxy Guacamole Đã tải: đã tải (/etc/init.d/guacd; đã tạo) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2020-04-11 14:48:03 UTC; 7 giây trước Tài liệu: man:systemd-sysv-generator(8) Quy trình: 28833 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS) Nhiệm vụ: 1 (giới hạn: 2359) CGroup: /system.slice/guacd.service ??28847 /usr/local/sbin/guacd -p /var/run/guacd.pid11/04 14:48:03 ubuntu1804 systemd[1]: Đang khởi động LSB: Guacamole proxy daemon...11/04 14:48:03 ubuntu1804 guacd[28834]: Guacamole proxy daemon (guacd) phiên bản 1.1.0 đã khởi động11/04 14:48:03 ubuntu1804 guacd[28833]: Đang khởi động guacd: guacd[28834]: THÔNG TIN: Guacamole proxy daemon (guacd) phiên bản 1.1.0 đã bắt đầu11/04 14:48:03 ubuntu1804 guacd[28833]: THÀNH CÔNG11/04 14:48:03 ubuntu1804 systemd[1]: Đã bắt đầu LSB: Guacamole proxy daemon.11/04 14:48:03 ubuntu1804 guacd[28847]: Đang lắng nghe trên máy chủ 127.0.0.1, cổng 4822

Cài đặt Guacamole Client​

Tiếp theo, bạn sẽ cần cài đặt Guacamole client trên máy chủ của mình. Guacamole client được viết bằng Java và là nền tảng chéo. Đây sẽ là ứng dụng HTML5 cuối cùng được trình bày cho bạn.

Đầu tiên, tải xuống tệp nhị phân Guacamole bằng lệnh sau:
Mã:
wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
Sau khi tải xuống hoàn tất, hãy sao chép tệp này vào thư mục /etc/guacamole:
Mã:
mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war
Tiếp theo, tạo liên kết tượng trưng của máy khách guacamole tới thư mục webapps Tomcat bằng lệnh sau:
Mã:
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
Cuối cùng, khởi động lại dịch vụ Tomcat và Guacamole để triển khai ứng dụng web mới
Mã:
systemctl restart tomcat8
systemctl restart guacd

Cấu hình Guacomole​

Sau khi cài đặt Guacamole, bạn cần cấu hình người dùng và kết nối để Guacamole hoạt động bình thường.

Trước tiên, hãy tạo tệp cấu hình chính của Guacamole có tên là guacamole.properties.
Mã:
nano /etc/guacamole/guacamole.properties
Thêm các dòng sau:
Mã:
guacd-hostname: localhostguacd-port: 4822user-mapping: /etc/guacamole/user-mapping.xml
Lưu và đóng tệp. Sau đó, tạo một thư mục lib và tiện ích mở rộng bằng lệnh sau:
Mã:
mkdir /etc/guacamole/{extensions,lib}
Tiếp theo, biến môi trường thư mục home guacamole thành tệp cấu hình mặc định của tomcat8.
Mã:
echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat8
Phương thức xác thực mặc định của Guacamole đọc tất cả người dùng và kết nối từ một tệp duy nhất có tên là user-mapping.xml. Tệp này sẽ xác định người dùng được phép truy cập vào giao diện người dùng web Guacamole, các máy chủ để kết nối và phương thức kết nối.

Đầu tiên, tạo băm md5 cho mật khẩu bằng lệnh sau:
Mã:
echo -n yoursecurepassword | openssl md5
Bạn sẽ nhận được kết quả sau:
Mã:
(stdin)= 55b38b03e7587a45fd886977842ff9b8
Lưu ý: Hãy nhớ hàm băm này, bạn sẽ cần chỉ định nó trong tệp user-mapping.xml.

Tiếp theo, tạo một user-mapping.xml mới bằng lệnh sau:
Mã:
nano /etc/guacamole/user-mapping.xml
Thêm các dòng sau:
Mã:
   ssh 192.168.0.150 22 root   rdp 192.168.0.100 3389
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ Tomcat và Guacamole để áp dụng các thay đổi:
Mã:
systemctl restart tomcat8
systemctl restart guacd

Truy cập Giao diện web Guacamole​

Lúc này, máy chủ Guacamole đã được cài đặt và định cấu hình. Bây giờ, đã đến lúc truy cập máy chủ này thông qua trình duyệt web.

Mở trình duyệt web của bạn và nhập URL http://your-server-ip:8080/guacamole/. Bạn sẽ được chuyển hướng đến trang đăng nhập Apache Guacamole:



Cung cấp tên người dùng và mật khẩu mà bạn đã chỉ định trong tệp user-mapping.xml và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển mặc định của Apache Guacamole với tất cả các kết nối:



Bây giờ, hãy nhấp vào Ubuntu-Server và bạn sẽ được nhắc nhập mật khẩu cho người dùng mà bạn đã xác định trong user-mapping.xml như hiển thị bên dưới:



Cung cấp mật khẩu người dùng hệ thống của bạn và nhấn Enter. Bạn sẽ đăng nhập vào Ubuntu-Server như hiển thị bên dưới:


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

Tiếp theo, bạn sẽ cần cấu hình Nginx làm proxy ngược để truy cập bảng điều khiển Guacamole. Trước tiên, hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx mới:
Mã:
nano /etc/nginx/sites-available/guacamole.conf
Thêm các dòng sau:
Mã:
server { listen 80; server_name your-server-ip; access_log /var/log/nginx/guac_access.log; error_log /var/log/nginx/guac_error.log; location / { proxy_pass http://your-server-ip: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; proxy_cookie_path /guacamole/ /; }}
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, bật máy chủ ảo Nginx bằng lệnh sau:
Mã:
ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/
Tiếp theo, kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ nhận được kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Bây giờ, bạn có thể truy cập giao diện web Guacamole bằng URL http://your-server-ip.

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công Guacamole remote desktop gateway trên máy chủ Ubuntu 18.04. Bây giờ bạn có thể thêm một máy chủ từ xa khác mà bạn muốn quản lý từ xa thông qua trình duyệt web.
 
Back
Bên trên