Обзор развертывания Apache Guacamole на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры системы:
-
Операционная система: Ubuntu, Debian или дистрибутивы семейства RHEL (CentOS, Rocky Linux, AlmaLinux).
-
Права доступа: Права суперпользователя (
root) для установки системных пакетов и компиляции исходного кода. -
Порты:
-
8080— внутренний порт приложения (Tomcat). -
443— внешний порт для HTTPS-доступа. -
3389— стандартный RDP-порт для подключения к удаленным рабочим столам.
FDQN итоговой панели на домене hostkey.in¶
Доступ к приложению осуществляется через следующий шаблон домена:
| Параметр | Значение |
|---|---|
| Префикс | guacamole |
| Домен | hostkey.in |
| Полный шаблон | guacamole{Server_ID}.hostkey.in/guacamole/ |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/etc/guacamole— основные конфигурационные файлы приложения (включаяuser-mapping.xmlиguacd.conf). -
/var/lib/tomcat9/webapps/— рабочая директория веб-приложения Guacamole. -
/root/nginx— конфигурации для прокси-сервера и управления SSL-сертификатами. -
/home/user— домашняя директория пользователя с графической оболочкой (если установлена Xubuntu).
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов: подготовку системы, компиляцию серверной части и настройку веб-интерфейса.
-
Подготовка окружения:
-
Установка системных зависимостей (библиотеки для работы с видео, аудио, графикой, RDP, VNC, SSH и др.).
-
Проверка наличия актуальной версии Apache Guacamole в официальном репозитории.
-
Установка серверной части (guacd):
-
Загрузка исходного кода
guacamole-server. -
Компиляция и сборка из исходников с помощью команд
./configure,makeиmake install. -
Настройка конфигурационного файла
/etc/guacamole/guacd.conf. -
Установка веб-интерфейса:
-
Установка сервера приложений
tomcat9. -
Загрузка и размещение файла
guacamole.warв директорию веб-приложений Tomcat. -
Настройка доступа:
-
Генерация конфигурации пользователей (
user-mapping.xml) с использованием MD5-хеширования пароля. -
Настройка переменных окружения для Tomcat (указание
GUACAMOLE_HOME).
При использовании Ubuntu также может быть развернута графическая оболочка Xubuntu и сервер удаленного рабочего стола XRDP для полноценного использования удаленных рабочих мест.
Права доступа и безопасность¶
-
Пользователи: При установке Xubuntu создается системный пользователь
userс домашней директорией/home/user. -
Безопасность XRDP: Настраивается уровень криптографии (
crypt_level=low) и глубина цвета для обеспечения совместимости. -
Ограничения: Конфигурационные файлы в
/etc/guacamoleимеют ограниченные права доступа (владелецroot, группаroot).
Базы данных¶
В данной конфигурации приложение использует локальное хранилище пользователей, настроенное через файл user-mapping.xml. Данные о подключениях и пользователях не требуют внешней СУБД в базовой конфигурации.
Контейнеры Docker и их запуск¶
Для обеспечения работы HTTPS используется контейнерный стек:
| Имя образа | Назначение | Порты | Тома (volumes) | Политика перезапуска |
|---|---|---|---|---|
jonasal/nginx-certbot:latest | Прокси-сервер и управление SSL | host mode | /etc/letsencrypt, /etc/nginx/user_conf.d | unless-stopped |
Контейнер использует внешние секреты Docker для хранения сертификатов Let's Encrypt.
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Настройка окружения: Скрипт автоматической конфигурации Xubuntu (если установлена) создает файл
.xsessionв домашней директории пользователя для корректного запуска графической сессии. -
Обновление системных библиотек: Выполняется команда
ldconfigпосле установки скомпилированных библиотек для их регистрации в системе.
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо:
-
Обновить пакеты через системный менеджер пакетов (если используется версия из репозитория).
-
При ручной установке: скачать новую версию
guacamole-serverиguacamole.war, пересобрать серверную часть (make install) и перезапустить сервисtomcat9.
Расположение конфигурационных файлов и данных¶
| Файл / Путь | Описание |
|---|---|
/etc/guacamole/user-mapping.xml | Настройки пользователей и параметров подключений |
/etc/guacamole/guacd.conf | Конфигурация демона guacd |
/var/lib/tomcat9/webapps/guacamole.war | Исполняемый файл веб-приложения |
Доступные порты для подключения¶
-
443(HTTPS) — основной порт доступа к интерфейсу через прокси. -
8080(HTTP) — внутренний порт Tomcat. -
3389(RDP) — порт для удаленного рабочего стола.