GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Apache Guacamole di Debian 11

Apache Guacamole adalah gateway desktop jarak jauh sumber terbuka dan gratis yang memungkinkan Anda terhubung ke komputer/server Anda dari jarak jauh menggunakan protokol yang berbeda seperti SSH, RDP, dan VNC. Apache Guacamole dikelola oleh Apache Software Foundation, dan dilisensikan dengan Apache License 2.0.

Apache Guacamole adalah gateway desktop jarak jauh tanpa klien. Anda dapat mengakses Apache Guacamole hanya menggunakan browser web dari mana saja dan kapan saja. Dianjurkan untuk menggunakan Apache Guacamole jika Anda memiliki beberapa sistem operasi jarak jauh dengan protokol yang berbeda, seperti Windows dengan RDP, sistem Linux dengan VNC dan SSH.

Dalam tutorial ini, Anda akan menginstal dan mengkonfigurasi Apache Guacamole ke Debian 11 Bullseye. Ini termasuk menginstal beberapa dependensi paket dan Apache Tomcat 9, kemudian membangun server Guacamole dan menginstal aplikasi Java, aplikasi web Guacamole. Pada akhirnya, Anda akan menyiapkan Nginx sebagai proxy terbalik untuk aplikasi web Guacamole yang memungkinkan Anda mengakses server dari mana saja, selama Anda memiliki browser web.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan persyaratan berikut:

  • Server dengan setidaknya 2 GB RAM yang menjalankan Debian 11 Bullseye.
  • Pengguna menggunakan atau non-root dengan hak akses root.
  • Pengetahuan dasar dengan editor nano. Atau Anda dapat menggunakan editor pilihan Anda seperti vim.

Memasang Dependensi Build

Pada awalnya, Anda akan menginstal beberapa dependensi build untuk membangun server Apache Guacamole. Ini termasuk beberapa paket dasar seperti 'libvncserver-dev ' yang mengaktifkan dukungan untuk protokol VNC, 'libssh2-1 ' untuk protokol SSH, 'freerdp2-dev ' untuk protokol RDP, dan 'libwebsockets-dev ' untuk dukungan Kubernetes.

Sebagai pertimbangan, Anda tidak akan menginstal 'libtelnet-dev' untuk dukungan Telnet. Ini karena telnet dianggap sebagai protokol lama dan tidak aman.

1. Sekarang, perbarui daftar paket Anda dengan menjalankan perintah apt di bawah ini.

sudo apt update

2. Setelah itu, instal dependensi untuk membangun server Apache Guacamole dengan menjalankan perintah berikut.

sudo apt install -y freerdp2-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libcairo2-dev libjpeg62-turbo-dev libjpeg-dev libpng-dev libtool-bin libpango1.0-dev libpango1.0-0 libssh2-1 libwebsockets16 libwebsocketpp-dev libossp-uuid-dev libssl-dev libwebp-dev libvorbis-dev libpulse-dev libwebsockets-dev libvncserver-dev libssh2-1-dev openssl

Perintah ini mungkin membutuhkan waktu untuk diselesaikan, tergantung pada koneksi internet server Anda.

Menginstal Apache Tomcat 9

Setelah menginstal dependensi build, Anda akan menginstal Apache Tomcat 9. Paket ini diperlukan untuk aplikasi web Guacamole, yang merupakan aplikasi web yang ditulis dalam Java.

1. Jalankan perintah berikut untuk menginstal Apache Tomcat 9 ke sistem Anda.

sudo apt install -y tomcat9 tomcat9-admin tomcat9-common tomcat9-user

2. Setelah Apache Tomcat 9 terinstal, mulai dan aktifkan layanan Apache Tomcat dengan menjalankan perintah di bawah ini. Pada sistem berbasis Debian, Apache Tomcat 9 hadir dengan layanan yang disebut 'Tomcat9 '.

sudo systemctl aktifkan --now Tomcat9

3. Sekarang, jika semuanya terlihat baik-baik saja, verifikasi status 'Tomcat9 ' dengan menjalankan perintah di bawah ini.

sudo systemctl status Tomcat9

Anda akan menerima output berikut. Pastikan 'Tomcat9 ' layanan 'aktif (berjalan) '.

Mengkompilasi Guacamole-server

Di bagian ini, Anda akan mengunduh dan mengkompilasi server Guacamole. Ini adalah komponen utama Apache Guacamole, yang berisi perpustakaan untuk menghubungkan ke server jarak jauh dan desktop. Guacamole-server berisi library C 'libguacd' dan semua library untuk protokol yang didukung, serta inti dari Guacamole, guacd.

Guacd menangani semua koneksi klien yang disalurkan dari aplikasi web guacamole, kemudian terhubung ke server jarak jauh dan desktop atas nama mereka. Dengan membangun dan mengkompilasi Guacamole-server, Anda akan memiliki layanan baru 'guacd' di sistem Anda.

1. Mulailah dengan menavigasi direktori kerja ke '/usr/src '. Semua kode sumber untuk membangun dan mengkompilasi barang masuk ke direktori ini.

cd /usr/src

2. Sekarang, Anda akan mengunduh kode sumber server Guacamole dengan menjalankan perintah wget di bawah ini. Pastikan untuk memeriksa halaman Unduh Guacamole dan salin server Guacamole versi terbaru. Pada saat penulisan ini, versi terbaru adalah 1.3.0.

wget https://dlcdn.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz

3. Kemudian, ekstrak kode sumber dan Anda akan mendapatkan direktori baru 'guacamole-server-VERSION-NUMBER' . Navigasikan ke direktori itu.

tar -xzvf guacamole-server-1.3.0.tar.gz
cd guacamole-server-*/

4. Sekarang, verifikasi semua persyaratan sistem untuk membangun server Guacamole dan atur lingkungan Anda dengan menjalankan perintah berikut. Opsi '--with-systemd-dir=/etc/systemd/system/' digunakan untuk mengatur file layanan systemd, yang akan tersedia di direktori '/etc/systemd/system/ '.

./configure --with-systemd-dir=/etc/systemd/system/

Anda akan menerima output seperti ini:

------------------------------------------------ -
guacamole-server versi 1.3.0
---------------------------------- --------------

   Status perpustakaan:

     freerdp2 ............ ya
     pango ............... ya
     libavcodec .......... ya
     libavformat.......... ya
     libavutil ........... ya
     libssh2 ............. ya
     libssl ......... ..... ya
     libswscale .......... ya
     libtelnet ........... tidak
     libVNCServer ...... .. ya
     libvorbis ........... ya
     libpulse ............ ya
     libwebsockets ....... ya
     libwebp ............. ya
     wsock32 ............. tidak

   Dukungan protokol:

      Kubernetes .... ya
      RDP ........... ya
      SSH ........... ya
      Telnet ........ tidak
      VNC ........... ya

   Layanan / alat:

      guacd ...... ya
      guacenc .... yes
      guaclog .... yes

   Plugin FreeRDP:/usr/lib/x86_64-linux-gnu/freerdp2
   Skrip init:tidak
   Unit sistem:/ etc/systemd/system/

Ketik "make" untuk mengkompilasi guacamole-server.

Lihat 'Status Perpustakaan ' dan 'Dukungan protokol ' bagian. Anda dapat menyesuaikan dukungan protokol dengan menginstal dependensi dan pustaka tambahan.

5. Selanjutnya, compile dan install Guacamole-server dengan menjalankan perintah di bawah ini.

make
make install

Proses kompilasi dan penginstalan mungkin memerlukan waktu untuk diselesaikan.

6. Sekarang, setelah semuanya selesai, jalankan perintah berikut untuk menerapkan semua pustaka sistem baru.

sudo ldconfig

Di bagian ini, Anda telah menginstal paket Guacamole-server. Selanjutnya, Anda akan membuat beberapa konfigurasi yang diperlukan untuk server Guacamole.

Menyiapkan Guacamole-Server

Untuk membuat server Guacamole berfungsi, Anda akan membuat direktori konfigurasi '/etc/guacamole/ ', lalu buat file baru 'guacamole.properties ' sebagai konfigurasi default Guacamole-server, file 'logback.xml' untuk sistem pencatatan Guacamole, dan file 'user-mapping.xml' untuk menentukan autentikasi pengguna Guacamole dan koneksi ke server dan desktop jarak jauh.

1. Untuk memulai, jalankan perintah berikut untuk membuat direktori baru '/etc/guacamole/ ' dalam direktori tambahan 'ekstensi ' dan 'lib' dalam. Kemudian tambahkan variabel lingkungan 'GUACAMOLE_HOME=/etc/guacamole ' ke file '/etc/default/Tomcat9'. Ini akan memberi tahu wadah servlet Tomcat 9 untuk mencari 'GUACAMOLE_HOME ' ke direktori '/etc/guacamole/ '.

mkdir -p /etc/guacamole/{extensions,lib}
echo 'GUACAMOLE_HOME=/etc/guacamole'>> /etc/default/tomcat9

2. Sekarang, buat konfigurasi utama 'guacamole.properties ' menggunakan nano atau editor pilihan Anda.

sudo nano /etc/guacamole/guacamole.properties

Masukkan konfigurasi berikut:

# Nama host dan port proxy guacamole
guacd-hostname:localhost
guacd-port:     4822

# pemetaan pengguna dan koneksi pengguna
pemetaan pengguna:/etc/guacamole/user-mapping.xml
  • Opsi 'guacd-hostname' mendefinisikan nama host atau alamat IP tempat layanan guacd akan dijalankan. Tutorial ini menggunakan localhost untuk menjalankan layanan guacd.
  • Opsi 'guacd-port ' mendefinisikan port default untuk layanan guacd. Tutorial ini menggunakan port '4822 ' untuk layanan guacd.
  • Opsi 'pemetaan pengguna' menentukan konfigurasi file untuk otentikasi pengguna dan daftar koneksi yang tersedia. Tutorial ini menggunakan file '/etc/guacamole/user-mapping.xml' untuk menentukan pengguna dan koneksi untuk server Guacamole. Anda mungkin tertarik untuk menggunakan metode otentikasi lain, periksa Dokumentasi Guacamole.

Simpan dan tutup file.

3. Selanjutnya, buat konfigurasi baru 'loogback.xml ' untuk masuk dan debugging. Secara default, Guacamole hanya akan masuk ke konsol. Menggunakan konfigurasi ini memungkinkan Guacamole untuk masuk melalui kerangka kerja logging Logback.

sudo nano /etc/guacamole/logback.xml

Tambahkan baris konfigurasi berikut.



   
   
       
           %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
       

   


   
   
      
               username="johndoe"
           password="aca22211ffcfb8aa8ad7627195ad4fce"
           penyandian resmi pertama="md5" 

>
       
           ssh
           localhost
          22
           johndoe
           SSHPASSWORD
      

       
      
          vnc
          localhost
           5901
          VNCPASS
       


      
      
          vnc
           otherhost
           5900
           VNCPASS
       


   

Simpan dan tutup file.

Sekarang Anda telah menyelesaikan konfigurasi Guacamole-server. Selanjutnya, Anda akan menginstal dan mengonfigurasi aplikasi web Guacamole, yang merupakan aplikasi web yang akan Anda lihat di browser.

Memasang Aplikasi Web Klien Guacamole

Di bagian ini, Anda akan menginstal aplikasi web Guacamole ke sistem Anda. Ini dapat dilakukan dengan mengunduh file biner terkompilasi dari aplikasi web Guacamole dan menyebarkannya ke direktori 'webaps' Tomcat.

1. Arahkan direktori kerja Anda ke '/usr/src' dan unduh aplikasi web Guacamole yang dikompilasi '.war ' menggunakan perintah wget. Pastikan untuk mengunjungi halaman unduh Guacamole dan salin tautan untuk aplikasi web Guacamole versi terbaru.

cd /usr/src
wget https://dlcdn.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war

2. Sekarang, gunakan aplikasi biner Java 'guacamole-VERSION.war ' ke direktori Tomcat '/var/lib/Tomcat9/webapps/' dengan menjalankan perintah berikut. Ini membuat aplikasi web Guacamole dapat diakses melalui wadah servlet Apache Tomcat.

sudo cp guacamole-1.3.0.war /var/lib/tomcat9/webapps/guacamole.war

3. Setelah itu, restart layanan Tomcat 9 untuk menerapkan aplikasi web baru.

sudo systemctl restart Tomcat9

4. Selanjutnya, mulai dan aktifkan 'guacd ' dengan menjalankan perintah di bawah ini.

sudo systemctl aktifkan --now guacd

Kemudian verifikasi menggunakan perintah berikut.

sudo systemctl status guacd

Anda akan menerima output seperti screenshot di bawah ini.

Pada titik ini, Anda telah menyelesaikan instalasi aplikasi server Guacamole (backend) dan aplikasi web Guacamole (front-end). Selanjutnya, Anda akan menyiapkan Nginx sebagai proxy terbalik untuk aplikasi web Guacamole.

Setup Nginx Reverse proxy untuk Guacamole

Di bagian ini, Anda akan menginstal server web Nginx dan mengonfigurasinya sebagai proxy terbalik untuk aplikasi web Guacamole. Ini memungkinkan Anda mengatur nama domain untuk aplikasi web Guacamole Anda dan mengamankannya dengan sertifikat SSL.

1. Untuk memulai, jalankan 'apt . berikut ini ' perintah untuk menginstal paket Nginx.

sudo apt install nginx -y

2. Setelah semua paket Nginx terinstal, buat file virtual host baru 'guacamole' pada direktori '/etc/nginx/sites-available '. Semua konfigurasi yang terkait dengan proxy terbalik Guacamole akan disimpan dalam file ini.

sudo nano /etc/nginx/sites-available/guacamole

Masukkan konfigurasi berikut ini. Dan pastikan untuk mengubah nama domain dan jalur sertifikat SSL. Contoh ini menggunakan domain 'example.io' dengan kunci pribadi SSL 'privkey.pem ' dan kunci publik 'fullchain.pem ', dan sertifikat bot tersedia di direktori '/etc/letsencrypt/live/exmaple.io/'.

server {
    listen      80;
    server_name example.io;
    rewrite     ^   https://$server_name$request_uri? permanen;
}

server {
    listen      443 ssl http2;
    server_name example.io;

    root /var/www/html;
    index index.html;

    location / {
       try_files $uri $uri/ =404;
    }

    ssl_certificate /etc /letsencrypt/live/example.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.io/privkey.pem;

    access_log /var/log/nginx/guacamole -access.log;
    error_log /var/log/nginx/guacamole-error.log;

    location /guacamole/ {
       proxy_pass http://127.0.0.1:8080 /guacamole/;
        proxy_buffering nonaktif;
       proxy_http_version 1.1;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              upgradehead_set_proxy br />        access_log off;
    }
}

Simpan dan tutup file.

3. Sekarang, aktifkan file host virtual 'guacamole ' dengan membuat tautan simbolis baru ke direktori '/etc/nginx/sites-enabled/ '. Kemudian verifikasi semua konfigurasi Nginx untuk memeriksa apakah ada kesalahan sintaksis.

sudo ln -s /etc/nginx/sites-available/guacamole /etc/nginx/sites-enabled/
sudo nginx -t

Anda akan menerima keluaran 'Sintaks OK ', yang berarti konfigurasi tidak memiliki kesalahan.

4. Selanjutnya, restart layanan Nginx untuk menerapkan konfigurasi baru, lalu verifikasi statusnya dengan menjalankan perintah berikut.

sudo systemctl restart nginx
sudo systemtl status nginx

Anda akan menerima output yang mirip dengan tangkapan layar di bawah ini. Layanan Nginx 'aktif (berjalan) '.

5. Selain itu, jika Anda ingin menerapkan aplikasi web Guacamole di sub-URL yang berbeda, ubah opsi 'location /guacamole/ { ... } ' ke jalur baru 'lokasi /new-path/ { ... } ' dan tambahkan opsi 'proxy_cookie_path ' ke jalur baru Anda seperti di bawah ini.

location /new-path/ {
    proxy_pass http://127.0.0.1:8080/guacamole/;
    proxy_buffering nonaktif;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded -Untuk $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Koneksi $http_connection;
    proxy_cookie_path /guacamole/ /new-path/;
    access_log off<;
} /pra>

Di bagian ini, Anda telah menyelesaikan instalasi dan konfigurasi Nginx sebagai proxy terbalik untuk aplikasi web Guacamole. Pada titik ini, instalasi Apache Guacamole Anda selesai, dan dapat diakses dari nama domain Anda.

Verifikasi Instalasi Apache Guacamole

Di bagian ini, Anda akan memverifikasi instalasi Apache Guacamole.

Pertama, buka browser web Anda dan ketik nama domain untuk instalasi Guacamole Anda dengan jalur default '/guacamole' .

https://example.io/guacamole/

Sekarang, Anda akan melihat halaman login Guacamole di bawah ini. Masukkan nama pengguna dan sandi yang telah Anda konfigurasikan di file 'user-mapping.xml' , lalu klik tombol Masuk.

Setelah masuk, Anda akan melihat daftar koneksi yang ditentukan untuk pengguna Anda.

Klik pada nama koneksi untuk terhubung ke server target. Contoh ini akan terhubung ke server lokal dengan protokol SSH.

Sekarang, Anda akan melihat sesi terminal ssh baru di server Anda.

Kesimpulan

Selamat! Dalam tutorial ini, Anda telah belajar cara menginstal Apache Guacamole di Debian 11 Bullseye. Selain itu, Anda telah mempelajari cara menyiapkan otentikasi pengguna dan koneksi menggunakan file konfigurasi 'user-mapping.xml ' dan atur Nginx sebagai proxy terbalik untuk aplikasi web Guacamole, yang memungkinkan Anda menjalankan Guacamaloe menggunakan nama domain dan mengamankannya menggunakan sertifikat SSL.


Debian
  1. Cara Menginstal Apache Maven di Debian 10

  2. Cara Menginstal Apache Maven di Debian 11

  3. Cara Instal Apache Cassandra di Debian 11 / Debian 10

  1. Cara Instal Apache di Debian 9

  2. Cara Instal Apache Cassandra di Debian 9

  3. Cara Menginstal Apache ActiveMQ di Debian 10

  1. Cara Instal Apache Tomcat 10 di Debian 10

  2. Cara Menginstal Apache Solr di Debian 11

  3. Cara Menginstal HAProxy di Debian 11