GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara menginstal Guacamole Remote Desktop Client berbasis web di Ubuntu 20.04 LTS

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.


Ubuntu
  1. Cara menginstal Guacamole Remote Desktop Client berbasis web di Ubuntu 18.04 LTS

  2. Cara Menginstal Klien Mattermost di Ubuntu 18.04

  3. Cara Menginstal Xrdp (Desktop Jarak Jauh) di Ubuntu 20.04 LTS

  1. Cara Memasang Desktop Ubuntu 20.04 LTS

  2. Cara Memasang Dropbox Di Desktop Ubuntu 18.04 LTS

  3. Cara Menginstal Ansible di Ubuntu 20.04 LTS

  1. Cara Menginstal Desktop Kayu Manis di Ubuntu 20.04 LTS

  2. Cara Menginstal Desktop GNOME di Ubuntu 20.04 LTS

  3. Cara Memasang Desktop Budgie di Ubuntu