Jika Anda adalah administrator sistem dan bertanggung jawab untuk mengelola mesin Windows dan Linux, maka Anda mungkin sering memerlukan perangkat lunak klien desktop jarak jauh untuk mengelolanya. Apache Guacamole adalah aplikasi desktop jarak jauh gratis, sumber terbuka, dan berbasis web yang memungkinkan Anda mengakses mesin desktop melalui browser web. Ini adalah aplikasi web HTML5 tanpa klien yang mendukung protokol standar seperti VNC, RDP, dan SSH. Anda tidak perlu menginstal dan perangkat lunak klien atau plugin di server. Dengan Guacamole, Anda dapat dengan mudah beralih di antara beberapa mesin desktop jarak jauh dengan jendela browser yang sama.
Dalam tutorial ini, kami akan menunjukkan cara menginstal gateway desktop jarak jauh Apache Guacamole di server Ubuntu 18.04 LTS.
Prasyarat
- Server yang menjalankan Ubuntu 18.04.
- Kata sandi root telah disiapkan di server Anda.
Memulai
Sebelum memulai, sebaiknya perbarui paket sistem Anda ke versi terbaru. Anda dapat memperbaruinya menggunakan perintah berikut:
apt-get update -y
apt-get upgrade -y
Setelah semua paket diperbarui, mulai ulang sistem Anda untuk menerapkan perubahan.
Instal Dependensi yang Diperlukan
Sebelum memulai, Anda perlu menginstal beberapa dependensi di sistem Anda untuk mengkompilasi Guacamole dari sumbernya. Anda dapat menginstal semuanya menggunakan perintah berikut:
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
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal Server Tomcat
Selanjutnya, Anda perlu menginstal Tomcat di server Anda untuk menyajikan konten klien guacamole kepada pengguna yang terhubung ke server guacamole melalui browser web. Anda dapat menginstalnya menggunakan perintah berikut:
apt-get install tomcat8 tomcat8-admin tomcat8-common tomcat8-user -y
Setelah Tomcat terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal Server Guacamole
Guacamole dipisahkan menjadi dua komponen, guacamole-server yang menyediakan proxy guacd dan perpustakaan terkait, dan guacamole-client yang menyediakan klien untuk dilayani oleh server Tomcat Anda. Secara default, Server Guacamole tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu membuatnya dari sumbernya.
Pertama, unduh versi terbaru sumber Guacamole menggunakan perintah berikut:
wget http://apachemirror.wuchna.com/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 konfigurasikan dengan perintah berikut:
cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d
Setelah konfigurasi berhasil, Anda akan mendapatkan output berikut:
Library status: freerdp2 ............ no pango ............... yes libavcodec .......... yes libavutil ........... yes libssh2 ............. yes libssl .............. yes libswscale .......... yes libtelnet ........... no libVNCServer ........ yes libvorbis ........... yes libpulse ............ no libwebsockets ....... no libwebp ............. yes wsock32 ............. no Protocol support: Kubernetes .... no RDP ........... no SSH ........... yes Telnet ........ no VNC ........... yes Services / tools: guacd ...... yes guacenc .... yes guaclog .... yes FreeRDP plugins: no Init scripts: /etc/init.d Systemd units: no Type "make" to compile guacamole-server.
Selanjutnya, jalankan perintah berikut untuk mengkompilasi guacamole-server:
make
Setelah kompilasi selesai dengan sukses, Anda dapat menginstalnya dengan perintah berikut:
make install
Setelah diinstal, jalankan perintah berikut untuk memperbarui cache sistem Anda dari perpustakaan yang diinstal
ldconfig
Selanjutnya, aktifkan layanan Guacamole untuk memulai saat boot dan mulai dengan perintah berikut:
systemctl enable guacd
systemctl start guacd
Anda juga 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 Sat 2020-04-11 14:48:03 UTC; 7s ago Docs: man:systemd-sysv-generator(8) Process: 28833 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS) Tasks: 1 (limit: 2359) CGroup: /system.slice/guacd.service ??28847 /usr/local/sbin/guacd -p /var/run/guacd.pid Apr 11 14:48:03 ubuntu1804 systemd[1]: Starting LSB: Guacamole proxy daemon... Apr 11 14:48:03 ubuntu1804 guacd[28834]: Guacamole proxy daemon (guacd) version 1.1.0 started Apr 11 14:48:03 ubuntu1804 guacd[28833]: Starting guacd: guacd[28834]: INFO: Guacamole proxy daemon (guacd) version 1.1.0 started Apr 11 14:48:03 ubuntu1804 guacd[28833]: SUCCESS Apr 11 14:48:03 ubuntu1804 systemd[1]: Started LSB: Guacamole proxy daemon. Apr 11 14:48:03 ubuntu1804 guacd[28847]: Listening on host 127.0.0.1, port 4822
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 file biner Guacamole dengan perintah berikut:
wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
Setelah unduhan selesai, salin ke direktori /etc/guacamole:
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/tomcat8/webapps/
Terakhir, mulai ulang layanan Tomcat dan Guacamole untuk menerapkan aplikasi web baru
systemctl restart tomcat8
systemctl restart guacd
Konfigurasikan Guacomole
Setelah menginstal Guacamole, 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. Kemudian, buat direktori lib dan ekstensi dengan perintah berikut:
mkdir /etc/guacamole/{extensions,lib}
Selanjutnya, variabel lingkungan direktori home guacamole ke file konfigurasi default Tomcat8.
echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat8
Metode otentikasi default Guacamole membaca semua pengguna dan koneksi dari satu file bernama user-mapping.xml. File ini akan menentukan pengguna yang diizinkan untuk mengakses UI web Guacamole, server untuk terhubung, dan metode koneksi.
Pertama, buat hash md5 untuk kata sandi dengan perintah berikut:
echo -n yoursecurepassword | openssl md5
Anda akan mendapatkan output berikut:
(stdin)= 55b38b03e7587a45fd886977842ff9b8
Catatan:Ingat hash ini, Anda harus menentukannya di file user-mapping.xml.
Selanjutnya, buat user-mapping.xml baru dengan perintah berikut:
nano /etc/guacamole/user-mapping.xml
Tambahkan baris berikut:
<user-mapping> <authorize username="admin" password="55b38b03e7587a45fd886977842ff9b8" encoding="md5"> <connection name="Ubuntu-Server"> <protocol>ssh</protocol> <param name="hostname">192.168.0.150</param> <param name="port">22<param> <param name="username">root</param> </connection> <connection name="Windows Server"> <protocol>rdp</protocol> <param name="hostname">192.168.0.100</param> <param name="port">3389</param> </connection> </authorize> </user-mapping>
Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Tomcat dan Guacamole untuk menerapkan perubahan:
systemctl restart tomcat8
systemctl restart guacd
Mengakses Antarmuka Web Guacamole
Pada titik ini, server Guacamole diinstal dan dikonfigurasi. Sekarang, saatnya mengaksesnya melalui browser web.
Buka browser web Anda dan ketik URL http://your-server-ip:8080/guacamole/. Anda akan diarahkan ke halaman login Apache Guacamole:
Berikan nama pengguna dan sandi yang telah Anda tentukan di file user-mapping.xml dan klik Login tombol. Anda akan melihat dasbor default Apache Guacamole dengan semua koneksi:
Sekarang, klik pada Ubuntu-Server dan Anda akan diminta untuk memasukkan kata sandi untuk pengguna yang telah Anda tentukan di user-mapping.xml seperti yang ditunjukkan di bawah ini:
Berikan kata sandi pengguna sistem Anda dan tekan Enter . Anda akan login ke Ubuntu-Server seperti gambar di bawah ini:
Konfigurasikan Nginx sebagai Proxy Terbalik untuk Guacamole
Selanjutnya, Anda perlu mengonfigurasi Nginx sebagai proxy terbalik untuk mengakses dasbor Guacamole. Pertama, instal server web Nginx menggunakan perintah berikut:
apt-get install nginx -y
Setelah terinstal, 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, periksa Nginx apakah ada kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan mendapatkan output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Terakhir, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Sekarang, Anda dapat mengakses antarmuka web Guacamole menggunakan URL http://your-server-ip.
Kesimpulan
Selamat! Anda telah berhasil menginstal gateway desktop jarak jauh Guacamole di server Ubuntu 18.04. Sekarang Anda dapat menambahkan server jarak jauh lain yang ingin Anda kelola dari jarak jauh melalui browser web.