Установите и используйте удаленный рабочий стол Guacamole на CentOS 8
На этой странице
- Предпосылки
- Начало работы
- Установить Java
- Установить Tomcat
- Создание служебного файла Systemd для Tomcat
- Установите Apache Guacamole
- Установить клиент гуакамоле
- Настроить гуакамоле
- Настройка брандмауэра
- Доступ к веб-интерфейсу гуакамоле
- Заключение
Apache Guacamole — это бесплатное веб-приложение для удаленного рабочего стола с открытым исходным кодом и без клиента, которое поддерживает стандартные протоколы, такие как VNC, RDP и SSH. Он позволяет получить доступ к ПК с Linux и Windows из веб-браузера через RDP, SSH или VNC. Он безклиентский, поэтому вам не нужно устанавливать какие-либо плагины или клиентское программное обеспечение. Он состоит из двух компонентов Guacamole Server и Guacamole Client. Сервер Guacamole предоставляет серверные и собственные компоненты, необходимые для подключения к удаленному ПК, в то время как клиент Guacamole представляет собой веб-приложение 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)
Установить Томкэт
Apache Tomcat используется для обслуживания клиентского контента гуакамоле. Поэтому вам нужно будет установить 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 Гуакамоле
Сначала загрузите последнюю версию гуакамоле с помощью следующей команды:
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
Вы можете проверить статус гуакамоле с помощью следующей команды:
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.
Установить клиент гуакамоле
Затем создайте каталог для гуакамоле и загрузите клиентский файл гуакамоле с помощью следующей команды:
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/
Затем установите домашний каталог гуакамоле с помощью следующей команды:
echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat
Затем создайте файл конфигурации гуакамоле с помощью следующей команды:
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
Настроить гуакамоле
Затем вам нужно будет создать файл сопоставления пользователей гуакамоле, чтобы определить удаленный сервер, к которому вы хотите подключиться из гуакамоле.
Сначала сгенерируйте секретный пароль с помощью следующей команды:
echo -n your-password | openssl md5
Вы должны увидеть следующий вывод:
(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2
Затем создайте файл user-mapping.xml с помощью следующей команды:
nano /etc/guacamole/user-mapping.xml
Добавьте информацию об удаленном сервере Windows и Linux, как показано ниже:
<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>
Сохраните и закройте файл, затем перезапустите службы Guacamole и Tomcat, чтобы применить изменения:
systemctl restart tomcat guacd
Как только вы закончите, вы можете перейти к следующему шагу.
Настроить брандмауэр
Затем вам нужно будет разрешить порты 4822 и 8080 через брандмауэр. Вы можете разрешить их с помощью следующей команды:
firewall-cmd --permanent --add-port=4822/tcp
firewall-cmd --permanent --add-port=8080/tcp
Затем перезагрузите firewalld, чтобы применить изменения:
firewall-cmd --reload
Доступ к веб-интерфейсу гуакамоле
Теперь откройте веб-браузер и войдите в веб-интерфейс гуакамоле, используя URL-адрес http://your-server-ip:8080/guacamole. Вы должны увидеть следующий экран:
Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель управления гуакамоле на следующем экране:
На приведенном выше экране вы можете видеть серверы Windows и Linux. Вы можете нажать для подключения и управления удаленными серверами.
Заключение
Поздравляем! вы успешно установили и настроили сервер гуакамоле в CentOS 8. Теперь вы можете добавить дополнительные удаленные серверы к своему серверу гуакамоле и управлять ими через веб-браузер.