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

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

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

Приложение OpenCart предназначено для работы на следующих операционных системах:

  • CentOS

  • Rocky Linux

  • AlmaLinux

  • Ubuntu

  • Debian

Для выполнения установки на сервере должны быть права root. Для развертывания требуется открыть следующие сетевые порты для входящего трафика:

  • Порт 80 (HTTP)

  • Порт 443 (HTTPS)

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

Версия OpenCart 3.0.x.x развертывается путем клонирования исходного кода из официального репозитория GitHub и копирования его в директорию веб-сервера. Процесс установки включает следующие шаги:

  1. Исходный код клонируется в директорию /root/opencart/.

  2. Файлы приложения копируются из /root/opencart/upload/ в корневую папку веб-сервера.

  3. Файлы конфигурации по умолчанию переименовываются для удаления суффикса -dist.

  4. Создается база данных MySQL/MariaDB с именем opencart.

  5. Создается пользователь базы данных с именем opencart, обладающий полными правами на базу данных opencart.

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

Файлы приложения организованы следующим образом:

  • Директория исходного кода: /root/opencart/ (Содержит отклонированный репозиторий)

  • Корневая папка веб-сервера: /var/www/html/opencart/ (Файлы, доступные в публичной сети)

  • Файлы конфигурации:

    • /var/www/html/opencart/config.php (Конфигурация магазина)

    • /var/www/html/opencart/admin/config.php (Конфигурация административной панели)

Базы данных

Слой базы данных использует MySQL или MariaDB, которые установлены и настроены локально на сервере.

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

  • Пользователь базы данных: opencart

  • Пароль: Устанавливается в соответствии с паролем SSH, определенным в окружении.

  • Расположение сокетов:

    • На системах Debian/Ubuntu: /run/mysqld/mysqld.sock

    • На системах RedHat/CentOS/AlmaLinux: /var/lib/mysql/mysql.sock

Прокси-серверы и конфигурация веб-сервера

Развертывание использует стандартные веб-серверы в зависимости от семейства операционной системы:

  • Apache2: Используется на системах Ubuntu и Debian.

  • HTTPD: Используется на системах CentOS, Rocky и AlmaLinux.

Сервис веб-сервера настроен на автоматический запуск при загрузке системы и перезапускается сразу после развертывания. В это развертывание не включены обратные прокси или пользовательская конфигурация SSL (например, Nginx или Certbot); стандартные порты 80 и 443 настроены для доступа.

Настройки прав доступа

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

  • Директория: /var/www/html/opencart

    • Владелец/Группа: www-data (Debian/Ubuntu) или apache (семейство RedHat)

    • Режим: 0755

  • Директория: /var/www

    • Владелец/Группа: Рекурсивно устанавливается в www-data или apache в зависимости от ОС.

    • Все поддиректории и файлы внутри корневой папки веб-сервера наследуют эти настройки владения.

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

Настройки безопасности корректируются в зависимости от операционной системы:

  • IPv6: На системах Debian и Ubuntu IPv6 отключается на уровне системы путем изменения файла /etc/sysctl.conf с добавлением следующих записей:

    • net.ipv6.conf.all.disable_ipv6 = 1

    • net.ipv6.conf.default.disable_ipv6 = 1

    • net.ipv6.conf.lo.disable_ipv6 = 1

  • Межсетевой экран: На системах на базе RedHat (CentOS, Rocky, AlmaLinux) сервис firewalld конфигурируется для разрешения трафика на портах 80/tcp и 443/tcp в зоне public постоянно.

Запуск, остановка и обновление

Управление сервисами осуществляется через менеджер сервисов systemd.

  • Для проверки статуса сервиса:

    • Debian/Ubuntu: systemctl status apache2

    • RedHat/CentOS/AlmaLinux: systemctl status httpd

  • Для перезапуска сервиса:

    • Debian/Ubuntu: systemctl restart apache2

    • RedHat/CentOS/AlmaLinux: systemctl restart httpd

  • Для остановки сервиса:

    • Debian/Ubuntu: systemctl stop apache2

    • RedHat/CentOS/AlmaLinux: systemctl stop httpd

  • Для запуска сервиса:

    • Debian/Ubuntu: systemctl start apache2

    • RedHat/CentOS/AlmaLinux: systemctl start httpd

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

Компонент Путь Описание
Основная конфигурация /var/www/html/opencart/config.php Конфигурация фронтенда магазина
Конфигурация админки /var/www/html/opencart/admin/config.php Конфигурация административной панели
Сокет базы данных (Debian/Ubuntu) /run/mysqld/mysqld.sock Точка подключения MySQL
Сокет базы данных (RedHat) /var/lib/mysql/mysql.sock Точка подключения MySQL
Системная сетевая конфигурация /etc/sysctl.conf Настройки отключения IPv6
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×