Установка Magento · 5 min read · Oct 19, 2025

Как установить Magento с Nginx на Ubuntu 16.04

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

В этом руководстве я покажу вам, как установить Magento 2 с Nginx, PHP 7.0 в режиме FPM и MariaDB в качестве базы данных. Я буду использовать Ubuntu 16.04 (Xenial Xerus) в качестве операционной системы сервера. Если у вас еще нет минимальной настройки сервера, пожалуйста, посмотрите это руководство, чтобы получить правильную базовую настройку.

Предварительные условия:

  • Ubuntu 16.04 - 64 бита.
  • Права root.

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

Войдите на свой сервер Ubuntu с учетной записью root (например, по SSH) и обновите репозиторий.

sudo su  
apt-get update

Затем установите Nginx:

apt-get install nginx -y

Проверьте, что nginx установлен правильно, проверив порт:

netstat -plntu | grep 80

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

На этом шаге мы установим PHP 7 в режиме PHP-FPM. Кроме того, мы установим следующие расширения PHP, которые требуются для Magento.

  • php-gd
  • php-mhash
  • php-mcrypt
  • php-xsl
  • php-pear
  • php-soap

Установите пакеты с помощью команды apt ниже:

apt-get install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl -y

Теперь отредактируйте файлы php.ini для fpm и cli.

vim /etc/php/7.0/fpm/php.ini  
vim /etc/php/7.0/cli/php.ini

и увеличьте лимит памяти и время выполнения PHP, а также включите сжатие zlib, добавив следующие строки в конец файлов:

memory_limit = 512M  
max_execution_time = 1800  
zlib.output_compression = On

Сохраните файл и выйдите из редактора.

Перезапустите службу PHP-FPM, чтобы применить изменения конфигурации:

systemctl restart php7.0-fpm

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

Я буду использовать MariaDB вместо MySQL здесь. Установите MariaDB с помощью команды apt:

apt-get install mariadb-server mariadb-client -y

Установите пароль для пользователя root MariaDB с помощью этой команды:

mysqladmin -u root password mypassword
mysql_secure_installation  
  Установить пароль root? [Y/n] Y  
  Новый пароль:  
  Повторите новый пароль: <-- Введите новый пароль  
  Удалить анонимных пользователей? [Y/n] Y  
  ... Успех!  
  Запретить удаленный вход root? [Y/n] Y  
  ... Успех!  
  Удалить тестовую базу данных и доступ к ней? [Y/n] Y  
  
  Перезагрузить таблицы привилегий сейчас? [Y/n] Y  
  ... Успех!

Затем подключитесь к оболочке MySQL (оболочка MariaDB запускается с помощью команды mysql) с вашим паролем root, создайте базу данных с именем ‘magentodb‘ и пользователя ‘magentouser‘ с паролем ‘magentouser@‘. Пожалуйста, выберите надежный пароль для ‘magentouser’ на вашем сервере, а не тот, который я использовал в этом примере!

Войдите в оболочку MySQL:

mysql -u root -p

В оболочке MySQL выполните следующие команды:

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

Создание базы данных magento

База данных создана и настроена.

Шаг 4 - Установка и настройка Magento 2

Мы установим Magento в директории ‘/var/www/magento2’. Для установки Magento нам нужен PHP composer.

- Установка php composer

Перейдите в корневую директорию, загрузите файл установщика composer с помощью curl и запустите его для установки composer.

cd ~/  
curl -sS https://getcomposer.org/installer | php

Переместите файл ‘composer.phar’ в директорию bin вашего сервера и переименуйте его в composer, чтобы его можно было легко выполнить:

mv composer.phar /usr/bin/composer

Теперь проверьте, что команда composer работает:

composer -v

- Загрузка и извлечение Magento 2

Перейдите в веб-директорию ‘/var/www/‘ и загрузите Magento из его репозитория на Github, затем распакуйте загруженный файл tar.gz:

cd /var/www/  
wget https://github.com/magento/magento2/archive/2.0.7.tar.gz  
tar -xzvf 2.0.7.tar.gz  
mv magento2-2.0.7/ magento2/

Готово.

- Настройка ключа Magento

Зарегистрируйте учетную запись на сайте Magento repo.magento.com. Эта учетная запись необходима для использования Magento и магазина composer Magento. Когда вы зарегистрируетесь, перейдите на вкладку ‘Моя учетная запись > Разработчик > Безопасные ключи‘, затем сгенерируйте свои ключи.

Настройка ключа magento

- Установка сторонних компонентов для Magento

Перейдите в директорию установки Magento 2 ‘/var/www/magento2’ и выполните команду composer:

cd /var/www/magento2/  
composer install -v

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

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

Magento предлагает готовую конфигурацию виртуального хоста Nginx, поэтому нам просто нужно включить ее в нашу конфигурацию.

Перейдите в директорию виртуального хоста Nginx и создайте новый файл с именем magento:

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

Вставьте конфигурацию ниже:

upstream fastcgi_backend {  
        server  unix:/run/php/php7.0-fpm.sock;  
}  
  
server {  
        listen 80;  
        server_name www.newmagento.com;  
        set $MAGE_ROOT /var/www/magento2;  
        set $MAGE_MODE developer;  
        include /var/www/magento2/nginx.conf.sample;  
}

Замените www.newmagento.com на доменное имя веб-сайта, которое будет использовать ваш магазин.

Сохраните и выйдите.

Теперь активируйте виртуальный хост и перезапустите Nginx:

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/  
systemctl restart nginx

- Установка Magento

Мы установим Magento через командную строку. В директории Magento ‘/var/www/magento2/‘ есть бинарный файл с именем ‘magento’, который используется для установки и управления Magento. Выполните команду:

bin/magento setup:install --backend-frontname="adminlogin" \  
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \  
--db-host="localhost" \  
--db-name="magentodb" \  
--db-user="magentouser" \  
--db-password="magentouser@" \  
--language="en_US" \  
--currency="USD" \  
--timezone="America/New_York" \  
--use-rewrites=1 \  
--use-secure=0 \  
--base-url="http://www.newmagento.com" \  
--base-url-secure="https://www.newmagento.com" \  
--admin-user=adminuser \  
--admin-password=admin123@ \  
--admin-email="[email protected]" \  
--admin-firstname=admin \  
--admin-lastname=user \  
--cleanup-database

backend-frontname = страница администратора для нашего сайта Magento, мы используем ‘adminlogin‘.
Key = наши ключи Magento, мы можем сгенерировать их или найти случайно на http://randomkeygen.com/.
Base-url = убедитесь, что он совпадает с конфигурацией виртуального хоста.

В конце процедуры установки вы должны увидеть эти строки:

[SUCCESS]: Установка Magento завершена.
[SUCCESS]: URI администратора Magento: /adminlogin

Перед тем как протестировать установку Magento, убедитесь, что владелец веб-директории ‘www-data’, затем перезапустите nginx.

cd /var/www/magento2/  
chmod 700 /var/www/magento2/app/etc  
chown -R www-data:www-data .
systemctl restart nginx

Теперь откройте домен Magento в вашем браузере: *

В моем случае доменное имя: www.newmagento.com.

Главная страница Magento

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

www.newmagento.com/adminlogin

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

**

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

Примечание:

Если вы получите ошибку о недостающем cronjob индексатора Magento, вы можете решить эту проблему, добавив следующий cronjob на ваш сервер:

crontab -u www-data -e

Добавьте следующие строки:

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/magento2/update/cron.php >> /var/www/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron:run >> /var/www/magento2/var/log/setup.cron.log

Сохраните и выйдите.

Magento 2 с Nginx и PHP-FPM 7 на Ubuntu 16.04 теперь установлен.

Заключение

Magento — это платформа электронной коммерции с открытым исходным кодом, основанная на PHP Zend Framework. Это сложное программное обеспечение для электронной коммерции, которое поможет вам в вашем онлайн-бизнесе. Magento использует архитектуру MVC (Model-View-Controller) и MySQL или MariaDB в качестве базы данных. Magento легко установить, мы можем установить его с помощью веб-сервера Nginx или Apache. Magento стал одним из самых популярных программных обеспечений для электронной коммерции в Интернете и используется многими успешными веб-сайтами магазинов по всему миру.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.