Guacamole adalah panel kontrol desktop jarak jauh gratis, open-source dan berbasis web yang digunakan untuk mengelola sistem Linux dan Windows dari browser web. Ini mendukung protokol standar seperti VNC, RDP, SSH dan Kubernetes, dan Anda tidak perlu menginstal perangkat lunak apa pun di komputer klien. Ini mendukung clipboard, transfer file melalui SFTP dan memungkinkan Anda untuk mengelola beberapa sesi desktop jarak jauh.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi klien desktop jarak jauh Guacamole di server Ubuntu 20.04.
Prasyarat
- Server yang menjalankan Ubuntu 20.04 dengan RAM minimal 2GB.
- Sandi root dikonfigurasi untuk server.
Memulai
Pertama, Anda perlu memperbarui sistem Anda ke versi stabil terbaru. Anda dapat melakukannya dengan memperbarui semua paket sistem menggunakan perintah berikut:
apt-get update -y
Setelah sistem Anda diperbarui, mulai ulang sistem Anda untuk menerapkan perubahan.
Instal Dependensi yang Diperlukan
Pertama, Anda perlu menginstal beberapa dependensi di server Anda untuk mengkompilasi Guacamole dari sumber. Anda dapat menginstal semuanya dengan perintah berikut:
apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y
Setelah semua dependensi terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal Server Tomcat
Guacamole menggunakan Tomcat untuk menyajikan konten klien guacamole kepada pengguna yang terhubung ke server guacamole melalui browser web. Jadi server Tomcat harus diinstal di server Anda. Jika belum terinstal, Anda dapat menginstalnya dengan perintah berikut:
apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y
Setelah menginstal server Tomcat, mulai layanan Tomcat dan aktifkan untuk memulai saat reboot sistem dengan perintah berikut:
systemctl start tomcat9
systemctl enable tomcat9
Anda juga dapat memverifikasi status layanan Tomcat dengan perintah berikut:
systemctl status tomcat9
Anda akan mendapatkan output berikut:
? tomcat9.service - Apache Tomcat 9 Web Application Server Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-08-25 14:48:50 UTC; 29min ago Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html Process: 27982 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS) Main PID: 27990 (java) Tasks: 38 (limit: 4691) Memory: 241.5M CGroup: /system.slice/tomcat9.service ??27990 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.l>
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal Guacamole
Secara default, paket Guacamole tidak tersedia di repositori default Ubuntu 20.04. Jadi, Anda perlu mengompilasinya dari sumbernya.
Pertama, unduh Guacamole versi terbaru dari situs web Apache menggunakan perintah berikut:
wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar -xvzf guacamole-server-1.1.0.tar.gz
Selanjutnya, ubah direktori ke direktori yang diekstrak dan jalankan skrip configure untuk memeriksa apakah ada ketergantungan yang diperlukan yang hilang atau tidak:
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
Jika semuanya baik-baik saja, Anda akan melihat output berikut:
freerdp2 ............ yes pango ............... yes libavcodec .......... yes libavutil ........... yes libssh2 ............. yes libssl .............. yes libswscale .......... yes libtelnet ........... yes libVNCServer ........ yes libvorbis ........... yes libpulse ............ no libwebsockets ....... no libwebp ............. yes wsock32 ............. no Protocol support: Kubernetes .... no RDP ........... yes SSH ........... yes Telnet ........ yes VNC ........... yes Services / tools: guacd ...... yes guacenc .... yes guaclog .... yes FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2 Init scripts: /etc/init.d Systemd units: no Type "make" to compile guacamole-server.
Sekarang, kompilasi dan instal Guacamole Server dengan menjalankan perintah berikut:
make
make install
Selanjutnya, jalankan perintah berikut untuk memperbarui cache sistem Anda dari perpustakaan yang diinstal:
ldconfig
Selanjutnya, aktifkan dan mulai layanan Guacamole menggunakan perintah berikut
systemctl enable guacd
systemctl start guacd
Anda sekarang dapat memeriksa status layanan Guacamole dengan perintah berikut:
systemctl status guacd
Anda akan mendapatkan output berikut:
? guacd.service - LSB: Guacamole proxy daemon Loaded: loaded (/etc/init.d/guacd; generated) Active: active (running) since Tue 2020-08-25 12:02:26 UTC; 4s ago Docs: man:systemd-sysv-generator(8) Process: 27536 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS) Tasks: 1 (limit: 4691) Memory: 10.1M CGroup: /system.slice/guacd.service ??27555 /usr/local/sbin/guacd -p /var/run/guacd.pid Aug 25 12:02:26 ubuntu2004 systemd[1]: Starting LSB: Guacamole proxy daemon... Aug 25 12:02:26 ubuntu2004 guacd[27551]: Guacamole proxy daemon (guacd) version 1.1.0 started Aug 25 12:02:26 ubuntu2004 guacd[27536]: Starting guacd: Aug 25 12:02:26 ubuntu2004 guacd[27551]: Starting guacd: Aug 25 12:02:26 ubuntu2004 guacd[27551]: uacd[27551]: INFO: Guacamole proxy daemon (guacd) versio Aug 25 12:02:26 ubuntu2004 systemd[1]: Started LSB: Guacamole proxy daemon. Aug 25 12:02:26 ubuntu2004 guacd[27555]: Listening on host 127.0.0.1, port 4822 Aug 25 12:02:26 ubuntu2004 guacd[27536]: uacd[275
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal Klien Guacamole
Selanjutnya, Anda perlu menginstal klien Guacamole di server Anda. Klien Guacamole ditulis dalam Java dan bersifat lintas platform. Ini akan menjadi aplikasi HTML5 final yang akan disajikan kepada Anda.
Pertama, unduh biner Guacamole menggunakan perintah berikut:
wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
Setelah mengunduh biner Guacamole, salin ke direktori /etc/guacamole menggunakan perintah berikut:
mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war
Selanjutnya, buat tautan simbolis dari klien guacamole ke direktori webapps Tomcat dengan perintah berikut:
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
Terakhir, mulai ulang layanan Tomcat dan Guacamole untuk menerapkan aplikasi web baru:
systemctl restart tomcat9
systemctl restart guacd
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasikan Guacomole
Selanjutnya, Anda perlu mengonfigurasi pengguna dan koneksi agar Guacamole berfungsi dengan baik.
Pertama, buat file konfigurasi utama Guacamole bernama guacamole.properties.
nano /etc/guacamole/guacamole.properties
Tambahkan baris berikut:
guacd-hostname: localhost guacd-port: 4822 user-mapping: /etc/guacamole/user-mapping.xml
Simpan dan tutup file setelah Anda selesai.
Selanjutnya, Anda perlu membuat direktori untuk perpustakaan dan ekstensi. Anda dapat membuatnya dengan perintah berikut:
mkdir /etc/guacamole/{extensions,lib}
Selanjutnya, atur variabel lingkungan direktori home guacamole dan tambahkan ke file konfigurasi /etc/default/Tomcat9.
echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9
Selanjutnya, Anda perlu membuat file bernama user-mapping.xml untuk menentukan pengguna yang diizinkan mengakses UI web Guacamole.
Sebelum membuatnya, buat hash md5 untuk kata sandi dengan perintah berikut:
echo -n yoursecurepassword | openssl md5
Anda akan melihat output berikut:
(stdin)= 55b38b03e7587a45fd886977842ff9b8
Catatan :Ingat kata sandi md5 di atas. Anda perlu mendefinisikan ini di file user-mapping.xml.
Selanjutnya, buat user-mapping.xml baru dengan perintah berikut:
nano /etc/guacamole/user-mapping.xml
<user-mapping> <authorize username="admin" password="55b38b03e7587a45fd886977842ff9b8" encoding="md5"> <connection name="Ubuntu20.04-Server"> <protocol>ssh</protocol> <param name="hostname">192.168.10.50</param> <param name="port">22</param> <param name="username">root</param> </connection> <connection name="Windows Server"> <protocol>rdp</protocol> <param name="hostname">192.168.10.51</param> <param name="port">3389</param> </connection> </authorize> </user-mapping>
Simpan dan tutup file setelah Anda selesai.
Di mana:
- 192.168.10.50 adalah alamat IP server Ubuntu jarak jauh.
- 192.168.10.51 adalah alamat IP dari server Windows yang dihapus.
Selanjutnya, restart layanan Tomcat dan Guacamole untuk menerapkan perubahan:
systemctl restart tomcat9
systemctl restart guacd
Pada titik ini, server dan klien Guacamole telah diinstal dan dikonfigurasi.
Mengakses Antarmuka Web Guacamole
Sekarang, buka browser web Anda dan akses antarmuka web Guacamole menggunakan URL http://your-server-ip:8080/guacamole. Anda akan diarahkan ke halaman login Guacamole:
Berikan nama pengguna dan sandi yang Anda tetapkan di user-mapping.xml file, dan klik Masuk tombol. Anda akan melihat dasbor Guacamole di halaman berikut:
Sekarang, klik Ubuntu20.04-Server untuk menghubungkan server jauh menggunakan protokol SSH. Anda akan melihat layar login server Ubuntu seperti yang ditunjukkan di bawah ini:
Berikan kata sandi root server Ubuntu Anda dan tekan Enter . Anda akan masuk ke server Ubuntu seperti yang ditunjukkan di bawah ini:
Konfigurasi Nginx untuk Guacamole
Disarankan untuk mengonfigurasi Nginx sebagai proxy terbalik untuk mengakses Guacamole melalui port 80.
Pertama, instal server web Nginx menggunakan perintah berikut:
apt-get install nginx -y
Setelah menginstal Nginx, buat file konfigurasi virtual host Nginx baru:
nano /etc/nginx/sites-available/guacamole.conf
Tambahkan baris berikut:
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/ /; } }
Simpan dan tutup file setelah Anda selesai. Kemudian, aktifkan virtual host Nginx dengan perintah berikut:
ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/
Selanjutnya, restart layanan Nginx untuk menerapkan perubahan konfigurasi:
systemctl restart nginx
Sekarang, Anda dapat mengakses Guacamole Anda menggunakan URL http://your-server-ip.
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengonfigurasi klien desktop jarak jauh Guacamole di server Ubuntu 20.04. Sekarang Anda dapat menambahkan lebih banyak koneksi RDP atau VNC ke Guacamole Anda dan mulai mengelolanya dari antarmuka berbasis web.