Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

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

Публикация — перенос магазина с компьютера разработчика на сервер, где им будут пользоваться покупатели. Для OpenCart это копирование файлов и базы и правка двух файлов настроек. После этого магазин закрывают от типовых атак — список короткий, но каждый пункт важен.

Что переносят

ЧтоКак
ФайлыВся папка сайта, включая image/ и extension/
База данныхДамп: выгрузка на старом сервере, загрузка на новом
ХранилищеПапка storage, если она вынесена из system/

Дамп делают в phpMyAdmin или из консоли:

mysqldump -u root -p shop > shop.sql
mysql -u shop_user -p shop_production < shop.sql

Первая команда сохраняет базу в файл, вторая загружает её на новом сервере.

Файлы настроек

Пути и адреса записаны в config.php и admin/config.php абсолютными значениями. На новом сервере исправьте их в обоих файлах:

// config.php
define('HTTP_SERVER', 'https://shop.example.com/');
 
define('DIR_OPENCART', '/var/www/shop/');
define('DIR_STORAGE', '/var/www/storage/');
 
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'shop_user');
define('DB_PASSWORD', 'secret');
define('DB_DATABASE', 'shop_production');

В admin/config.php адресов два: HTTP_SERVER с папкой панели и HTTP_CATALOG с адресом витрины. Откройте https://shop.example.com/ — витрина работает; панель открывается по адресу своей папки.

Точный набор констант немного различается между выпусками — меняйте значения, а не копируйте файл из другой версии.

Проверки перед запуском

Что проверитьЗачем
Папка install удаленаИначе магазин сможет переустановить кто угодно
Папка storage лежит вне корня сайтаВ ней журналы, сессии и загруженные файлы
Папка admin переименованаАдрес /admin перебирают боты
Показ ошибок выключен, журнал ошибок включёнОшибки не видны покупателям
HTTPS включён, адреса в обоих файлах настроек начинаются с httpsЗащита входа и данных покупателей
Файлы config.php доступны только для чтенияВ них пароль базы
Пароль администратора длинный и уникальныйЕго подбирают в первую очередь
Резервные копии файлов и базы делаются по расписаниюЧтобы восстановиться после сбоя
Строка для cron/cron есть в системном crontabЗадачи по расписанию выполняются

Панель сама предлагает перенести storage и переименовать admin при первом входе — окно с этими двумя шагами появляется на главной странице панели. Показ ошибок переключают в System → Settings, вкладка Server.

После переноса

Удалите файлы в папке cache хранилища, откройте витрину и панель, оформите пробный заказ и проверьте, что письмо о нём пришло.

Частая ошибка

После переноса витрина открывается, но картинки и стили грузятся со старого адреса или панель показывает пустую страницу. Исправили только config.php, а про admin/config.php забыли, или один из путей DIR_ указывает на папку, которой на новом сервере нет. Проверьте каждую строку обоих файлов.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.