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.
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.
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.
Sau khi Tomcat được cài đặt, bạn có thể tiến hành bước tiếp theo.
Đầ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:
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:
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:
Sau khi định cấu hình thành công, bạn sẽ nhận được kết quả sau:
Tiếp theo, chạy lệnh sau để biên dịch guacamole-server:
Sau khi biên dịch thành công, bạn có thể cài đặt bằng lệnh sau:
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
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:
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Guacamole bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Đầu tiên, tải xuống tệp nhị phân Guacamole bằng lệnh sau:
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:
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:
Cuối cùng, khởi động lại dịch vụ Tomcat và Guacamole để triển khai ứng dụng web mới
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.
Thêm các dòng sau:
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:
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.
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:
Bạn sẽ nhận được kết quả sau:
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:
Thêm các dòng sau:
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ở 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:
Sau khi cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx mới:
Thêm các dòng sau:
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:
Tiếp theo, kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Bây giờ, bạn có thể truy cập giao diện web Guacamole bằng URL http://your-server-ip.
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
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
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
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
Mã:
tar -xvzf guacamole-server-1.1.0.tar.gz
Mã:
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
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.
Mã:
make
Mã:
make install
Mã:
ldconfig
Mã:
systemctl enable guacd
systemctl start guacd
Mã:
systemctl status guacd
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
Mã:
mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war
Mã:
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
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
Mã:
guacd-hostname: localhostguacd-port: 4822user-mapping: /etc/guacamole/user-mapping.xml
Mã:
mkdir /etc/guacamole/{extensions,lib}
Mã:
echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat8
Đầu tiên, tạo băm md5 cho mật khẩu bằng lệnh sau:
Mã:
echo -n yoursecurepassword | openssl md5
Mã:
(stdin)= 55b38b03e7587a45fd886977842ff9b8
Tiếp theo, tạo một user-mapping.xml mới bằng lệnh sau:
Mã:
nano /etc/guacamole/user-mapping.xml
Mã:
ssh 192.168.0.150 22 root rdp 192.168.0.100 3389
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
Mã:
nano /etc/nginx/sites-available/guacamole.conf
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/ /; }}
Mã:
ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/
Mã:
nginx -t
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
Mã:
systemctl restart nginx