Installa e usa Guacamole Remote Desktop su CentOS 8
Su questa pagina
- Prerequisiti
- Per iniziare
- Installa Java
- Installa Tomcat
- Crea un file di servizio Systemd per Tomcat
- Installa Apache Guacamole
- Installa Guacamole Client
- Configura Guacamole
- Configura firewall
- Accedi all'interfaccia utente Web di Guacamole
- Conclusione
Apache Guacamole è un'applicazione desktop remota gratuita, open source, basata sul Web e senza client che supporta protocolli standard come VNC, RDP e SSH. Ti consente di accedere a Linux e PC 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.
- Il server è configurato con una password di root.
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, sarà necessario abilitare il repository EPEL, PowerTools e Devel nel proprio 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
Successivamente, 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 | cut -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 nella directory estratta e configurala con il seguente comando:
cd libtelnet-*/
./configure
Successivamente, 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 sul tuo server. Se non è installato puoi installarlo con il seguente comando:
dnf install java-11-openjdk-devel
Una volta installato, verifica la versione di Java utilizzando il seguente comando:
java -version
Dovresti ottenere il seguente output:
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)
Installa Tomcat
Apache Tomcat viene utilizzato per servire il contenuto del client guacamole. Quindi dovrai installare Tomcat sul 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
Successivamente, 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
Successivamente, sposta Tomcat nella directory /usr/share
mv apache-tomcat-9.0.43 /usr/share/tomcat
Successivamente, 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 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
Salva e chiudi il file, quindi ricarica il demone systemd con il seguente comando:
systemctl daemon-reload
Successivamente, avvia il servizio Tomcat e abilitalo per l'avvio al riavvio del sistema:
systemctl start tomcat
systemctl enable tomcat
Puoi anche controllare lo stato di Tomcat con il seguente comando:
systemctl status tomcat
Dovresti ottenere il seguente output:
? 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.
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
Successivamente, installalo sul tuo sistema con il seguente comando:
make
make install
ldconfig
Successivamente, ricarica il demone systemd con il seguente comando:
systemctl daemon-reload
Quindi, avvia il servizio Guacamole e abilitalo per l'avvio al riavvio del sistema:
systemctl start guacd
systemctl enable guacd
Puoi controllare lo stato del Guacamole con il seguente comando:
systemctl status guacd
Dovresti ottenere il seguente output:
? 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.
Installa Guacamole Client
Successivamente, crea una directory per Guacamole e scarica il file client Guacamole con il seguente comando:
mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war
Una volta scaricato, sposta il file scaricato nella directory /etc/guacamole:
mv guacamole-1.3.0.war /etc/guacamole/guacamole.war
Quindi, 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:
echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat
Quindi, crea un file di configurazione Guacamole con il seguente comando:
nano /etc/guacamole/guacamole.properties
Aggiungi le seguenti righe:
guacd-hostname: localhost guacd-port: 4822 user-mapping: /etc/guacamole/user-mapping.xml auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
Salva e chiudi il file, quindi crea un collegamento simbolico della directory /etc/guacamole:
ln -s /etc/guacamole /usr/share/tomcat/.guacamole
Configura guacamole
Successivamente, dovrai creare un file di mappatura utente Guacamole per definire il server remoto a cui vuoi connetterti da Guacamole.
Innanzitutto, genera una password segreta con il seguente comando:
echo -n your-password | openssl md5
Dovresti vedere il seguente output:
(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2
Successivamente, crea un file user-mapping.xml con il seguente comando:
nano /etc/guacamole/user-mapping.xml
Aggiungi i dettagli del tuo server remoto Windows e Linux come mostrato di seguito:
<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>
Salva e chiudi il file, quindi riavvia sia Guacamole che il servizio Tomcat per applicare le modifiche:
systemctl restart tomcat guacd
Una volta terminato, puoi procedere al passaggio successivo.
Configura firewall
Successivamente, dovrai consentire la porta 4822 e 8080 attraverso un firewall. Puoi consentirli con il seguente comando:
firewall-cmd --permanent --add-port=4822/tcp
firewall-cmd --permanent --add-port=8080/tcp
Successivamente, ricarica il firewalld per applicare le modifiche:
firewall-cmd --reload
Accedi 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 sul pulsante Accedi. Dovresti vedere la dashboard di Guacamole nella seguente schermata:
Nella schermata sopra, puoi vedere sia i server Windows che Linux. È possibile fare clic su per connettersi 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.