Установка Magento · 8 min read · Oct 14, 2025
Как установить Magento 2 с Nginx и Letsencrypt на Ubuntu 18.04
Magento — это широко используемое программное обеспечение с открытым исходным кодом для электронной коммерции и система управления контентом для веб-сайтов электронной коммерции, основанная на PHP Zend Framework. Она использует MySQL или MariaDB в качестве базы данных. Разработка Magento началась в 2008 году компанией Varien.
В этом руководстве я покажу вам, как установить Magento 2 с Nginx, PHP 7.1 FPM и MySQL в качестве базы данных. Я буду использовать Ubuntu 18.04 (Bionic Beaver) в качестве операционной системы сервера. Если у вас еще нет минимальной настройки сервера, пожалуйста, посмотрите это руководство, чтобы получить правильную базовую настройку.
Предварительные требования
- Ubuntu 18.04
- 2 ГБ или больше оперативной памяти
- Привилегии root
Что мы будем делать
- Установить Nginx на Ubuntu 18.04
- Установить и настроить PHP-FPM 7.1
- Установить и настроить MySQL Server
- Установить и настроить Magento 2 1. Установить PHP Composer
- Скачать Magento 2
- Установить компоненты Magento
- Сгенерировать SSL Letsencrypt
- Настроить виртуальный хост Nginx для Magento
- Постустановка Magento
- Тестирование
Шаг 1 - Установить Nginx на Ubuntu 18.04 LTS
В этом руководстве мы будем использовать веб-сервер Nginx для нашей установки Magento.
Войдите на сервер, обновите репозиторий и обновите все пакеты.
sudo apt update
sudo apt upgradeТеперь установите веб-сервер Nginx, используя команду apt ниже.
sudo apt install nginx -yПосле завершения установки запустите службу Nginx и включите ее, чтобы она запускалась каждый раз при загрузке системы.
systemctl start nginx
systemctl enable nginxВеб-сервер Nginx установлен, проверьте его с помощью команды netstat и убедитесь, что HTTP-порт 80 находится в состоянии ‘LISTEN’. Другой способ — использовать команду curl, как показано ниже.
netstat -plntu
curl -I localhost
Шаг 2 - Установить и настроить PHP-FPM 7.1
После установки веб-сервера Nginx мы установим PHP 7.1 на сервер, так как Magento пока не поддерживает PHP 7.2. Мы установим PHP-FPM со всеми расширениями, необходимыми для Magento 2.
Список расширений PHP, необходимых для установки Magento 2:
- bc-math
- ctype
- curl
- dom
- gd, ImageMagick 6.3.7 (или более поздняя версия) или оба
- intl
- mbstring
- mcrypt
- hash
- openssl
- PDO/MySQL
- SimpleXML
- soap
- spl
- libxml
- xsl
- zip
- json
- iconv
Для этого руководства мы установим пакеты PHP-FPM из PPA-репозитория. Мы будем использовать репозиторий ‘ondrej/php’.
Установите пакет ‘software-properties-common’ и добавьте репозиторий ‘ondrej/php’, используя команды ниже.
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
Теперь установите PHP-FPM 7.1 со всеми необходимыми расширениями.
sudo apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath -yПосле завершения установки проверьте версию PHP и установленные расширения с помощью команд PHP.
php -v
php -me
Далее мы настроим файл php.ini для PHP-FPM и PHP-CLI.
Отредактируйте файлы php.ini, используя vim.
vim /etc/php/7.1/fpm/php.ini
vim /etc/php/7.1/cli/php.iniИзмените значение этих строк следующим образом.
memory_limit = 512M
max_execution_time = 180
zlib.output_compression = OnСохраните и выйдите.
Теперь перезапустите службу PHP-fpm и включите ее, чтобы она запускалась каждый раз при загрузке системы.
systemctl restart php7.1-fpm
systemctl enable php7.1-fpmУстановка и настройка PHP-FPM 7.1 завершены, проверьте службу с помощью команды netstat.
netstat -pl | grep phpИ вы получите файл сокета PHP-fpm, как показано ниже.

Шаг 3 - Установить и настроить MySQL Server
Программное обеспечение Magento требует MySQL 5.6.x, а Magento 2.1.2 или более поздние версии требуют MySQL 5.7.x. В этом руководстве мы установим последнюю версию MySQL 5.8 на систему Ubuntu 18.04.
Установите MySQL 5.8, используя команду apt ниже.
sudo apt install mysql-server mysql-client -yПосле завершения установки запустите службу MySQL и включите ее, чтобы она запускалась каждый раз при загрузке системы.
systemctl start mysql
systemctl enable mysqlТеперь мы настроим пароль root для MySQL с помощью команды ‘mysql_secure_installation’.
mysql_secure_installationВ этой версии MySQL 5.8 есть улучшение безопасности для политики паролей MySQL. Вам нужно выбрать политику паролей - 0 для НИЗКОЙ политики, 1 для СРЕДНЕЙ политики и 2 для СИЛЬНОЙ политики паролей.
Для этого руководства мы будем использовать политику паролей ‘СРЕДНЯЯ’, и рекомендуется использовать политику паролей ‘СИЛЬНАЯ’ на производственном сервере.
Выберите номер ‘1’ и нажмите Enter, затем введите ваш новый пароль ‘root’ для MySQL.

Удалить анонимных пользователей? (Нажмите y|Y для Да, любую другую клавишу для Нет) : Y
Запретить удаленный вход root? (Нажмите y|Y для Да, любую другую клавишу для Нет) : Y
Удалить тестовую базу данных и доступ к ней? (Нажмите y|Y для Да, любую другую клавишу для Нет) : Y
Перезагрузить таблицы привилегий сейчас? (Нажмите y|Y для Да, любую другую клавишу для Нет) : YПароль root для MySQL был установлен.
Теперь мы создадим новую базу данных для нашей установки Magento. Мы создадим новую базу данных с именем ‘magentodb’ с пользователем ‘magentouser’ и паролем ‘Magento0463@#’.
Войдите в оболочку MySQL, используя пользователя root.
mysql -u root -pТеперь выполните запросы MySQL ниже, чтобы создать базу данных и пользователя.
create database magentodb;
create user magentouser@localhost identified by 'Magento0463@#';
grant all privileges on magentodb.* to magentouser@localhost identified by 'Magento0463@#';
flush privileges;Установка и настройка сервера MySQL для установки Magento завершены.

Шаг 4 - Установить и настроить Magento 2
На этом шаге мы установим последнюю версию Magento 2.2.4 из репозитория Github. Мы установим PHP composer для установки компонентов Magento, загрузим Magento из репозитория Github, настроим виртуальный хост Nginx для Magento и установим Magento с помощью веб-интерфейса постустановки.
- Установить PHP Composer
Установите PHP Composer на Ubuntu 18.04, используя команду apt ниже.
sudo apt install composer -yПосле завершения установки проверьте установленную версию composer на системе.
composer -VПоследняя версия PHP Composer была установлена.
- Скачать Magento 2
Перейдите в директорию ‘/var/www’ и загрузите архив исходного кода Magento из Github, используя команду wget.
cd /var/www/
wget https://github.com/magento/magento2/archive/2.2.4.tar.gzТеперь извлеките архивный файл Magento и переименуйте директорию в ‘magento2’.
tar -xf 2.2.4.tar.gz
mv magento2-2.2.4/ magento2/Исходный код Magento был загружен, и директория ‘/var/www/magento2’ будет корнем веб-сайта Magento.
- Установить компоненты Magento
Установите компоненты Magento с помощью PHP composer. Перейдите в директорию ‘magento2’ и установите все необходимые PHP компоненты для Magento, используя команду ‘composer’.
cd /var/www/magento2
composer install -vПосле завершения установки вы получите результат, как показано ниже.
- Сгенерировать SSL Letsencrypt
Мы обеспечим безопасность нашей установки Magento с помощью SSL от Letsencrypt. Установите Letsencrypt, используя команду apt ниже.
sudo apt install letsencrypt -yПосле завершения установки остановите службу nginx.
systemctl stop nginxТеперь сгенерируйте SSL-сертификаты для доменного имени, используя команду certbot, как показано ниже.
certbot certonly --standalone -d magento.hakase-labs.pwВведите свой адрес электронной почты, примите условия использования Letsencrypt, затем введите ‘N’ для отказа от обмена электронной почтой.

Когда это будет завершено, вы получите результат, как показано ниже.

Файлы сертификатов SSL Letsencrypt были сгенерированы в директории ‘/etc/letsencrypt/live’.
- Настроить виртуальный хост Nginx
Перейдите в директорию ‘/etc/nginx/sites-available’ и создайте новый файл виртуального хоста ‘magento’, используя vim.
cd /etc/nginx/sites-available/
vim magentoВставьте следующую конфигурацию туда.
upstream fastcgi_backend {
server unix:/run/php/php7.1-fpm.sock;
}
server {
listen 80;
listen [::]:80;
server_name magento.hakase-labs.pw;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name magento.hakase-labs.pw;
ssl on;
ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.pw/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.pw/privkey.pem;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer;
include /var/www/magento2/nginx.conf.sample;
}Сохраните конфигурацию и выйдите.
Теперь активируйте виртуальный хост, создав символическую ссылку для файла виртуального хоста Magento в директории ‘sites-enabled’.
ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/Проверьте файл конфигурации nginx и убедитесь, что нет ошибок.
nginx -tТеперь перезапустите службы PHP-FPM и Nginx.
systemctl restart php7.1-fpm
systemctl restart nginxИ измените владельца директории корня веб-сайта Magento на пользователя и группу ‘www-data’.
chown -R www-data:www-data /var/www/magento2/Виртуальный хост nginx для Magento был добавлен.
- Постустановка Magento
Откройте веб-браузер и введите URL Magento. Мой URL:
https://magento.hakase-labs.pw/
Для ‘Условий и соглашений’ нажмите кнопку ‘Согласен и настроить Magento’.

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

Теперь нажмите кнопку ‘Далее’.
Конфигурация базы данных для Magento - введите всю информацию о нашей базе данных и нажмите ‘Далее’.

Для веб-конфигурации измените ‘адрес магазина’ на HTTPS, ‘адрес администратора Magento’ на ваш URL пути администратора и снимите галочку с ‘Apache Rewrites’, так как мы используем веб-сервер Nginx.

Снова нажмите кнопку ‘Далее’.
Оставьте ‘Настроить ваш магазин’ по умолчанию и нажмите ‘Далее’.

Введите своего администратора и пароль, затем нажмите ‘Далее’.

И нажмите кнопку ‘Установить сейчас’, чтобы установить Magento.

И когда установка завершится, вы получите результат ‘успех’, как показано ниже.

Теперь нам нужно отключить запись для директории ‘/var/www/magento2/app/etc’. Выполните команду ниже.
sudo chmod -w /var/www/magento2/app/etcMagento был установлен на сервер Ubuntu 18.04 Bionic Beaver.
Шаг 5 - Тестирование
Введите домашний адрес URL Magento и убедитесь, что вы попали на главную страницу по умолчанию Magento. Мой URL: https://magento.hakase-labs.pw/

Теперь войдите в панель администратора Magento, посетив URL, определенный во время установки ‘admin_hakase’. Мой URL:
https://magento.hakase-labs.pw/admin_hakase/

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

Magento 2 был установлен на Ubuntu 18.04 с веб-сервером Nginx, базой данных MySQL и PHP-FPM 7.1.
Дополнительно:
Если вы получите ошибку о недостающем cronjob индексатора Magento, вы можете решить ее, сгенерировав скрипт crontab с помощью команды ниже.
cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --forceТеперь проверьте список скриптов crontab для пользователя ‘www-data’.
crontab -u www-data -l
Ссылки
Get new posts in your inbox
No spam. Unsubscribe anytime.