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

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
- 
Перейдіть до каталогу, де буде розміщено сайт: cd /var/www && mkdir MAGENTO_PATH && cd MAGENTO_PATH
- 
Завантажте дистрибутив за допомогою Composer: composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .Під час першого запуску Composer запросить облікові дані Adobe Marketplace (вони безкоштовні). 
- 
Встановіть 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 
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 виконуйте засобами панелі, без ручних команд.
- Вкажіть домашній каталог: у властивостях www-домену встановіть корінь сайту на ~/www/MAGENTO_PATH/pub
- Встановіть потрібну версію PHP: для Magento 2.4.6+ виберіть версію PHP 8.2, увімкніть розширення intl,mbstring,soap,bcmath,pdo_mysql,gd,zip,curl,xml.
- Створіть базу даних.
- Встановлення через 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>
- Підключіть пошуковий рушій: на своєму VPS встановіть Elasticsearch або OpenSearch сумісної версії, або використайте окремий сервер/managed-сервіс.
- Cron через панель: у розділі Cron додайте завдання Magento (зазвичай кожні 1–5 хвилин).
- Перевірка: 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 {} \;
Перевірка роботи
- Відкрийте у браузері https://DOMAIN_NAME— має завантажитись головна сторінка магазину.
- Панель адміністратора доступна за адресою, який Magento вивела після встановлення, наприклад:
https://DOMAIN_NAME/admin_abcdef/
- Введіть логін і пароль адміністратора.
- У панелі керування перейдіть у розділ Система → Кешування, переконайтесь, що всі типи кешу активні.
Поширені помилки
| Помилка | Причина | Рішення | 
|---|---|---|
| Немає пошуку / встановлення зупиняється на вимозі 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 або модуль не підтримуються поточним релізом | Звірте з системними вимогами конкретної гілки та оновіть середовище/модулі. | 


