Гид по технологиям

Установка Magento 2 на Debian 11 — пошаговое руководство

• 6 min read • DevOps • Обновлено 24 Nov 2025
Установка Magento 2 на Debian 11 — пошагово
Установка Magento 2 на Debian 11 — пошагово

Иллюстрация интерфейса магазина на Magento

Обзор

Magento — это бесплатная и открытая платформа электронной коммерции на PHP, подходящая для малого, среднего и крупного бизнеса. Она позволяет запустить полноценный интернет-магазин с корзиной и админкой без глубоких знаний программирования. В этом руководстве описаны шаги установки Magento 2 на сервер с Debian 11.

Ключевые понятия в одну строку:

  • Magento 2 — платформа e‑commerce на PHP; требует веб-сервера, PHP-расширений и СУБД MySQL/MariaDB.
  • Composer — менеджер зависимостей PHP.
  • Elasticsearch — поиск, необязателен, но часто используется; здесь мы отключаем его модуль для упрощённой установки.

Важно: руководство предполагает, что у вас есть прямой доступ к серверу с правами root и выделенный домен, указывающий на сервер.

Требования

  • Сервер с Debian 11.
  • Доменное имя, указывающее на IP сервера.
  • Настроен пароль root или доступ по sudo.
  • Рекомендуется минимум 2–4 ГБ ОЗУ для комфортной установки и компиляции.

Установка Apache, PHP и необходимых расширений

Установите Apache, PHP и расширения одним набором команд (оставьте команды без изменений):

apt-get install apache2 php libapache2-mod-php php-common php-gmp php-curl php-soap php-bcmath php-intl php-mbstring php-xmlrpc php-mysql php-gd php-xml php-cli php-zip -y

Отредактируйте php.ini для Apache и замените настройки на рекомендуемые:

nano /etc/php/7.4/apache2/php.ini

Измените значения:

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 512M
upload_max_filesize = 128M
max_execution_time = 3600

Сохраните и перезапустите Apache:

systemctl restart apache2

Совет: при ограниченной памяти уменьшите memory_limit до 256M, но будьте готовы к более долгой компиляции.

Установка и настройка MySQL Server 8

Magento 2 официально поддерживает MySQL 8. В репозитории Debian 11 по умолчанию идёт MariaDB 10.5, которая может быть несовместима. Поэтому мы подключаем официальный репозиторий MySQL и устанавливаем MySQL 8.

Скачайте пакет конфигурации репозитория MySQL:

wget https://repo.mysql.com//mysql-apt-config_0.8.18-1_all.deb

Установите пакет:

apt install ./mysql-apt-config_0.8.18-1_all.deb -y

При установке выберите MySQL Server 8 в диалоге конфигурации:

Диалог установки пакета MySQL: выбор версии MySQL Server 8

Обновите репозитории и установите MySQL Server:

apt-get update -y
apt-get install mysql-server -y

Подключитесь к MySQL и создайте базу и пользователя для Magento:

mysql -u root -p

Внутри MySQL выполните:

mysql> CREATE DATABASE magento2;
mysql> CREATE USER 'magento2'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON magento2.* TO 'magento2'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Важно: замените ‘password’ на надёжный пароль и безопасно сохраните его.

Установка Composer

Composer управляет PHP-зависимостями Magento.

Установите curl и Composer:

apt-get install curl -y
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Проверьте версию Composer:

composer --version

Ожидаемый результат будет похож на:

Composer version 2.1.12 2021-11-09 16:02:04

Скачивание и установка Magento 2

Перейдите в веб-корень и разверните проект через Composer:

cd /var/www/html
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition magento2

При запросе аутентификации введите Public key как имя пользователя и Private key как пароль (ключи берутся из вашего аккаунта на repo.magento.com).

Пример вывода и действий пользователя:

Creating a "magento/project-community-edition" project at "./magento2"
Warning from repo.magento.com: You haven't provided your Magento authentication keys. For instructions, visit https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html
    Authentication required (repo.magento.com):
      Username: a6b333ad41629bac913eaabb9b8e053c
      Password:

После загрузки установите корректные права и владельца:

chown -R www-data:www-data /var/www/html/magento2/
cd /var/www/html/magento2
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data .
chmod u+x bin/magento

Отключите модули Elasticsearch (если вы не используете Elasticsearch):

php bin/magento module:disable {Magento_Elasticsearch,Magento_InventoryElasticsearch,Magento_Elasticsearch6,Magento_Elasticsearch7}

Вы увидите сообщение об отключении модулей и инструкции по запуску компиляции классов.

Запустите установку Magento с параметрами (подставьте ваш базовый URL, данные БД и креды администратора):

bin/magento setup:install --base-url=http://magento.example.com --db-host=localhost --db-name=magento2 --db-user=magento2 --db-password=password --admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=Secure@password123 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1

В конце установки в выводе будет указан URI административной панели, например /admin_fgadpx — запомните этот путь.

После установки отключите двухфакторную аутентификацию (при необходимости), очистите кэш и установите Cron:

sudo -u www-data bin/magento module:disable Magento_TwoFactorAuth
sudo -u www-data bin/magento cache:flush
sudo -u www-data bin/magento cron:install

Важно: двухфакторная аутентификация повышает безопасность; отключайте её только если это требуется для автоматизации или тестовой среды.

Настройка виртуального хоста Apache

Создайте файл виртуального хоста:

nano /etc/apache2/sites-available/magento2.conf

Добавьте следующие строки (замените ServerName на ваш домен):


     ServerAdmin [email protected]
      DocumentRoot /var/www/html/magento2/
     ServerName magento.example.com

     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/magento2_error.log
     CustomLog ${APACHE_LOG_DIR}/magento2_access.log combined

Активируйте сайт и модуль rewrite, затем перезапустите Apache:

a2ensite magento2.conf
a2enmod rewrite
systemctl restart apache2

Проверьте статус Apache:

systemctl status apache2

Ожидаемый фрагмент вывода показывает, что сервис запущен.

Доступ к административной панели

Откройте браузер и перейдите по адресу, указанному в выводе установки, например:

http://magento.example.com/admin_fgadpx

Страница авторизации административной панели Magento

Войдите под учётной записью администратора, созданной при установке. После успешного входа вы увидите панель управления:

Панель управления Magento после входа в систему

Критерии приёмки

  • Сайт отвечает по HTTP и возвращает корректную страницу Magento.
  • Админ-панель доступна по указанному URI и вход успешен.
  • Cron-задания установлены и запускаются под пользователем www-data.
  • В логе Apache нет критических ошибок, связанных с правами или отсутствием модулей.

Чек-листы по ролям

Администратор сервера (Ops):

  • Проверить права на директории var, pub, generated.
  • Убедиться, что cron запущен для www-data.
  • Обновлять систему и PHP-пакеты.

Разработчик (Dev):

  • Запустить bin/magento setup:di:compile при необходимости.
  • Убедиться в работоспособности статических файлов: bin/magento setup:static-content:deploy.

Менеджер магазина (Biz):

  • Войти в админку и проверить витрину.
  • Добавить тестовый товар и пройти покупку.

Безопасность и жёсткая настройка

  • Установите HTTPS сертификат (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
  • Уберите права на запись для app/etc после установки (как подсказал инсталлятор).
  • Ограничьте доступ по IP к административной панели или включите двухфакторную аутентификацию для продакшн‑сайтов.
  • Регулярно обновляйте Composer-зависимости и патчи Magento.

Пример быстрой установки Let’s Encrypt (certbot):

apt-get install certbot python3-certbot-apache -y
certbot --apache -d magento.example.com

Отладка и распространённые проблемы

  1. Ошибка при подключении к БД:

    • Проверьте, что MySQL слушает на localhost и учётные данные совпадают.
    • Убедитесь, что пользователь создан и имеет привилегии.
  2. Проблемы с правами файлов:

    • Повторно примените команды chown и chmod, описанные выше.
  3. Ошибки компиляции классов после отключения модулей:

    • Выполните: bin/magento setup:di:compile
    • Очистите кэш: bin/magento cache:flush
  4. Долгая загрузка страниц в админке:

    • Проверьте свободную память и swap.
    • Убедитесь, что cron задачи выполняются вовремя.

Когда этот подход не подходит

  • Если вы планируете использовать Elasticsearch (поиск на продакшне), не отключайте соответствующие модули; вместо этого установите и настройте Elasticsearch версии, совместимой с вашей версией Magento.
  • Для больших магазинов с высокой нагрузкой требуются отдельные сервисы: выделенный MySQL-кластер, кеширование (Redis), очередь (RabbitMQ) и масштабируемый веб‑уровень.

Альтернативные подходы

  • Использовать готовые Docker‑контейнеры или docker-compose-проекты для Magento (упрощает локальную разработку и изоляцию зависимостей).
  • Развернуть Magento через управляемый хостинг или платформы PaaS, если вы не хотите поддерживать инфраструктуру самостоятельно.

Быстрая методология установки (шаги)

  1. Подготовить сервер и DNS.
  2. Установить Apache, PHP и расширения.
  3. Подключить репозиторий MySQL и установить MySQL 8.
  4. Установить Composer.
  5. Скачать Magento через Composer.
  6. Настроить права и виртуальный хост.
  7. Запустить установку bin/magento setup:install.
  8. Настроить HTTPS, cron и права безопасности.

Короткий словарь

  • Composer — менеджер зависимостей PHP.
  • Cron — планировщик задач в Unix для фоновых заданий (в Magento используется для индексирования, отправки писем и т.д.).
  • Elasticsearch — движок полнотекстового поиска, не обязателен, но часто используется.

Факты и числа (факт-бокс)

  • Минимальная рекомендуемая оперативная память: 2–4 ГБ для тестовой среды.
  • Рекомендуемая СУБД: MySQL 8 для совместимости с Magento 2 последних версий.

Короткий план отката при неудачной установке

  1. Удалить каталог проекта: rm -rf /var/www/html/magento2
  2. Удалить базу данных и пользователя в MySQL.
  3. Убрать виртуальный хост и перезапустить Apache.

Итог

Вы установили Magento 2 на Debian 11 и настроили основные компоненты: веб‑сервер, PHP, СУБД, Composer и саму платформу. Следующие шаги — настроить HTTPS, интеграцию с почтой и платежными шлюзами, а также провести тестовую покупку.

Если нужна помощь с настройкой HTTPS, Elasticsearch, Redis или миграцией данных с другой платформы — напишите, я помогу с инструкциями.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро