Guacamole · 6 min read · Nov 11, 2025

Установка и использование Guacamole Remote Desktop на CentOS 8

Apache Guacamole — это бесплатное, с открытым исходным кодом, веб-приложение для удаленного рабочего стола без клиента, которое поддерживает стандартные протоколы, такие как VNC, RDP и SSH. Оно позволяет вам получать доступ к ПК с Linux и Windows через веб-браузер с помощью RDP, SSH или VNC. Оно не требует установки каких-либо плагинов или клиентского программного обеспечения. Состоит из двух компонентов: Guacamole Server и Guacamole Client. Guacamole server предоставляет серверные и нативные компоненты, необходимые для подключения к удаленному ПК, в то время как Guacamole client — это веб-приложение на HTML 5, используемое для подключения к удаленному ПК.

В этом руководстве мы покажем вам, как установить сервер Guacamole на CentOS 8.

Предварительные требования

  • Сервер с установленным CentOS 8.
  • Настроенный root-пароль на сервере.

Начало работы

Сначала вам нужно будет установить некоторые необходимые пакеты на вашем сервере. Вы можете установить их все с помощью следующей команды:

dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10

После установки всех необходимых пакетов вам нужно будет включить репозитории EPEL, PowerTools и Devel в вашей системе. Вы можете включить их с помощью следующей команды:

dnf install epel-release -y  
dnf config-manager --set-enabled PowerTools  
dnf config-manager --enable Devel

Далее установите другие необходимые инструменты с помощью следующей команды:

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

Затем отключите репозиторий Devel с помощью следующей команды:

dnf config-manager --disable Devel

Далее вам нужно будет скомпилировать библиотеку telnet в вашей системе.

Сначала загрузите ее с помощью следующей команды:

curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | cut -d '"' -f 4 | wget -qi -

После загрузки извлеките загруженный файл с помощью следующей команды:

tar -xf libtelnet-*.tar.gz

Далее перейдите в извлеченную директорию и настройте ее с помощью следующей команды:

cd libtelnet-*/  
./configure

Затем установите ее в вашу систему с помощью следующей команды:

make   
make install

После установки вы можете перейти к следующему шагу.

Установка Java

Guacamole является программным обеспечением на основе Java, поэтому Java должна быть установлена на вашем сервере. Если она не установлена, вы можете установить ее с помощью следующей команды:

dnf install java-11-openjdk-devel

После установки проверьте версию Java с помощью следующей команды:

java -version

Вы должны получить следующий вывод:

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)

Установка Tomcat

Apache Tomcat используется для обслуживания контента клиента guacamole. Поэтому вам нужно будет установить Tomcat на вашем сервере.

Сначала создайте отдельного пользователя и группу для Tomcat с помощью следующей команды:

groupadd --system tomcat  
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat

Далее загрузите последнюю версию Tomcat с помощью следующей команды:

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

tar -xvf apache-tomcat-9.0.43.tar.gz

Далее переместите Tomcat в директорию /usr/share

mv apache-tomcat-9.0.43 /usr/share/tomcat

Затем установите правильные права собственности на директорию Tomcat:

chown -R tomcat:tomcat /usr/share/tomcat/

После завершения вы можете перейти к следующему шагу.

Создание файла службы Systemd для Tomcat

Далее вам нужно будет создать файл службы systemd для Tomcat. Вы можете создать его с помощью следующей команды:

nano /etc/systemd/system/tomcat.service

Добавьте следующие строки:

[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

Сохраните и закройте файл, затем перезагрузите демон systemd с помощью следующей команды:

systemctl daemon-reload

Далее запустите службу Tomcat и включите ее для автоматического запуска при перезагрузке системы:

systemctl start tomcat  
systemctl enable tomcat

Вы также можете проверить статус Tomcat с помощью следующей команды:

systemctl status tomcat

Вы должны получить следующий вывод:

? 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.

Установка Apache Guacamole

Сначала загрузите последнюю версию Guacamole с помощью следующей команды:

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

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

tar -xvzf guacamole-server-1.3.0.tar.gz

Далее перейдите в извлеченную директорию и настройте ее с помощью следующей команды:

cd guacamole-server-1.3.0  
./configure --with-init-dir=/etc/init.d

Затем установите ее в вашу систему с помощью следующей команды:

make  
make install  
ldconfig

Далее перезагрузите демон systemd с помощью следующей команды:

systemctl daemon-reload

Далее запустите службу Guacamole и включите ее для автоматического запуска при перезагрузке системы:

systemctl start guacd  
systemctl enable guacd

Вы можете проверить статус Guacamole с помощью следующей команды:

systemctl status guacd

Вы должны получить следующий вывод:

? 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.

Установка клиента Guacamole

Далее создайте директорию для Guacamole и загрузите файл клиента Guacamole с помощью следующей команды:

mkdir /etc/guacamole  
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war

После загрузки переместите загруженный файл в директорию /etc/guacamole:

mv guacamole-1.3.0.war /etc/guacamole/guacamole.war

Далее создайте символическую ссылку на файл guacamole.war в директории /usr/share/tomcat:

ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/

Далее установите домашнюю директорию Guacamole с помощью следующей команды:

echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat

Далее создайте файл конфигурации Guacamole с помощью следующей команды:

nano /etc/guacamole/guacamole.properties

Добавьте следующие строки:

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml
auth-provider:    net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

Сохраните и закройте файл, затем создайте символическую ссылку на директорию /etc/guacamole:

ln -s /etc/guacamole /usr/share/tomcat/.guacamole

Настройка Guacamole

Далее вам нужно будет создать файл сопоставления пользователей Guacamole, чтобы определить удаленный сервер, к которому вы хотите подключиться из Guacamole.

Сначала сгенерируйте секретный пароль с помощью следующей команды:

echo -n your-password | openssl md5

Вы должны увидеть следующий вывод:

(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2

Далее создайте файл user-mapping.xml с помощью следующей команды:

nano /etc/guacamole/user-mapping.xml

Добавьте данные о ваших удаленных серверах Windows и Linux, как показано ниже:






        
            ssh
            69.87.218.51
            22

        

        
            rdp
            15.185.162.149
            3389
            administrator

        

    


Сохраните и закройте файл, затем перезапустите службы Guacamole и Tomcat, чтобы применить изменения:

systemctl restart tomcat guacd

После завершения вы можете перейти к следующему шагу.

Настройка брандмауэра

Далее вам нужно будет разрешить порты 4822 и 8080 через брандмауэр. Вы можете разрешить их с помощью следующей команды:

firebase-cmd --permanent --add-port=4822/tcp  
firebase-cmd --permanent --add-port=8080/tcp

Далее перезагрузите firewalld, чтобы применить изменения:

firebase-cmd --reload

Доступ к веб-интерфейсу Guacamole

Теперь откройте ваш веб-браузер и получите доступ к веб-интерфейсу Guacamole, используя URL http://your-server-ip:8080/guacamole. Вы должны увидеть следующий экран:

Вход в Guacamole

Введите ваше имя пользователя администратора, пароль и нажмите кнопку Войти. Вы должны увидеть панель управления Guacamole на следующем экране:

Удаленный рабочий стол Guacamole

На приведенном выше экране вы можете увидеть как Windows, так и Linux серверы. Вы можете нажать на них, чтобы подключиться и управлять удаленными серверами.

Заключение

Поздравляем! вы успешно установили и настроили сервер Guacamole на CentOS 8. Теперь вы можете добавить больше удаленных серверов в ваш сервер Guacamole и управлять ими через веб-браузер.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.