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 в терминале панели: выполните следующие команды для добавления ключей Adobe Marketplace в Composer и установки Magento:
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-сервис. 6 Cron через панель: в разделе Cron добавьте задания Magento (обычно каждые 1–5 минут).
  2. Проверка: 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 или модуль не поддерживаются текущим релизом Сверься с системными требованиями конкретной ветки и обнови окружение/модули.

Полезные ссылки