Обзор развертывания OpenCart на сервере¶
Предварительные требования¶
Для успешного развертывания приложения OpenCart на сервере необходимо наличие одной из следующих операционных систем:
-
Семейство Debian (Ubuntu, Debian)
-
Семейство Red Hat (RHEL, CentOS, Fedora)
Сервер должен иметь права доступа уровня root или sudo для выполнения операций установки и конфигурации.
Приложение требует доступа к следующим сетевым портам:
-
Порт
80/tcpдля HTTP-трафика -
Порт
443/tcpдля HTTPS-трафика (на системах Red Hat)
Структура файлов и каталогов¶
Исходный код приложения клонируется из репозитория в каталог /root/opencart/.
Рабочая директория веб-сервера расположена по пути /var/www/html/opencart/.
Основные файлы конфигурации приложения находятся в следующих местах:
-
/var/www/html/opencart/config.php -
/var/www/html/opencart/admin/config.php
Процесс установки приложения¶
Установка выполняется путем клонирования репозитория OpenCart версии ветки 3.0.x.x с использованием команды git clone.
После клонирования содержимое из директории /root/opencart/upload/ копируется в веб-корень /var/www/html/opencart/.
В процессе установки автоматически переименовываются файлы конфигурации:
-
config-dist.phpпереименовывается вconfig.php -
admin/config-dist.phpпереименовывается вadmin/config.php
Для систем Debian/Ubuntu устанавливаются следующие пакеты:
-
apache2 -
mysql-server -
phpи модули:php-mysql,php-gd,php-curl,php-zip,php-xml -
Утилиты:
git,wget,zip,vim,htop,net-tools,dnsutils
Для систем Red Hat устанавливаются следующие пакеты:
-
httpd -
mysql-server -
phpи модули:php-mysql,php-gd,php-curl,php-zip,php-xml(версия PHP 8.0 из репозитория Remi) -
Утилиты:
git,wget,zip,vim,htop,net-tools,bind-utils
Права доступа и безопасность¶
На системах Debian/Ubuntu владелец и группа для директории /var/www и всех вложенных файлов устанавливаются как www-data.
На системах Red Hat владелец и группа для директории /var/www и всех вложенных файлов устанавливаются как apache.
Директория /var/www/html/opencart создается с правами доступа 0755.
На системах Red Hat в брандмауэре firewalld открываются порты 80/tcp и 443/tcp в зоне public.
На системах Debian/Ubuntu в конфигурационном файле /etc/sysctl.conf отключается поддержка IPv6 следующими параметрами:
-
net.ipv6.conf.all.disable_ipv6 = 1 -
net.ipv6.conf.default.disable_ipv6 = 1 -
net.ipv6.conf.lo.disable_ipv6 = 1
Базы данных¶
Для хранения данных используется сервер баз данных MySQL.
Создается база данных с именем opencart.
Создается пользователь базы данных с именем opencart. Пароль пользователя устанавливается равным паролю SSH-доступа к серверу.
Пользователю opencart предоставляются полные права (ALL) на все таблицы базы данных opencart.
Путь к сокету MySQL зависит от операционной системы:
-
Для Debian/Ubuntu:
/run/mysqld/mysqld.sock -
Для Red Hat:
/var/lib/mysql/mysql.sock
Запуск, остановка и обновление¶
Управление веб-сервером и базой данных осуществляется через системный демон systemd.
На системах Debian/Ubuntu:
-
Веб-сервер
apache2включается в автозагрузку и перезапускается командойsystemctl restart apache2. -
Сервис базы данных
mysql(илиmysqld) запускается и включается в автозагрузку.
На системах Red Hat:
-
Веб-сервер
httpdвключается в автозагрузку и перезапускается командойsystemctl restart httpd. -
Сервис базы данных
mysqldзапускается и включается в автозагрузку командойsystemctl start mysqldиsystemctl enable mysqld.
После открытия портов в брандмауэре на системах Red Hat выполняется перезагрузка правил командой firewall-cmd --reload.