Установка Magento · 7 min read · Oct 20, 2025

Как установить Magento 2 с Nginx и SSL Let's Encrypt на Ubuntu 20.04 LTS

Magento — это широко используемое программное обеспечение с открытым исходным кодом для электронной коммерции и система управления контентом для веб-сайтов электронной коммерции, основанная на PHP Zend Framework. Она использует MySQL или MariaDB в качестве базы данных. Разработка Magento началась в 2008 году компанией Varien.

В этом руководстве мы покажем вам шаг за шагом, как установить Magento 2 на последней версии Ubuntu 20.04. Мы установим Magento под стеком LEMP, веб-сервером Nginx, PHP-FPM 7.3 и сервером MariaDB.

Требования

Для этого руководства мы установим Magento 2 на систему Ubuntu 20.04 с 2 ГБ ОЗУ, 50 ГБ свободного дискового пространства и 2 ЦП.

Что мы будем делать?

  • Установить веб-сервер Nginx
  • Установить и настроить PHP-FPM 7.3
  • Установить и настроить сервер MySQL
  • Установить PHP Composer
  • Скачать и установить Magento
  • Сгенерировать SSL Let’s Encrypt
  • Настроить виртуальный хост Nginx для Magento
  • Постустановка Magento

Шаг 1 - Установка веб-сервера Nginx

Сначала мы установим веб-сервер Nginx на систему Ubuntu 20.04.

Установите Nginx, используя команду apt ниже.

sudo apt install nginx

После завершения установки запустите службу Nginx и добавьте ее в автозагрузку системы.

systemctl start nginx  
systemctl enable nginx

После этого проверьте статус службы Nginx, используя следующую команду.

systemctl status nginx

Веб-сервер Nginx работает на сервере Ubuntu 20.04.

Установка Nginx

Далее мы откроем порты HTTP и HTTPS на нашей системе Ubuntu.

Запустите команду ufw ниже.

for svc in ssh http https  
do  
ufw allow $svc  
done

В результате службы SSH, HTTP и HTTPS были добавлены в правило брандмауэра ufw.

Теперь запустите команду для включения брандмауэра ufw.

ufw enable

Введите ‘y’ и нажмите Enter, и вы включили брандмауэр ufw.

Шаг 2 - Установка и настройка PHP-FPM 7.3

После установки веб-сервера Nginx мы установим PHP-FPM на наш сервер Ubuntu 20.04.

По умолчанию Ubuntu 20.04 поставляется с самой новой версией PHP/PHP-FPM 7.4. Но на данный момент Magento работает только с PHP/PHP-FPM 7.3. И на этом шаге мы установим PHP-FPM 7.3 из PPA-репозитория.

Перед тем как продолжить, установите пакет ‘software-properties-common’ и добавьте PPA-репозиторий для PHP 7.3, используя следующую команду.

sudo apt install software-properties-common  
sudo add-apt-repository ppa:ondrej/php

Команда ‘add-apt-repository’ автоматически обновит все репозитории на системе.

Теперь установите пакеты PHP-FPM 7.3 из PPA-репозитория, используя команду apt ниже.

sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache -y

Установка PHP-FPM 7.3 завершена.

После этого перейдите в директорию ‘/etc/php/7.3’ и отредактируйте конфигурацию ‘php.ini’ для PHP-FPM.

cd /etc/php/7.3/  
vim fpm/php.ini

Раскомментируйте и измените конфигурацию следующим образом.

date.timezone = Asia/Singapore  
memory_limit = 1G  
max_execution_time = 1800  
zlib.output_compression = On  
cgi.fix_pathinfo = 0  
  
opcache.enable=1   
opcache.save_comments = 1

Сохраните и закройте.

Далее запустите службу PHP-FPM и добавьте ее в автозагрузку системы.

systemctl start php7.3-fpm  
systemctl enable php7.3-fpm

Установка и настройка PHP-FPM 7.3

Служба PHP-FPM работает, проверьте это с помощью команды ниже.

ss -xa | grep php  
systemctl status php7.3-fpm

В результате PHP-FPM работает на сервере Ubuntu 20.04, он работает под сокетом ‘/run/php/php7.3-fpm.sock’.

Проверка службы PHP-FPM

Шаг 3 - Установка и настройка сервера MariaDB

На этом шаге мы установим сервер базы данных MariaDB, настроим пароль по умолчанию для root MariaDB и создадим новую базу данных и пользователя для Magento.

Установите пакеты сервера MariaDB на Ubuntu 20.04, используя команду apt ниже.

sudo apt install mariadb-server

После завершения установки запустите службу MariaDB и добавьте ее в автозагрузку системы.

systemctl start mariadb  
systemctl enable mariadb

Служба MariaDB работает.

Далее мы настроим пароль root для MariaDB с помощью утилиты ‘mysql_secure_installation’.

Запустите команду ‘mysql_secure_installation’ ниже.

mysql_secure_installation

Введите свой надежный пароль для пользователя root MariaDB и введите ‘Y’ для всех конфигураций.

Установить пароль root? [Y/n] Y  
Удалить анонимных пользователей? [Y/n] Y  
Запретить удаленный вход root? [Y/n] Y  
Удалить тестовую базу данных и доступ к ней? [Y/n] Y  
Перезагрузить таблицы привилегий сейчас? [Y/n] Y

В результате пароль root для MariaDB был настроен.

Настройка пароля root MariaDB

Далее мы создадим новую базу данных и пользователя для установки Magento.

Войдите в оболочку MariaDB/MySQL, используя команду mysql ниже.

mysql -u root -p

Теперь создайте новую базу данных для нашей установки Magento. Создайте базу данных ‘magentodb’ и пользователя ‘magentouser’ с паролем ‘magentodbpass’.

Запустите запросы MySQL ниже.

create database magentodb;  
create user magentouser@'localhost' identified by 'magentopassdb';  
grant all privileges on magentodb.* to magentouser@'localhost';  
flush privileges;

Теперь введите ‘exit’, чтобы выйти из оболочки MySQL.

Создание базы данных для Magento

В результате новая база данных и пользователь для установки Magento были созданы.

Шаг 4 - Установка Composer

Composer — это менеджер зависимостей для PHP. Это пакетный менеджер на уровне приложения для PHP, который позволяет вам загружать дополнительные зависимости и библиотеки PHP для вашего проекта PHP.

На этом шаге мы установим PHP Composer из репозитория Ubuntu.

Установите Composer, используя команду apt ниже.

sudo apt install composer -y

После завершения установки проверьте версию composer ниже.

composer --version

Ниже приведен ответ, который вы получите.

Composer 1.10.1 2020-03-13 20:34:27

Как видно, Composer 1.10 был установлен на сервере Ubuntu 20.04.

Шаг 5 - Скачивание и установка Magento 2

На этом шаге мы загрузим и установим Magento 2 и все необходимые PHP пакеты с помощью Composer.

Сначала перейдите в директорию ‘/var/www/‘ и загрузите исходный код Magento 2.3.5 CE (Community Edition) с помощью команды wget ниже.

cd /var/www/  
wget -q https://github.com/magento/magento2/archive/2.3.5.tar.gz

После завершения извлеките исходный код Magento и переименуйте извлеченную директорию в ‘magento2’.

tar -xf 2.3.5.tar.gz  
mv magento2-*/ magento2/

Далее перейдите в директорию установки Magento ‘/var/www/magento2’ и установите все зависимости PHP для Magento с помощью команды Composer ниже.

cd /var/www/magento2/  
composer install

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

После завершения установки исправьте права собственности директории установки Magento 2 на пользователя ‘www-data’.

chown -R www-data:www-data /var/www/magento2

В результате установка Magento 2 и всех зависимостей пакетов завершена.

Шаг 6 - Генерация SSL Let’s Encrypt

Для этого руководства мы защитим установку Magento 2 с помощью SSL Let’s Encrypt. И на этом шаге мы сгенерируем SSL Let’s Encrypt с помощью команды certbot. Также убедитесь, что ваше доменное имя разрешается в IP-адрес сервера.

Установите инструмент certbot, используя команду apt ниже.

sudo apt install certbot

После завершения установки остановите службу Nginx.

systemctl stop nginx  
certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d magento.hakase-labs.io

После завершения вы получите свои SSL сертификаты в директории ‘/etc/letsencrypt/live/magento.your-domain.com’.

В результате SSL Let’s Encrypt для установки Magento 2 был сгенерирован.

Шаг 7 - Настройка виртуального хоста Nginx для Magento 2

На этом шаге мы добавим новую конфигурацию виртуального хоста Nginx для Magento 2.

Перейдите в директорию ‘/etc/nginx/sites-available/‘ и создайте новую конфигурацию ‘magento’ с помощью редактора vim.

cd /etc/nginx/sites-available/  
vim magento

Вставьте следующую конфигурацию в него.

upstream fastcgi_backend {  
        server  unix:/run/php/php7.3-fpm.sock;  
}  
  
server {  
    listen 80;  
    listen [::]:80;  
    server_name magento.hakase-labs.io;  
    return 301 https://$server_name$request_uri;  
}  
  
server {  
        listen 443 ssl http2;  
        server_name magento.hakase-labs.io;  
  
        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.io/fullchain.pem;  
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.io/privkey.pem;  
  
        set $MAGE_ROOT /var/www/magento2;  
        set $MAGE_MODE developer;  
        include /var/www/magento2/nginx.conf.sample;  
}

Сохраните и закройте.

Далее активируйте виртуальный хост Magento Nginx и протестируйте конфигурацию nginx, убедитесь, что ошибок нет.

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/  
ginx -t

Теперь перезапустите службу Nginx с помощью следующей команды.

systemctl restart nginx

В результате конфигурация виртуального хоста Nginx для Magento 2 была создана и активирована.

Настройка виртуального хоста Nginx для Magento

Шаг 8 - Постустановка Magento

Откройте веб-браузер и введите доменное имя вашей установки Magento в адресной строке.

https://magento.hakase-labs.io/

Теперь вы будете перенаправлены на защищенное соединение HTTPS, и вы получите страницу приветствия Magento и Условия обслуживания.

Установка Magento 2

Нажмите кнопку ‘Согласиться и настроить Magento‘, чтобы продолжить.

На странице ‘Проверка готовности’ убедитесь, что все требования зеленые, и нажмите кнопку ‘Далее‘.

Проверка готовности системных требований

Введите данные базы данных MariaDB и пользователя, которые мы создали выше, и нажмите кнопку ‘Далее‘.

Настройка базы данных

Для ‘Веб конфигурации’ измените все протоколы HTTP на HTTPS и убедитесь, что изменен ‘Адрес администратора Magento’.

Настройка HTTPS Magento

Теперь нажмите ‘Расширенные параметры’ и отметьте все параметры HTTPS, затем снимите отметку с параметра ‘Apache Rewrites’ и снова нажмите кнопку ‘Далее‘.

Далее, в конфигурации ‘Настройка вашего магазина’ Magento оставьте все по умолчанию и нажмите кнопку ‘Далее‘.

Настройка магазина Magento

Теперь введите данные администратора, электронную почту и пароль. Затем нажмите кнопку ‘Далее‘.

Настройка пользователя Magento

Нажмите кнопку ‘Установить сейчас‘, чтобы установить ваш магазин Magento 2.

Установка Magento

Теперь убедитесь, что установка прошла без ошибок.

Установка Magento

После завершения установки вы получите страницу ‘Успех‘, как показано ниже.

Установка Magento завершена

Нажмите ‘Запустить админку Magento‘, чтобы войти в панель управления администратором Magento.

Вход в админку Magento

Теперь введите своего пользователя администратора Magento и пароль, затем нажмите ‘Войти‘, и вы получите панель управления администратором Magento, как показано ниже.

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

Для главной индексной страницы Magento откройте новую вкладку и введите свое доменное имя в адресной строке.

Ниже представлена главная индексная страница Magento.

Индекс Magento

В результате установка Magento 2 завершена.

Далее вернитесь в оболочку сервера, и мы настроим Cron Magento и уберем права на запись для некоторых директорий установки Magento.

Чтобы настроить Cron Magento, выполните команду ниже.

cd /var/www/magento2  
sudo -u www-data php bin/magento cron:install --force

Cron Magento будет работать под пользователем ‘www-data’, проверьте это с помощью следующей команды.

crontab -u www-data -l

В результате Cron Magento был добавлен в систему.

Настройка Cron Magento и удаление прав на запись

Далее нам нужно удалить права на запись для директории ‘/var/www/magento2/app/etc’.

Выполните команду chmod ниже.

chmod u-w /var/www/magento2/app/etc

И, наконец, установка Magento 2 с веб-сервером Nginx, сервером MariaDB, PHP-FPM 7.3 на последней версии Ubuntu 20.04 была успешно завершена.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.