VPS для OpenCart: разворачиваем интернет-магазин
OpenCart — популярный движок для интернет-магазинов, и на собственном VPS он работает быстрее и безопаснее, чем на общем хостинге. Соберём стек, поставим магазин, настроим SSL и права доступа. Всё командами, которые можно копировать.
Содержание
Готовим окружение
['OpenCart работает на nginx + PHP-FPM + MariaDB. Ставим PHP-расширения, которые движок проверяет в системном отчёте.', 'apt update && apt upgrade -y\napt install nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-bcmath -y', 'systemctl enable --now nginx mariadb php8.2-fpm', 'Для магазина важна скорость каталога: AMD EPYC + NVMe на MAATRIX держат отклик карточек товара низким даже при тысячах SKU и активной выборке из базы.']
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для интернет-магазинаБаза данных магазина
['mysql_secure_installation', 'mysql -u root -p', "CREATE DATABASE opencart_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;\nCREATE USER 'oc_user'@'localhost' IDENTIFIED BY 'СложныйПароль123';\nGRANT ALL PRIVILEGES ON opencart_db.* TO 'oc_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;"]
Скачиваем OpenCart
['Забираем релиз с GitHub и распаковываем. В архиве движок лежит в подкаталогеupload — именно он и есть корень сайта:', 'mkdir -p /var/www/opencart && cd /var/www/opencart\ncurl -L -o opencart.zip https://github.com/opencart/opencart/releases/download/4.0.2.0/opencart-4.0.2.0.zip\napt install unzip -y && unzip opencart.zip\nmv upload/* upload/.htaccess.txt ./ 2>/dev/null; mv upload/* ./', 'Готовим конфигурационные файлы, которые OpenCart ждёт при установке:', 'cp config-dist.php config.php\ncp admin/config-dist.php admin/config.php\nchown -R www-data:www-data /var/www/opencart\nchmod -R 755 /var/www/opencart']
Конфиг nginx для OpenCart
['server {\n listen 80;\n server_name ваш-домен.ru;\n root /var/www/opencart;\n index index.php;\n\n location / {\n try_files $uri $uri/ /index.php?$args;\n }\n\n location ~ \\.php$ {\n include snippets/fastcgi-php.conf;\n fastcgi_pass unix:/run/php/php8.2-fpm.sock;\n }\n\n location ~* \\.(engine|inc|log|sql)$ {\n deny all;\n }\n}', 'ln -s /etc/nginx/sites-available/opencart /etc/nginx/sites-enabled/\nnginx -t && systemctl reload nginx']
SSL и завершение установки
['Выпускаем сертификат — магазину HTTPS обязателен для приёма оплат:', 'apt install certbot python3-certbot-nginx -y\ncertbot --nginx -d ваш-домен.ru', 'Открываем сайт, проходим веб-установщик (данные базы: opencart_db, oc_user). После установки удаляем каталог install — иначе движок откажется работать:', 'rm -rf /var/www/opencart/install', '- Частая ошибка: нет прав на storage/ и system/storage/ — проверьте, что владелец www-data.
- Ежедневные бэкапы MAATRIX критичны для магазина: заказы и клиентскую базу нельзя терять.
Кэш и оптимизация OpenCart
['OpenCart умеет кэшировать шаблоны и SEO-ссылки. В админке зайдите в System → Maintenance и включите кэш темы, а для каталога используйте встроенное кэширование запросов. Но главный прирост, как и у любой PHP-CMS, даёт OPcache:', 'opcache.enable=1\nopcache.memory_consumption=192\nopcache.max_accelerated_files=15000\nopcache.revalidate_freq=2', 'systemctl restart php8.2-fpm', 'Для магазина с большим каталогом подкрутите InnoDB в MariaDB, чтобы товарные таблицы жили в памяти. Создайте /etc/mysql/mariadb.conf.d/99-oc.cnf:', '[mysqld]\ninnodb_buffer_pool_size = 512M\ninnodb_flush_log_at_trx_commit = 2', 'systemctl restart mariadb', 'И обязательно включите SEO URL в System → SEO — иначе ссылки будут вида index.php?route=..., что плохо и для людей, и для поиска. Вместе кэш, OPcache и тюнинг базы держат карточки товара быстрыми даже в час пик, а NVMe у MAATRIX убирает дисковую задержку при выборке из каталога.']
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для интернет-магазинаЧастые вопросы
Какая версия PHP нужна OpenCart?
OpenCart 4 требует PHP 8.0+. Оптимально PHP 8.2. Обязательно расширения gd, curl, mbstring, zip и bcmath — иначе установщик выдаст предупреждения.
Куда вынести каталог storage?
Для безопасности storage лучше держать вне webroot. OpenCart 4 позволяет указать путь к нему при установке — так товарные файлы недоступны напрямую из интернета.
Потянет ли младший VPS магазин?
Небольшой магазин до пары тысяч товаров комфортно работает на 2 ГБ RAM. Для акций и пиков трафика берите 4 ГБ и NVMe — на MAATRIX апгрейд плана делается без переезда.