Перейти к содержанию

Обзор развертывания 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).

Процесс установки приложения

Процесс развертывания включает в себя несколько этапов: подготовку системы, компиляцию серверной части и настройку веб-интерфейса.

  1. Подготовка окружения:

  2. Установка системных зависимостей (библиотеки для работы с видео, аудио, графикой, RDP, VNC, SSH и др.).

  3. Проверка наличия актуальной версии Apache Guacamole в официальном репозитории.

  4. Установка серверной части (guacd):

  5. Загрузка исходного кода guacamole-server.

  6. Компиляция и сборка из исходников с помощью команд ./configure, make и make install.

  7. Настройка конфигурационного файла /etc/guacamole/guacd.conf.

  8. Установка веб-интерфейса:

  9. Установка сервера приложений tomcat9.

  10. Загрузка и размещение файла guacamole.war в директорию веб-приложений Tomcat.

  11. Настройка доступа:

  12. Генерация конфигурации пользователей (user-mapping.xml) с использованием MD5-хеширования пароля.

  13. Настройка переменных окружения для 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 после установки скомпилированных библиотек для их регистрации в системе.

Инструкция по обновлению приложения

Для обновления основного приложения необходимо:

  1. Обновить пакеты через системный менеджер пакетов (если используется версия из репозитория).

  2. При ручной установке: скачать новую версию 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) — порт для удаленного рабочего стола.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×