Apache Guacamole adalah aplikasi desktop jarak jauh gratis, sumber terbuka, berbasis web, dan tanpa klien yang mendukung protokol standar seperti VNC, RDP, dan SSH. Ini memungkinkan Anda untuk mengakses Linux dan PC Windows dari browser web melalui RDP, SSH, atau VNC. Ini tanpa klien sehingga Anda tidak perlu menginstal plugin atau perangkat lunak klien apa pun. Itu dibuat dari dua komponen Guacamole Server dan Guacamole Client. Server Guacamole menyediakan komponen sisi server dan asli yang diperlukan untuk terhubung ke PC jarak jauh sementara klien Guacamole adalah aplikasi web HTML 5 yang digunakan untuk terhubung ke PC jarak jauh.
Dalam tutorial ini, kami akan menunjukkan cara menginstal server Guacamole di CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8.
- Sandi root dikonfigurasi untuk server.
Memulai
Pertama, Anda perlu menginstal beberapa paket yang diperlukan di server Anda. Anda dapat menginstal semuanya dengan perintah berikut:
dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10
Setelah menginstal semua paket yang diperlukan, Anda harus mengaktifkan repo EPEL, PowerTools, dan Devel di sistem Anda. Anda dapat mengaktifkannya dengan perintah berikut:
dnf install epel-release -y
dnf config-manager --set-enabled PowerTools
dnf config-manager --enable Devel
Selanjutnya, instal alat lain yang diperlukan dengan perintah berikut:
dnf install cairo-devel libuv-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool uuid-devel freerdp-devel pango-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libssh2-devel libtheora opus lame-libs
Selanjutnya, nonaktifkan repo Devel dengan perintah berikut:
dnf config-manager --disable Devel
Selanjutnya, Anda perlu mengkompilasi pustaka telnet di sistem Anda.
Pertama, unduh dengan perintah berikut:
curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | cut -d '"' -f 4 | wget -qi -
Setelah diunduh, ekstrak file yang diunduh dengan perintah berikut:
tar -xf libtelnet-*.tar.gz
Selanjutnya, ubah direktori menjadi direktori yang diekstrak dan konfigurasikan dengan perintah berikut:
cd libtelnet-*/
./configure
Selanjutnya, instal ke sistem Anda dengan perintah berikut:
make
make install
Setelah terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal Java
Guacamole adalah perangkat lunak berbasis Java sehingga Java harus diinstal di server Anda. Jika belum terinstal, Anda dapat menginstalnya dengan perintah berikut:
dnf install java-11-openjdk-devel
Setelah terinstal, verifikasi versi Java menggunakan perintah berikut:
java -version
Anda akan mendapatkan output berikut:
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Instal Tomcat
Apache Tomcat digunakan untuk menyajikan konten klien guacamole. Jadi, Anda perlu menginstal Tomcat di server Anda.
Pertama, buat pengguna dan grup terpisah untuk Tomcat dengan perintah berikut:
groupadd --system tomcat
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat
Selanjutnya, unduh Tomcat versi terbaru dengan perintah berikut:
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz
Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar -xvf apache-tomcat-9.0.43.tar.gz
Selanjutnya, pindahkan Tomcat ke direktori /usr/share
mv apache-tomcat-9.0.43 /usr/share/tomcat
Selanjutnya, atur kepemilikan yang tepat ke direktori Tomcat:
chown -R tomcat:tomcat /usr/share/tomcat/
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Buat File Layanan Systemd untuk Tomcat
Selanjutnya, Anda perlu membuat file layanan systemd untuk Tomcat. Anda dapat membuatnya dengan perintah berikut:
nano /etc/systemd/system/tomcat.service
Tambahkan baris berikut:
[Unit] Description=Tomcat Server After=syslog.target network.target [Service] Type=forking User=tomcat Group=tomcat Environment=JAVA_HOME=/usr/lib/jvm/jre Environment='JAVA_OPTS=-Djava.awt.headless=true' Environment=CATALINA_HOME=/usr/share/tomcat Environment=CATALINA_BASE=/usr/share/tomcat Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid Environment='CATALINA_OPTS=-Xms512M -Xmx1024M' ExecStart=/usr/share/tomcat/bin/catalina.sh start ExecStop=/usr/share/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target
Simpan dan tutup file kemudian muat ulang daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, mulai layanan Tomcat dan aktifkan untuk memulai saat reboot sistem:
systemctl start tomcat
systemctl enable tomcat
Anda juga dapat memeriksa status Tomcat dengan perintah berikut:
systemctl status tomcat
Anda akan mendapatkan output berikut:
? tomcat.service - Tomcat Server Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2021-02-16 09:34:45 EST; 6s ago Process: 26546 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS) Main PID: 26551 (java) Tasks: 35 (limit: 12523) Memory: 89.7M CGroup: /system.slice/tomcat.service ??26551 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.man> Feb 16 09:34:45 centos8 systemd[1]: Starting Tomcat Server... Feb 16 09:34:45 centos8 systemd[1]: Started Tomcat Server.
Instal Apache Guacamole
Pertama, unduh Guacamole versi terbaru dengan perintah berikut:
wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz
Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar -xvzf guacamole-server-1.3.0.tar.gz
Selanjutnya, ubah direktori ke direktori yang diekstrak dan konfigurasikan dengan perintah berikut:
cd guacamole-server-1.3.0
./configure --with-init-dir=/etc/init.d
Selanjutnya, instal ke sistem Anda dengan perintah berikut:
make
make install
ldconfig
Selanjutnya, muat ulang daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, mulai layanan Guacamole dan aktifkan untuk memulai saat reboot sistem:
systemctl start guacd
systemctl enable guacd
Anda dapat memeriksa status Guacamole dengan perintah berikut:
systemctl status guacd
Anda akan mendapatkan output berikut:
? guacd.service - LSB: Guacamole proxy daemon Loaded: loaded (/etc/rc.d/init.d/guacd; generated) Active: active (running) since Tue 2021-02-16 09:37:15 EST; 4s ago Docs: man:systemd-sysv-generator(8) Process: 35723 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS) Tasks: 1 (limit: 12523) Memory: 12.1M CGroup: /system.slice/guacd.service ??35726 /usr/local/sbin/guacd -p /var/run/guacd.pid Feb 16 09:37:15 centos8 systemd[1]: Starting LSB: Guacamole proxy daemon... Feb 16 09:37:15 centos8 guacd[35723]: Starting guacd: guacd[35724]: INFO: Guacamole proxy daemon (guacd) version 1.3.0 started Feb 16 09:37:15 centos8 guacd[35723]: SUCCESS Feb 16 09:37:15 centos8 guacd[35726]: Listening on host 127.0.0.1, port 4822 Feb 16 09:37:15 centos8 systemd[1]: Started LSB: Guacamole proxy daemon.
Instal Klien Guacamole
Selanjutnya, buat direktori untuk Guacamole dan unduh file klien Guacamole dengan perintah berikut:
mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war
Setelah diunduh, pindahkan file yang diunduh ke direktori /etc/guacamole:
mv guacamole-1.3.0.war /etc/guacamole/guacamole.war
Selanjutnya, buat tautan simbolis dari file guacamole.war ke direktori /usr/share/Tomcat:
ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/
Selanjutnya, atur direktori home Guacamole dengan perintah berikut:
echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat
Selanjutnya, buat file konfigurasi Guacamole dengan perintah berikut:
nano /etc/guacamole/guacamole.properties
Tambahkan baris berikut:
guacd-hostname: localhost guacd-port: 4822 user-mapping: /etc/guacamole/user-mapping.xml auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
Simpan dan tutup file, lalu buat tautan simbolis dari direktori /etc/guacamole:
ln -s /etc/guacamole /usr/share/tomcat/.guacamole
Konfigurasikan Guacamole
Selanjutnya, Anda perlu membuat file pemetaan pengguna Guacamole untuk menentukan server jarak jauh yang ingin Anda hubungkan dari Guacamole.
Pertama, buat kata sandi rahasia dengan perintah berikut:
echo -n your-password | openssl md5
Anda akan melihat output berikut:
(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2
Selanjutnya, buat file user-mapping.xml dengan perintah berikut:
nano /etc/guacamole/user-mapping.xml
Tambahkan jendela jarak jauh dan detail server Linux Anda seperti yang ditunjukkan di bawah ini:
<user-mapping> <authorize username="admin" password="0f6e4a1df0cf5ee97c2066953bed21b2" encoding="md5"> <!-- First authorized Remote connection --> <connection name="CentOS 8"> <protocol>ssh</protocol> <param name="hostname">69.87.218.51</param> <param name="port">22</param> </connection> <connection name="Windows Server"> <protocol>rdp</protocol> <param name="hostname">15.185.162.149</param> <param name="port">3389</param> <param name="username">administrator</param> </connection> </authorize> </user-mapping>
Simpan dan tutup file, lalu mulai ulang layanan Guacamole dan Tomcat untuk menerapkan perubahan:
systemctl restart tomcat guacd
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Firewall
Selanjutnya, Anda harus mengizinkan port 4822 dan 8080 melalui firewall. Anda dapat mengizinkannya dengan perintah berikut:
firewall-cmd --permanent --add-port=4822/tcp
firewall-cmd --permanent --add-port=8080/tcp
Selanjutnya, muat ulang firewalld untuk menerapkan perubahan:
firewall-cmd --reload
Mengakses UI Web Guacamole
Sekarang, buka browser web Anda dan akses antarmuka Web Guacamole menggunakan URL http://your-server-ip:8080/guacamole . Anda akan melihat layar berikut:
Berikan nama pengguna, kata sandi admin Anda, dan klik Masuk tombol. Anda akan melihat dasbor Guacamole di layar berikut:
Pada layar di atas, Anda dapat melihat server Windows dan Linux. Anda dapat mengklik untuk menghubungkan dan mengelola server jarak jauh.
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi server Guacamole di CentOS 8. Sekarang Anda dapat menambahkan lebih banyak server jarak jauh ke server Guacamole Anda dan mengelolanya melalui browser web.