Apache Guacamole è un'applicazione desktop remoto gratuita, open source, basata sul Web e senza client che supporta protocolli standard come VNC, RDP e SSH. Ti consente di accedere a PC Linux e Windows da un browser Web tramite RDP, SSH o VNC. È senza client, quindi non è necessario installare alcun plug-in o software client. È composto da due componenti Guacamole Server e Guacamole Client. Il server Guacamole fornisce componenti lato server e nativi necessari per connettersi al PC remoto mentre il client Guacamole è un'applicazione Web HTML 5 utilizzata per connettersi al PC remoto.
In questo tutorial, ti mostreremo come installare il server Guacamole su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Una password di root è configurata sul server.
Per iniziare
Innanzitutto, dovrai installare alcuni pacchetti richiesti nel tuo server. Puoi installarli tutti con il seguente comando:
dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10
Dopo aver installato tutti i pacchetti richiesti, dovrai abilitare il repository EPEL, PowerTools e Devel nel tuo sistema. Puoi abilitarli con il seguente comando:
dnf install epel-release -y
dnf config-manager --set-enabled PowerTools
dnf config-manager --enable Devel
Quindi, installa altri strumenti richiesti con il seguente comando:
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
Quindi, disabilita il repository Devel con il seguente comando:
dnf config-manager --disable Devel
Successivamente, dovrai compilare la libreria telnet nel tuo sistema.
Innanzitutto, scaricalo con il seguente comando:
curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | taglia -d '"' -f 4 | wget -qi -
Una volta scaricato, estrai il file scaricato con il seguente comando:
tar -xf libtelnet-*.tar.gz
Quindi, cambia la directory in directory estratta e configurala con il seguente comando:
cd libtelnet-*/
./configure
Quindi, installalo sul tuo sistema con il seguente comando:
make
make install
Una volta installato, puoi procedere al passaggio successivo.
Installa Java
Guacamole è un software basato su Java, quindi Java deve essere installato nel tuo server. Se non è installato puoi installarlo con il seguente comando:
dnf install java-11-openjdk-devel
Una volta installato, verifica la versione Java utilizzando il seguente comando:
versione java
Dovresti ottenere il seguente output:
versione openjdk "11.0.9.1" 2020-11-04OpenJDK 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 , modalità mista, condivisione)
Installa Tomcat
Apache Tomcat viene utilizzato per servire il contenuto del client guacamole. Quindi dovrai installare Tomcat nel tuo server.
Innanzitutto, crea un utente e un gruppo separati per Tomcat con il seguente comando:
groupadd --system tomcat
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat
Quindi, scarica l'ultima versione di Tomcat con il seguente comando:
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz
Una volta completato il download, estrai il file scaricato con il seguente comando:
tar -xvf apache-tomcat-9.0.43.tar.gz
Quindi, sposta Tomcat nella directory /usr/share
mv apache-tomcat-9.0.43 /usr/share/tomcat
Quindi, imposta la proprietà corretta sulla directory Tomcat:
chown -R tomcat:tomcat /usr/share/tomcat/
Una volta terminato, puoi procedere al passaggio successivo.
Crea un file di servizio Systemd per Tomcat
Successivamente, dovrai creare un file di servizio systemd per Tomcat. Puoi crearlo con il seguente comando:
nano /etc/systemd/system/tomcat.service
Aggiungi le seguenti righe:
[Unità]Description=Tomcat ServerAfter=syslog.target network.target[Service]Type=forkingUser=tomcatGroup=tomcatEnvironment=JAVA_HOME=/usr/lib/jvm/jreEnvironment='JAVA_OPTS=-Djava.awt.headless=true 'Ambiente=CATALINA_HOME=/usr/share/tomcatEnvironment=CATALINA_BASE=/usr/share/tomcatEnvironment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pidEnvironment='CATALINA_OPTS=-Xms512M -Xmx1024M'ExecStart=/usr/share /tomcat/bin/catalina.sh startExecStop=/usr/share/tomcat/bin/catalina.sh stop[Install]WantedBy=multi-user.target
Salva e chiudi il file, quindi ricarica il demone systemd con il seguente comando:
reload del demone systemctl
Quindi, avvia il servizio Tomcat e abilitalo per l'avvio al riavvio del sistema:
systemctl avvia tomcat
systemctl abilita tomcat
Puoi anche controllare lo stato di Tomcat con il seguente comando:
stato systemctl tomcat
Dovresti ottenere il seguente output:
? tomcat.service - Server Tomcat caricato:caricato (/etc/systemd/system/tomcat.service; disabilitato; preimpostazione del fornitore:disabilitato) Attivo:attivo (in esecuzione) da mar 2021-02-16 09:34:45 EST; 6 secondi fa Processo:26546 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS) PID principale:26551 (java) Attività:35 (limite:12523) Memoria:89,7 M 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]:Avvio di Tomcat Server...Feb 16 09:34:45 centos8 systemd[1]:Avvio di Tomcat Server.
Installa Apache Guacamole
Innanzitutto, scarica l'ultima versione di Guacamole con il seguente comando:
wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz
Una volta completato il download, estrai il file scaricato con il seguente comando:
tar -xvzf guacamole-server-1.3.0.tar.gz
Quindi, cambia la directory nella directory estratta e configurala con il seguente comando:
cd guacamole-server-1.3.0
./configure --with-init-dir=/etc/init.d
Quindi, installalo sul tuo sistema con il seguente comando:
make
make install
ldconfig
Quindi, ricarica il demone systemd con il seguente comando:
reload del demone systemctl
Quindi, avvia il servizio Guacamole e abilitalo all'avvio al riavvio del sistema:
systemctl avvia guacd
systemctl abilita guacd
Puoi controllare lo stato del Guacamole con il seguente comando:
stato systemctl guacd
Dovresti ottenere il seguente output:
? guacd.service - LSB:demone proxy Guacamole Caricato:caricato (/etc/rc.d/init.d/guacd; generato) Attivo:attivo (in esecuzione) da mar 2021-02-16 09:37:15 EST; 4s fa Documenti:man:systemd-sysv-generator(8) Processo:35723 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS) Compiti:1 (limite:12523 ) Memoria:12.1M CGroup:/system.slice/guacd.service ??35726 /usr/local/sbin/guacd -p /var/run/guacd.pidFeb 16 09:37:15 centos8 systemd[1]:avvio di LSB :Guacamole proxy daemon...Feb 16 09:37:15 centos8 guacd[35723]:Avvio di guacd:guacd[35724]:INFO:Guacamole proxy daemon (guacd) versione 1.3.0 avviataFeb 16 09:37:15 centos8 guacd[ 35723].Installa il client Guacamole
Quindi, crea una directory per Guacamole e scarica il file del client Guacamole con il seguente comando:
mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.warUna volta scaricato, sposta il file scaricato nella directory /etc/guacamole:
mv guacamole-1.3.0.war /etc/guacamole/guacamole.warQuindi, crea un collegamento simbolico del file guacamole.war alla directory /usr/share/tomcat:
ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/Quindi, imposta la home directory di Guacamole con il seguente comando:
eco "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcatSuccessivamente, crea un file di configurazione Guacamole con il seguente comando:
nano /etc/guacamole/guacamole.propertiesAggiungi le seguenti righe:
guacd-hostname:localhostguacd-port:4822user-mapping:/etc/guacamole/user-mapping.xmlauth-provider:net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProviderSalva e chiudi il file, quindi crea il collegamento simbolico della directory /etc/guacamole:
ln -s /etc/guacamole /usr/share/tomcat/.guacamoleConfigura Guacamole
Successivamente, dovrai creare un file di mappatura utente Guacamole per definire il server remoto a cui desideri connetterti da Guacamole.
Innanzitutto, genera una password segreta con il seguente comando:
eco -n la tua-password | apre sl md5Dovresti vedere il seguente output:
(stdin)=0f6e4a1df0cf5ee97c2066953bed21b2Quindi, crea un file user-mapping.xml con il seguente comando:
nano /etc/guacamole/user-mapping.xmlAggiungi le tue finestre remote e i dettagli del server Linux come mostrato di seguito:
ssh 69.87.218.51 22rdp 15.185.162.149 3389 amministratoreSalva e chiudi il file, quindi riavvia il servizio Guacamole e Tomcat per applicare le modifiche:
systemctl riavvia Tomcat guacdUna volta terminato, puoi procedere al passaggio successivo.
Configura Firewall
Successivamente, dovrai consentire le porte 4822 e 8080 tramite un firewall. Puoi consentirli con il seguente comando:
firewall-cmd --permanent --add-port=4822/tcp
firewall-cmd --permanent --add-port=8080/tcpQuindi, ricarica il firewalld per applicare le modifiche:
firewall-cmd --reloadAccedi all'interfaccia utente Web di Guacamole
Ora apri il tuo browser web e accedi all'interfaccia web di Guacamole utilizzando l'URL http://your-server-ip:8080/guacamole . Dovresti vedere la seguente schermata:
Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard Guacamole nella schermata seguente:
Nella schermata sopra, puoi vedere sia i server Windows che Linux. Puoi fare clic su per connetterti e gestire i server remoti.
Conclusione
Congratulazioni! hai installato e configurato correttamente il server Guacamole su CentOS 8. Ora puoi aggiungere più server remoti al tuo server Guacamole e gestirli tramite un browser web.