Встановлення та налаштування CMS OpenCart

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Встановлення та налаштування CMS OpenCart
Проста
від 4 годин до 2 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Установка та налаштування CMS OpenCart

Установка OpenCart — це не просто розпаковування архіву. Правильно налаштований сервер, коректна конфігурація PHP і бази даних, налаштування прав файлової системи і первинна конфігурація самої CMS — сукупність рішень, які визначають стабільність і продуктивність магазину на роки вперед.

Вимоги до сервера

OpenCart 4.x потребує:

Компонент Мінімум Рекомендується
PHP 8.0 8.2+
MySQL 5.7 8.0
MariaDB 10.6+
Веб-сервер Apache / nginx nginx
Розширення PHP curl, zip, zlib, gd, mysqli, mbstring + opcache, redis
Пам'ять PHP 128 MB 256 MB+

Перевірка розширень:

php -m | grep -E 'curl|zip|gd|mysqli|mbstring|redis|opcache'

Конфігурація PHP

Файл php.ini або директива в nginx.conf:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 10000
date.timezone = Europe/Kyiv

; Обов'язково для продуктивності
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.revalidate_freq = 60

max_input_vars = 10000 — важливо для роботи з великими формами в OpenCart (налаштування опцій товару може передавати багато полів).

Конфігурація nginx

server {
    listen 443 ssl http2;
    server_name myshop.ua www.myshop.ua;

    root /var/www/myshop/public_html;
    index index.php;

    # SSL (Let's Encrypt або комерційний сертифікат)
    ssl_certificate     /etc/letsencrypt/live/myshop.ua/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/myshop.ua/privkey.pem;

    # SEO URL
    location / {
        try_files $uri $uri/ @opencart;
    }

    location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }

    # Запрет доступу до служебних файлів
    location ~ ^/(system|admin/config\.php|config\.php) {
        deny all;
    }

    # PHP обробка
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 300;
    }

    # Кешування статики
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }
}

# Редирект HTTP → HTTPS
server {
    listen 80;
    server_name myshop.ua www.myshop.ua;
    return 301 https://myshop.ua$request_uri;
}

Установка OpenCart

Крок 1: Завантаження та розпакування

cd /var/www/myshop
wget https://github.com/opencart/opencart/releases/download/4.0.2.3/opencart-4.0.2.3.zip
unzip opencart-4.0.2.3.zip
cp -r upload/* public_html/
cd public_html

Крок 2: Копіювання конфігураційних шаблонів

cp config-dist.php config.php
cp admin/config-dist.php admin/config.php

Крок 3: Права доступу

# Директорії для запису
chmod 775 system/storage/cache/
chmod 775 system/storage/logs/
chmod 775 system/storage/download/
chmod 775 system/storage/upload/
chmod 775 image/
chmod 775 image/cache/
chmod 664 config.php admin/config.php
chown -R www-data:www-data /var/www/myshop/public_html/

Крок 4: Створення бази даних

CREATE DATABASE opencart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'opencart_user'@'localhost' IDENTIFIED BY 'strong_password_here';
GRANT ALL PRIVILEGES ON opencart.* TO 'opencart_user'@'localhost';
FLUSH PRIVILEGES;

Крок 5: Установка через веб-майстер

Відкрийте https://myshop.ua/install/ і пройдіть 4 кроки:

  1. Ліцензійна угода
  2. Перевірка вимог (усі пункти мають бути зеленими)
  3. Налаштування БД та адміністратора
  4. Завершення

Після завершення — видаліть папку /install/:

rm -rf public_html/install/

Перенесення storage за веб-рут

За замовчуванням system/storage/ знаходиться всередині веб-рута — це небезпечно (прямий доступ до логів і кешу). Перенесемо:

mv public_html/system/storage/ /var/www/myshop/storage/

У config.php:

define('DIR_STORAGE', '/var/www/myshop/storage/');

У admin/config.php — аналогічно. Перезавантажте PHP-FPM.

Первинна налаштування через адмін-панель

System → Settings → General:

  • Store Name, Address, Email, Phone
  • Meta Title (назва для головної сторінки)

System → Settings → Server:

  • Use SEO URL's: Yes (обов'язково)
  • Output Compression Level: 5 (gzip)
  • Error Display: No (на production)
  • Error Log: Yes

System → Settings → Image:

  • Image Width/Height для різних контекстів:
    • Category image: 300×300
    • Product image (каталог): 400×400
    • Product image (карточка): 800×800
    • Cart image: 100×100

Неправильні розміри зображень — часта причина повільного завантаження: OpenCart створює thumbnails при першому звертанні, великі розміри = довга генерація.

Налаштування локалі

System → Localization → Languages → Українська
→ Status: Enabled
→ Sort Order: 1

System → Localization → Currencies → Українська гривня
→ Code: UAH
→ Symbol Left: (пусто)
→ Symbol Right: ₴
→ Decimal Places: 2
→ Status: Enabled
→ Default: Yes

Оновлення курсів валют (автоматично від ECB/Yahoo Finance або вручну):

System → Localization → Currencies → Update Currency Rates

Підключення SSL/HTTPS

Після установки SSL-сертифіката:

System → Settings → Server
→ Use SSL: Yes
→ HTTPS server: https://myshop.ua/

Якщо сайт за Cloudflare або proxy — додатково у index.php на початку файлу:

// Якщо proxy передає HTTPS
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

Безпека після установки

  • Перейменувати /admin/ на непередбачуване ім'я (наприклад /store-control-9x7k/)
  • Налаштувати HTTP Basic Auth на папку адміністратора як другий фактор
  • Оновити admin/config.php з новим шляхом
  • Додати location /store-control-9x7k { auth_basic ...; } в nginx
  • Встановити розширення для двофакторної аутентифікації в админку

Терміни

  • Базова установка на підготовлений сервер: 2–4 години
  • Налаштування nginx + PHP + SSL з нуля: 4–8 годин
  • Первинна конфігурація магазину (локаль, налаштування, безпека): 2–3 години
  • Разом: 1 робочий день.