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

Обзор развертывания Apache Guacamole на сервере

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

Для корректной работы приложения требуются следующие параметры системы:

  • Операционная система: Ubuntu, Debian или RHEL (CentOS, Rocky Linux, AlmaLinux).

  • Права доступа: права суперпользователя (root) для установки системных пакетов и компиляции исходного кода.

  • Порты:

  • 8080 — внутренний порт приложения.

  • 443 — внешний порт (через прокси).

  • 22 — SSH (для управления сервером).

FDQN итоговой панели на домене hostkey.in

Параметр Значение
Префикс guacamole
Домен hostkey.in
Полный шаблон guacamole{Server_ID}.hostkey.in/guacamole/

Структура файлов и каталогов

Основные директории, используемые в системе:

  • /etc/guacamole — конфигурационные файлы приложения (включая расширения и библиотеки).

  • /var/lib/tomcat9/webapps/ — рабочая директория веб-приложения.

  • /root/nginx — конфигурация прокси-сервера Nginx.

  • /data/nginx/user_conf.d — пользовательские настройки Nginx.

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

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

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

  2. Компиляция Guacamole Server:

  3. Загрузка исходного кода версии 1.6.0 (или актуальной доступной).

  4. Распаковка архива в директорию /root/.

  5. Конфигурирование с помощью ./configure с указанием пути к системным инициализаторам (--with-init-dir=/etc/init.d).

  6. Компиляция и установка через make и make install.

  7. Установка веб-сервера: Установка и запуск tomcat9.

  8. Развертывание веб-интерфейса: Загрузка файла guacamole.war в директорию веб-приложения Tomcat.

  9. Настройка окружения:

  10. Создание конфигурационных файлов для Guacamole.

  11. Настройка переменной GUACAMOLE_HOME в параметрах запуска Tomcat.

  12. Настройка графической оболочки (для Ubuntu): Установка рабочего стола xubuntu-desktop и сервера удаленного доступа xrdp.

Права доступа и безопасность

  • Для работы сервиса создается системная группа user.

  • Пользователь в системе имеет домашнюю директорию /home/user.

  • Настройка xrdp включает изменение уровней шифрования для обеспечения совместимости.

  • Конфигурационные файлы Guacamole имеют ограниченный доступ (права 0750 или 0644).

Базы данных

В данной конфигурации база данных не используется; аутентификация пользователей осуществляется через файл сопоставления имен (user-mapping.xml).

Контейнеры Docker и их запуск

Для обеспечения работы SSL-сертификатов и проксирования используется контейнер:

Имя образа Порты Тома (volumes) Переменные окружения Политика перезапуска
jonasal/nginx-certbot:latest host mode nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d CERTBOT_EMAIL=hkadm@hostkey.com unless-stopped

Кастомные скрипты и дополнительные настройки

В процессе установки выполняются следующие действия:

  • Настройка X11 сессии: Создается файл .xsession в домашней директории пользователя для корректного запуска графической оболочки через RDP.

  • Скрипт инициализации рабочего стола: Устанавливается вспомогательный скрипт /usr/local/bin/start-xubuntu для управления сессиями XFCE4.

  • Настройка системных лимитов: Выполняется ldconfig для обновления кэша динамических библиотек после установки скомпилированного сервера.

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

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

  1. Скачать новую версию исходного кода Guacamole Server.

  2. Пересобрать и установить серверную часть (make install).

  3. Заменить файл guacamole.war на новую версию в директории /var/lib/tomcat9/webapps/.

  4. Перезапустить службу tomcat9.

Расположение конфигурационных файлов и данных

  • Конфигурация пользователей: /etc/guacamole/user-mapping.xml

  • Основной конфиг сервера: /etc/guacamole/guacd.conf

  • Настройки Nginx (Docker): /root/nginx/compose.yml

Доступные порты для подключения

  • 443 — доступ к веб-интерфейсу Guacamole через HTTPS.

  • 3389 — протокол RDP (внутренний трафик).

Запуск, остановка приложения

Управление основными компонентами осуществляется через системный менеджер:

  • Запуск/перезапуск сервера Guacamole: systemctl restart guacd

  • Запуск/перезапуск веб-сервера: systemctl restart tomcat9

  • Управление прокси-сервером (Docker): Переход в /root/nginx и выполнение docker compose up -d.

Прокси серверы

Для обеспечения защищенного соединения используется Nginx с интеграцией Certbot. Сертификаты SSL управляются через Docker-контейнер, который автоматически получает и обновляет сертификаты Let's Encrypt для домена приложения.

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