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

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

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

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

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

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

  • Доменное имя: Требуется наличие домена в зоне hostkey.in.

  • Порты:

  • 80 (HTTP) — для перенаправления на HTTPS.

  • 443 (HTTPS) — основной порт приложения.

  • 9200 (OpenSearch) — для работы поискового движка.

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

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

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

Основные пути в системе:

  • /var/www/magento — рабочая директория приложения Magento.

  • /etc/apache2/sites-available/ — конфигурационные файлы веб-сервера Apache.

  • /etc/opensearch/ — конфигурация поискового движка OpenSearch.

  • /etc/redis/ — конфигурация Redis.

  • /var/log/apache2/ — журналы ошибок и доступа веб-сервера.

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

Развертывание Magento выполняется в несколько этапов:

  1. Подготовка системы: Обновление списков пакетов, установка базовых зависимостей (curl, unzip, software-properties-common) и включение репозитория Universe.

  2. Установка среды выполнения PHP: Устанавливается PHP версии 8.3 со всеми необходимыми расширениями (bcmath, xml, curl, gd, intl, dom, mysql, soap, zip, mbstring).

  3. Настройка Composer: Установка менеджера зависимостей Composer и настройка глобальных ключей доступа к репозиторию Magento для загрузки файлов проекта.

  4. Развертывание проекта:

  5. Удаление существующей директории /var/www/magento (если она была).

  6. Создание чистого проекта через команду composer create-project.

  7. Установка и настройка Magento: Выполнение команды bin/magento setup:install с параметрами базы данных, URL и учетных данных администратора.

  8. Финальная сборка:

  9. Компиляция кода (setup:di:compile).

  10. Развертывание статического контента (setup:static-content:deploy).

  11. Настройка планировщика задач (Cron).

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

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

  • Владелец: Все файлы и директории в /var/www/magento принадлежат пользователю www-data.

  • Права на файлы: Для файлов в ключевых директориях (var, generated, vendor, pub/static, pub/media, app/etc) установлены права на чтение и запись для группы.

  • Безопасность Apache: Настроен автоматический редирект с HTTP на HTTPS через модуль mod_rewrite.

  • SSL: Используется Certbot для автоматического получения и настройки SSL-сертификатов Let's Encrypt.

Базы данных

Приложение использует локальную систему управления базами данных:

  • СУБД: MariaDB версии 10.6.

  • Имя базы данных: magento.

  • Пользователь БД: magento.

  • Хост: localhost.

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

В данной конфигурации компоненты приложения развертываются непосредственно в операционной системе как системные сервисы, а не в изолированных контейнерах Docker.

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

Для расширения функциональности системы используются следующие инструменты:

  • Установочный скрипт RabbitMQ: Скрипт /root/install_rabbitmq.sh используется для добавления репозиториев и установки брокера сообщений RabbitMQ (если включена соответствующая опция).

  • Настройка OpenSearch: Выполняется ручная правка конфигурационного файла /etc/opensearch/opensearch.yml для настройки имени кластера, имени узла, сетевого хоста (127.0.0.1) и отключения плагина безопасности для упрощения локального взаимодействия.

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

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

  • Обновить зависимости через Composer в директории /var/www/magento.

  • Выполнить пересборку статического контента и компиляцию кода:

    php bin/magento setup:static-content:deploy -f
    php bin/magento setup:di:compile
    

  • Очистить кэш приложения:

    php bin/magento cache:flush
    

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

Тип файла Путь
Конфигурация Apache /etc/apache2/sites-available/{prefix}{server_id}.{zone}.conf
Данные приложения /var/www/magento/pub/media
Логи ошибок ${APACHE_LOG_DIR}/{prefix}{server_id}.{zone}-error.log

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

  • 443: HTTPS (основной интерфейс приложения).

  • 9200: OpenSearch API.

  • 6379: Redis.

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

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

  • Перезагрузка веб-сервера: systemctl reload apache2

  • Перезагрузка базы данных: systemctl restart mariadb

  • Перезагрузка поискового движка: systemctl restart opensearch

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