4.1.8 Встановлення Magento 2

The Host Magento 2 Banner

Magento 2 — це потужна CMS (Content Management System) і фреймворк для створення інтернет-магазинів будь-якого масштабу. Вона написана на PHP, використовує MySQL або MariaDB, підтримує Composer і працює на будь-якому вебсервері, сумісному з PHP — Apache, Nginx, LiteSpeed.

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

Magento 2 цінують за:

  • модульну структуру та зручну систему розширень;
  • потужну панель адміністрування з аналітикою та звітами;
  • гнучке налаштування SEO, URL і кешування;
  • вбудовані засоби для інтеграції з REST і GraphQL API;
  • високу продуктивність і адаптивний дизайн.

Важливо! Регулярно оновлюйте CMS Magento 2 і встановлені плагіни. Це необхідно для захисту від вразливостей і сумісності з новими версіями PHP та MySQL. Перед оновленням завжди створюйте резервну копію сайту та бази даних.

Підготовка сервера

Вимоги

  • Активна послуга Віртуального або Виділеного сервера
  • CPU: від 2 ядер
  • RAM: мінімум 4 ГБ (рекомендовано 8 ГБ і більше)
  • SSD від 40 ГБ
  • ОС — Ubuntu 22.04 / 24.04 LTS
  • PHP 8.2 або 8.3, MySQL 8.0 або MariaDB 10.6+
  • Root доступ або користувач із правами sudo

Змінні середовища

  • DOMAIN_NAME – доменне ім’я сайту
  • DB_NAME, DB_USER, DB_PASSWORD – параметри бази даних
  • ADMIN_EMAIL, ADMIN_USER, ADMIN_PASS – облікові дані адміністратора
  • MAGENTO_PATH – шлях до каталогу встановлення
  • <PUBLIC>, <PRIVATE> – публічний та приватний ключ від Adobe Marketplace

Встановлення Magento 2 на сервер

Встановлення залежностей

Magento потребує кілька розширень PHP і утиліт для збірки та кешування.

sudo apt update && sudo apt install php8.2 php8.2-fpm php8.2-cli php8.2-curl php8.2-mbstring php8.2-xml php8.2-intl php8.2-bcmath php8.2-zip php8.2-soap php8.2-gd php8.2-mysql unzip git composer -y

Після встановлення перевірте, що PHP-FPM запущено:

sudo systemctl status php8.2-fpm

Налаштування MySQL

Створіть базу даних і користувача для Magento:

sudo mysql -u root -p
CREATE DATABASE DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'DB_USER'@'localhost' IDENTIFIED BY 'DB_PASSWORD';
GRANT ALL PRIVILEGES ON DB_NAME.* TO 'DB_USER'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Завантаження та встановлення Magento 2

  1. Перейдіть до каталогу, де буде розміщено сайт:

    cd /var/www && mkdir MAGENTO_PATH && cd MAGENTO_PATH
    
  2. Завантажте дистрибутив за допомогою Composer:

    composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .
    

    Під час першого запуску Composer запросить облікові дані Adobe Marketplace (вони безкоштовні).

  3. Встановіть Magento, вказавши всі параметри:

    bin/magento setup:install \
    --base-url=https://DOMAIN_NAME/ \
    --db-host=localhost --db-name=DB_NAME --db-user=DB_USER --db-password=DB_PASSWORD \
    --admin-firstname=Admin --admin-lastname=User --admin-email=ADMIN_EMAIL \
    --admin-user=ADMIN_USER --admin-password=ADMIN_PASS \
    --language=ru_RU --currency=UAH --timezone=Europe/Kyiv --use-rewrites=1
    

Після завершення команда виведе URL адміністративної панелі.

Налаштування Nginx

Створіть файл конфігурації для сайту:

mv nginx.conf.sample magento.nginx.conf 
/etc/nginx/sites-available/magento.conf
server {
    listen 80;
    server_name DOMAIN_NAME;
    set $MAGE_ROOT /var/www/MAGENTO_PATH;
    include $MAGE_ROOT/magento.nginx.conf;
}

Активуйте конфігурацію:

sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Встановлення Magento 2 на сервер із панеллю керування

Важливо! Якщо ваш сервер керується панеллю ISPmanager, cPanel або Plesk — встановлення PHP і MySQL виконуйте засобами панелі, без ручних команд.

  1. Вкажіть домашній каталог: у властивостях www-домену встановіть корінь сайту на ~/www/MAGENTO_PATH/pub
  2. Встановіть потрібну версію PHP: для Magento 2.4.6+ виберіть версію PHP 8.2, увімкніть розширення intl, mbstring, soap, bcmath, pdo_mysql, gd, zip, curl, xml.
  3. Створіть базу даних.
  4. Встановлення через SSH у терміналі панелі: виконайте наступны команди для додавання ключів від Marketplace у Composer та встановлення:
composer config -g http-basic.repo.magento.com <PUBLIC> <PRIVATE> \
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <MAGENTO_PATH>
  1. Підключіть пошуковий рушій: на своєму VPS встановіть Elasticsearch або OpenSearch сумісної версії, або використайте окремий сервер/managed-сервіс.
  2. Cron через панель: у розділі Cron додайте завдання Magento (зазвичай кожні 1–5 хвилин).
  3. Перевірка: php bin/magento setup:upgrade, deploy:mode:set production, кеші/реіндекс, статика.

Налаштування додаткових функцій Magento 2

Налаштування конфігурації

Конфігураційний файл Magento розташований за адресою: /var/www/DOMAIN_NAME/cfg/connect.inc.php Детальніше можете дізнатися в нашій інструкції.

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

Для роботи через захищений протокол HTTPS використовуйте Let’s Encrypt або комерційний SSL-сертифікат

Після встановлення SSL оновіть базовий URL:

bin/magento setup:store-config:set --base-url-secure=https://DOMAIN_NAME/
bin/magento cache:flush

Оптимізація продуктивності

bin/magento deploy:mode:set production
bin/magento cache:enable
bin/magento indexer:reindex

Налаштування прав доступу

sudo chown -R www-data:www-data /var/www/MAGENTO_PATH
sudo find /var/www/MAGENTO_PATH -type d -exec chmod 755 {} \;
sudo find /var/www/MAGENTO_PATH -type f -exec chmod 644 {} \;

Перевірка роботи

  1. Відкрийте у браузері https://DOMAIN_NAME — має завантажитись головна сторінка магазину.
  2. Панель адміністратора доступна за адресою, який Magento вивела після встановлення, наприклад: https://DOMAIN_NAME/admin_abcdef/
  3. Введіть логін і пароль адміністратора.
  4. У панелі керування перейдіть у розділ Система → Кешування, переконайтесь, що всі типи кешу активні.
Поширені помилки
Помилка Причина Рішення
Немає пошуку / встановлення зупиняється на вимозі search engine У Magento 2.4+ MySQL більше не підтримується для пошуку Встановіть і підключіть Elasticsearch або OpenSearch сумісної версії, потім виконайте переіндексацію.
404/немає статики, адмінка без CSS Nginx дивиться не в pub/ або проігноровано sample-конфіг Вкажіть корінь на …/pub і підключіть include $MAGE_ROOT/magento.nginx.conf;, як вимагає Adobe.
502 Bad Gateway під час PHP Невірний сокет/порт PHP-FPM у серверному блоці Перевірте fastcgi_pass і перезапустіть PHP-FPM та Nginx; використовуйте шаблон з офіційного гайду як базу.
Порожня адмінка/«не може записати в var…» Права/власність на каталоги Magento не налаштовані Дайте групі вебсервера RW на var, pub, generated, app/etc згідно оф. інструкції.
Індексація, e-mail, sitemap не працюють «самі» Не запущені cron-завдання Magento Створіть crontab Magento та перевірте виконання через CLI/панель.
Конфлікт версій PHP/розширень Версія PHP або модуль не підтримуються поточним релізом Звірте з системними вимогами конкретної гілки та оновіть середовище/модулі.

Корисні посилання