Installazione e Configurazione di Apache Guacamole su Ubuntu Server 22.04

da | Gen 10, 2023

Apache Guacamole è un gateway desktop remoto senza client. Supporta protocolli standard come VNC, RDP e SSH.

Viene chiamato clientless perché non sono richiesti plug-in o software client aggiuntivi.

Grazie a HTML5, una volta installato Guacamole su un server, tutto ciò di cui hai bisogno per accedere ai tuoi desktop è un browser web.

INSTALLAZIONE DELLE DIPENDENZE DI APACHE GUACAMOLE

Apache Guacamole ha molte dipendenze e ci occuperemo della maggior parte di esse in questo step.
Installare tutte le dipendenze di cui il nostro server Guacamole avrà bisogno con i seguenti comandi:

INSTALLAZIONE DI FREERDP2

Installare FreeRDP2 con i seguenti comandi:

INSTALLAZIONE DI OPENSSL

Ubuntu 22.04 viene fornito con OpenSSL 3.x e Guacamole richiede openssl 1.x per essere compilato e installato correttamente. Gli avvisi relativi a questo vengono trattati come errori e quindi il processo di compilazione fallirà. Di conseguenza è possibile disabilitare gli avvisi in modo che non vengano trattati come errori e compilare Guacamole su Ubuntu 22.04 oppure installare e configurare OpenSSL 1.1

Procedere all’installazione di OpenSSL 1.1.l. con i seguenti comandi in sequenza:

Se è tutto OK dovremmo vedere una schermata come quella sovrastante

Continuare l’installazione con i seguenti comandi:

Per verificare che l’installazione di OpenSSL sia andata a buon fine digitare il seguente comando:

Dovremmo vedere una riga tipo questa: OpenSSL 1.1.1l 24 Aug 2021

INSTALLAZIONE DI JAVA

In questa sezione installeremo il contenitore servlet Java Apache Tomcat che eseguirà il file war Guacamole Java e quindi servirà il client Java Guacamole.

Poiché è in Java, bisogna prima di tutto installare Java con il seguente comando:

Dopo aver installato Java verificare la versione con il seguente comando:

Dovremmo vedere le seguenti righe:

openjdk 17.0.5 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu122.04)
OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu122.04, mixed mode, sharing)

CREAZIONE UTENTE DI SERVIZIO PER TOMCAT

Si consiglia di utilizzare un utente nel sistema diverso da root per eseguire le applicazioni.

Per Tomcat, creeremo un utente che verrà utilizzato per eseguire l’applicazione Tomcat con il seguente comando:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

INSTALLAZIONE DI APACHE TOMCAT

Prima di procedere al download verificare l’ultima versione stabile sul seguente sito

https://downloads.apache.org/tomcat/

Durante la stesura si questo tutorial l’ultima versione stabile è la 9.0.70 come mostrato nell’immagine sovrastante.

ATTENZIONE: ho effettuato anche dei test di installazione con le versioni 10.1.4 e 11.0 ma purtroppo non è garantito il corretto funzionamento dell’applicatico Guacamole.

Eseguire il comando sottostante per scaricare la versione 9.0.70:

Al termine del download, procedere con l’estrazione del file tar nella directory /opt/tomcat con i seguenti comandi:

Quindi rendere eseguibili tutti gli script della shell nella directory /opt/tomcat/tomcatapp/bin con il comando:

Aggiungere il servizio Systemd di Tomcat in modo da poter gestire facilmente avvio e arresto come altri servizi.

Creare un nuovo file denominato tomcat.service con il comando:

Quindi inserire la seguente configurazione all’interno del file:

Salvare e chiudere il file di configurazione

Fare un reload del demone Systemd con il comando:

Quindi avviare il servizio con il comando:

Verificare lo stato del servizio Tomcat con il comando:

Se è tutto ok dovremmo vedere una schernmata come quella sovrastante

INSTALLAZIONE DEL SERVER GUACAMOLE

Il Server Guacamole contiene tutti i componenti nativi lato server richiesti da Guacamole per connettersi ai desktop remoti.

Fornisce una libreria C comune, libguac, da cui dipendono tutti gli altri componenti nativi.

Collegarsi al seguente link quindi verificare l’ultima versione stabile di Guacamole

https://downloads.apache.org/guacamole/

Selezionare quindi la versione di Guacamole da installare

NOTA BENE: durante la stesura del seguente articolo l’ultima versione stabile è la 1.4.0

Scaricare l’ultima versione stabile di Guacamole con il seguente comando:

Estrarre il .tar con il comando:

Passare alla directory del codice sorgente del server Guacamole con il comando:

Quindi eseguire lo script di configurazione per verificare se manca qualche dipendenza richiesta e per adattare il server Guacamole al sistema in essere.

Al termine dell’esecuzione del comando dovremmo vedere un output come mostrato nell’immagine sovrastante con YES RDP, SSH, Telnet e VNC.

Eseguire quindi il seguente comando:

Quindi installare Guacamole con il comando:

Creare i collegamenti necessari e memorizzare nella cache le librerie condivise più recenti trovate nella directory del server guacamole con il comando:

Fare un reload del demone Systemd con il comando:

Abilitare il servizio guacd con il comando:

Quindi avviare il servizio guacd con il comando:

Verirficare lo stato del servizio con il comando:

Se è tutto OK dovremmo vedere una schermata come quella sovrastante.

INSTALLAZIONE DEL CLIENT GUACAMOLE

Ci sono due file critici coinvolti nella distribuzione di Guacamole: guacamole.war, che è il file contenente l’applicazione web, e guacamole.properties, il file di configurazione principale per Guacamole. Il modo consigliato per configurare Guacamole prevede l’inserimento di questi file in posizioni standard e quindi la creazione di collegamenti simbolici ad essi in modo che Tomcat possa trovarli.

Il client Guacamole è disponibile come binario. Per installarlo, basta estrarlo dalla pagina di download dei binari di Guacamole come mostrato di seguito, copiarlo nella directory /etc/guacamole/ e rinominarlo allo stesso tempo.

Per installare il binario del client Guacamole, creare un collegamento simbolico del client guacamole alla directory webapps di Tomcat con il seguente comando:

CONFIGURAZIONE DEL SERVER APACHE GUACAMOLE

Dopo l’installazione del demone del server Guacamole, è necessario definire come il client Guacamole si connetterà al server Guacamole (guacd) nel file di configurazione /etc/guacamole/guacamole.properties.

All’interno di questa configurazione bisogna semplicemente definire il nome host del server Guacamole, la porta, il file di configurazione della mappatura degli utenti, il provider di autenticazione.

GUACAMOLE_HOME è il nome dato alla directory di configurazione di Guacamole, che si trova in /etc/guacamole per impostazione predefinita. Tutti i file di configurazione, le estensioni, ecc. risiedono in questa directory.

Creare la variabile d’ambiente GUACAMOLE_HOME con i seguenti comandi:

CONFIGURAZIONE CONNESSIONI SERVER GUACAMOLE

Creare il file di configurazione /etc/guacamole/guacamole.properties con il comando:

Quindi popolarlo come di seguito:

Chiudere e salvare il file di configurazione.

Collegare la directory delle configurazioni di Guacamole alla directory del servlet Tomcat con i seguenti comandi:

CONFIGURAZIONE DEL METODO DI AUTENTICAZIONE IN GUACAMOLE

Il metodo di autenticazione predefinito di Guacamole legge tutti gli utenti e le connessioni da un singolo file chiamato user-mapping.xml.

In questo file è necessario definire gli utenti autorizzati ad accedere all’interfaccia web di Guacamole, i server a cui connettersi e il metodo di connessione.

Generare l’hash MD5 delle password per un utente che verrà utilizzato per accedere all’interfaccia utente web di Guacamole con il seguente comando:

ATTENZIONE: al posto di Password-Da-Configurare inserire la password che si intende dare all’utente

Quindi segnarsi la password appena genarata nel seguente formato

(stdin)= 5a78e5b5a5b18c7773be02f44dda10c0

Procedere alla creazione del file di configurazione con il seguente comando:

Quindi popolare il file di configurazione come di seguito inserendo tutti i parametri relativi ai server, gli utenti e le password:

Salvare e chiudere il file di configurazione

Riavviare il servizio Tomcat Guacd per rendere effettive le modifiche con il comando:

ACCESSO A GUACAMOLE DA INTERFACCIA WEB

Per accedere all’interfaccia web di Guacamole aprire da un qualsiasi browser il link

http://IP-O-NOME-SERVER:8080/guacamole

Inserire Username e Password create in precedenza (MasterAdmin e Password) quindi cliccare Entra

Se è tutto OK dovremmo vedere le due connessioni (RDP e SSH) create precedentemente nel file di configurazione come mostrato nell’immagine sovrastante.

Cliccare sul collegamento Windows Server 2022 per stabilire la connessione RDP e verificare il corretto funzionamento.

A questto punto è possibile editare il file di configurazione user-mapping.xml inserendo tutti i servers che intendiamo gestire.

Scritto da Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Infrastrutture IT
  • ACT For Cange  Mental Coach
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore Collaboratore

Related Post

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione