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

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

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

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

  • Операционная система: Ubuntu.

  • Установленный Docker и среда выполнения контейнеров.

  • Доступ к портам 80 (для получения SSL) и 443 (HTTPS).

  • Наличие прав суперпользователя (root) для управления системными директориями и Docker.

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

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

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

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

В процессе работы приложения используются следующие директории:

  • /root/nginx — рабочая директория для конфигурации прокси-сервера.

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

  • /data/nginx/nginx-certbot.env — файл с переменными окружения для SSL.

Данные приложения и базы данных хранятся в именованных томах Docker:

  • mysql_data — данные базы данных MySQL.

  • joomla_data — файлы веб-приложения Joomla.

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

Развертывание выполняется путем автоматизированной настройки системы, которая включает следующие этапы:

  1. Установка среды Docker в операционную систему.

  2. Загрузка необходимых образов из реестра (MySQL и Joomla).

  3. Развертывание контейнеров базы данных и веб-сервера.

  4. Настройка прокси-сервера Nginx для обеспечения работы через HTTPS с использованием SSL-сертификатов.

Приложение использует версии образов mysql:8.0 и joomla:latest.

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

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

Имя контейнера Образ Порты Тома (volumes) Переменные окружения Политика перезапуска
joomla_db mysql:8.0 3306:3306 mysql_data:/var/lib/mysql MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD always
joomla joomla:latest 8080:80 joomla_data:/var/www/html JOOMLA_DB_HOST, JOOMLA_DB_NAME, JOOMLA_DB_USER, JOOMLA_DB_PASSWORD always

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

  • Nginx-Certbot: Образ jonasal/nginx-certbot:latest. Работает в режиме host. Используется для автоматического получения и обновления сертификатов через Let's Encrypt. Подключает внешние тома nginx_secrets и пользовательские конфигурации из /data/nginx/user_conf.d.

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

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

  1. Перейти в директорию с файлом compose (если используется Docker Compose).

  2. Выполнить команду для загрузки новых версий образов и перезапуска контейнеров:

    docker compose pull && docker compose up -d
    

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

  • Конфигурация базы данных: определяется через переменные окружения в контейнере joomla_db.

  • Файлы сайта: находятся внутри тома joomla_data (внутри контейнера /var/www/html).

  • Настройки проксирования: файл конфигурации Nginx создается автоматически по пути /data/nginx/user_conf.d/{prefix}{server_id}.hostkey.in.conf.

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

Порт Назначение
80 HTTP (для проверки SSL)
443 HTTPS (основной доступ к приложению)
3306 MySQL (доступ к базе данных внутри сети Docker/хоста)
8080 Внутренний порт приложения Joomla

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

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

  • Остановка всех сервисов приложения:

    docker stop joomla joomla_db
    

  • Запуск сервисов (если они были остановлены):

    docker start joomla joomla_db
    

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