Как установить OpenCart на CentOS 7
OpenCart — популярная платформа для интернет-магазинов, которая позволяет запустить каталог товаров, заказы, модули, платежные интеграции и административную панель без чрезмерно тяжёлого приложения. Установка OpenCart на CentOS 7 подходит тем, кто хочет полный контроль над веб-сервером, PHP, базой данных, файловыми правами и дальнейшим обслуживанием. В отличие от полностью управляемых панелей, такой подход даёт прозрачную среду: вы понимаете, где находятся файлы, как работает база, как настраивается HTTPS и как потом делать резервные копии.
Практически развёртывание OpenCart состоит из трёх основных слоёв: веб-сервер, PHP и база данных. После этого загружаются файлы OpenCart, создаётся база, настраиваются права доступа и завершается установка через браузер. Чаще всего такую среду разворачивают на VPS, потому что VPS даёт полный контроль над PHP, MariaDB и веб-сервером. Если магазин предполагает более высокую нагрузку или большой каталог, логичным выбором может стать выделенный сервер. Поскольку интернет-магазин должен работать по HTTPS, важную роль играют и SSL сертификаты.
Перед началом стоит проверить совместимость выбранной версии OpenCart и PHP на CentOS 7. Это старая операционная система, и некоторые комбинации более новых версий OpenCart и PHP могут требовать повышенного внимания. Если этот шаг пропустить, позже можно столкнуться с ошибками установки, проблемами модулей или некорректной работой админ-панели, хотя корень проблемы будет именно в несовместимости версий.
1) Подготовка системы и базовые пакеты
Начните с обновления CentOS 7 и установки базовых утилит. Это создаёт более чистую стартовую точку и упрощает дальнейшую работу. Кроме самого веб-стека, удобно иметь wget, unzip, curl и текстовый редактор уже на первом этапе.
sudo yum update -y sudo yum install -y wget curl unzip nano
OpenCart может работать и с Apache, и с NGINX. Оба варианта корректны, но отличаются стилем конфигурации. В учебных примерах часто используют Apache, потому что он хорошо сочетается с .htaccess и привычен многим администраторам. В этом руководстве мы будем использовать Apache, чтобы упростить первую установку и быстрее получить рабочий результат.
2) Установка MariaDB и создание базы
OpenCart хранит товары, клиентов, заказы, настройки и расширения в базе данных, поэтому следующий шаг — установка MariaDB или MySQL. На CentOS 7 MariaDB обычно оказывается самым простым вариантом. После установки запустите сервис, включите его автозапуск и создайте отдельную базу данных и отдельного пользователя специально для OpenCart. Не стоит подключать приложение к базе под root.
sudo yum install -y mariadb-server mariadb sudo systemctl enable --now mariadb sudo mysql_secure_installation
После базовой настройки безопасности войдите в MariaDB и создайте базу и пользователя. Отдельная учётная запись для приложения — это и безопаснее, и удобнее для сопровождения, чем использование административной базы под все задачи сразу.
mysql -u root -p
CREATE DATABASE opencartdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'opencartuser'@'localhost' IDENTIFIED BY 'StrongPasswordHere'; GRANT ALL PRIVILEGES ON opencartdb.* TO 'opencartuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
Эти данные понадобятся позже во время установки через браузер, поэтому имеет смысл сохранить их сразу, а не пытаться вспомнить потом во время настройки.
3) Установка PHP и Apache
Для работы OpenCart нужны PHP и набор расширений. В типовой конфигурации CentOS 7 это php, php-mysqlnd, php-gd, php-mbstring, php-xml, php-cli, php-opcache, php-curl и php-zip. Поскольку в этом примере используется Apache, устанавливаем и httpd, а затем запускаем сервис.
sudo yum install -y httpd php php-mysqlnd php-gd php-mbstring php-xml php-cli php-opcache php-curl php-zip sudo systemctl enable --now httpd
После установки проверьте версию PHP и статус Apache. Такой простой тест помогает быстро убедиться, что базовый веб-стек уже живой, прежде чем вы начнёте добавлять приложение и искать ошибки на более высоком уровне.
php -v sudo systemctl status httpd
Если в системе включён SELinux в режиме enforcing, учитывайте, что он может влиять на файловый доступ или подключение к базе. Многие администраторы думают, что “OpenCart сломан”, хотя реальная причина находится в политике доступа. Даже если вы не будете глубоко настраивать SELinux на этом этапе, полезно помнить о нём как о возможном слое диагностики.
4) Загрузка OpenCart и настройка прав
Следующий шаг — скачать OpenCart и разместить его в веб-директории, например /var/www/html/opencart. После распаковки нужно правильно разложить файлы, переименовать шаблонные конфиги и назначить корректные права, чтобы Apache мог читать приложение и записывать туда, где это действительно требуется.
cd /tmp wget https://github.com/opencart/opencart/releases/download/VERSION/opencart-VERSION.zip unzip opencart-VERSION.zip sudo mkdir -p /var/www/html/opencart sudo cp -r upload/* /var/www/html/opencart/
В OpenCart есть шаблонные файлы config-dist.php, которые нужно переименовать в config.php как в корне, так и в директории admin. Если забыть этот шаг, установщик может не пройти нормально. После этого назначьте владельцем файлов пользователя Apache.
cd /var/www/html/opencart sudo mv config-dist.php config.php cd /var/www/html/opencart/admin sudo mv config-dist.php config.php sudo chown -R apache:apache /var/www/html/opencart sudo chmod -R 755 /var/www/html/opencart
Иногда отдельным каталогам, связанным с кэшем или storage, нужны права на запись. Но не стоит решать это слишком грубо, выставляя 777 на всё подряд. Намного безопаснее выдавать права только тем каталогам, которым они действительно нужны.
5) VirtualHost Apache и запуск установки
Если у вас есть отдельный домен или поддомен, создайте Apache VirtualHost. Это поможет отделить магазин от других сайтов и упростит подключение HTTPS позже. В конфигурации укажите DocumentRoot на /var/www/html/opencart и включите AllowOverride, чтобы rewrite-правила работали корректно.
sudo nano /etc/httpd/conf.d/opencart.conf
ServerName shop.example.com DocumentRoot /var/www/html/opencart AllowOverride All Require all granted ErrorLog /var/log/httpd/opencart_error.log CustomLog /var/log/httpd/opencart_access.log combined
После сохранения конфигурации перезапустите Apache. Если включён firewall, разрешите HTTP и HTTPS. Затем откройте домен или IP-адрес в браузере и пройдите установщик OpenCart, указав базу данных, пользователя, пароль и параметры административной учётной записи.
sudo systemctl restart httpd sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
После завершения установки OpenCart требует удалить каталог install. Это обязательный шаг с точки зрения безопасности. Если оставить его на месте, в системе останется ненужный риск и предупреждение в панели.
sudo rm -rf /var/www/html/opencart/install
HTTPS, безопасность и дальнейшее обслуживание
После того как OpenCart открылся, не стоит останавливаться на уровне “сайт работает”. Полноценный интернет-магазин должен использовать HTTPS, сильные пароли администратора и понятный процесс обновлений. SSL — это не просто формальность, а базовый уровень доверия и защиты для клиентов, сессий и заказов.
Производительность магазина зависит не только от PHP. Важны также база данных, кэш, изображения и качество установленных модулей. Многие магазины на OpenCart начинают тормозить не из-за самой платформы, а из-за большого количества некачественных расширений или тяжёлых изображений без оптимизации. Поэтому правильная установка — это ещё и основа для аккуратной дальнейшей поддержки.
Резервные копии обязательны. Интернет-магазин содержит не только каталог товаров, но и клиентов, историю заказов, настройки и медиафайлы. Для полноценного восстановления нужно сохранять и файлы, и базу данных. Только один из этих элементов сам по себе не даст полного возврата магазина в рабочее состояние.
mysqldump -u opencartuser -p opencartdb > /tmp/opencartdb.sql tar -czf /tmp/opencart-files.tar.gz /var/www/html/opencart
Если магазин будет использоваться долго, зафиксируйте версию OpenCart, PHP, настройки базы, домен и процедуру резервного копирования. Такая документация значительно упрощает обновления, миграции и диагностику. Хорошая среда OpenCart — это не только та, которая успешно установилась один раз, но и та, которую можно безопасно сопровождать, восстанавливать и развивать в дальнейшем.