Поиск по сайту:

Как установить Magento 2 с Nginx и Letsencrypt на Ubuntu 18.04


Это руководство существует для этих версий ОС

  • Ubuntu 11.04 (Натти Нарвал)

На этой странице

  1. Предпосылки
  2. Что мы будем делать
  3. Шаг 1. Установите Nginx в Ubuntu 18.04 LTS
  4. Шаг 2. Установите и настройте PHP-FPM 7.1
  5. Шаг 3. Установка и настройка сервера MySQL
  6. Шаг 4. Установите и настройте Magento 2
    1. - Установите PHP Composer
    2. - Скачать Magento 2
    3. - Установка компонентов Magento
    4. - Создать SSL Letsencrypt
    5. - Настройка виртуального хоста Nginx
    6. - После установки Magento

    1. Дополнительно:

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

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

    Предпосылки

    • Убунту 18.04
    • 2 ГБ или более оперативной памяти
    • Привилегии root

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

    1. Установите Nginx в Ubuntu 18.04.
    2. Установка и настройка PHP-FPM 7.1
    3. Установка и настройка сервера MySQL
    4. Установка и настройка Magento 2
      1. Установите PHP Composer
      2. Загрузить Magento 2
      3. Установка компонентов Magento
      4. Создать SSL Letsencrypt
      5. Настройка виртуального хоста Nginx для Magento
      6. После установки 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-математика
      • тип
      • завиток
      • дом
      • gd, ImageMagick 6.3.7 (или новее) или оба
      • международный
      • mbstring
      • мкрипт
      • хэш
      • openssl
      • PDO/MySQL
      • ПростойXML
      • мыло
      • спл
      • libxml
      • xsl
      • молния
      • json
      • значок

      В этом руководстве мы установим пакеты 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

      И вы получите файл socks PHP-fpm, как показано ниже.

      Шаг 3 — Установите и настройте сервер MySQL

      Для программного обеспечения 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 для политики LOW, 1 для политики MEDIUM и 2 для политики SRONG для паролей.

      В этом руководстве мы будем использовать СРЕДНЮЮ политику паролей, и рекомендуется использовать СИЛЬНУЮ политику паролей на рабочем сервере.

      Выберите номер 1 и нажмите Enter, затем введите новый корневой пароль MySQL.

       Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
      Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
      Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
      Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

      Корневой пароль MySQL установлен.

      Далее мы создадим новую базу данных для нашей установки Magento. Мы создадим новую базу данных с именем magentodb с пользователем magentouser и паролем [email #.

      Войдите в оболочку MySQL, используя пользователя root.

      mysql -u root -p

      Теперь запустите запросы MySQL ниже, чтобы создать базу данных и пользователя.

      create database magentodb;
      create user #';
      flush privileges;

      Установка и настройка сервера MySQL для установки Magento завершена.

      Шаг 4 — Установите и настройте Magento 2

      На этом этапе мы установим последнюю версию Magento 2.2.4 из репозитория Github. Мы установим компоновщик PHP для установки компонентов Magento, загрузим Magento из репозитория Github, настроим виртуальный хост Nginx для Magento и установим Magento с помощью постустановки через Интернет.

      - Установите PHP-композитор

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

      sudo apt install composer -y

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

      composer -V

      Установлена последняя версия PHP Composer.

      - Скачать Магенто 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. Перейдите в каталог 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 на каталог с поддержкой сайтов.

      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. Мой:

      Чтобы ознакомиться с условиями и соглашением, нажмите кнопку «Согласен и настройте Magento».

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

      Теперь нажмите кнопку Далее.

      Конфигурация базы данных для Magento — введите всю информацию о нашей базе данных и нажмите «Далее».

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

      Нажмите кнопку Далее еще раз.

      Оставьте «Настроить свой магазин» по умолчанию и нажмите «Далее».

      Введите имя пользователя и пароль администратора, затем нажмите «Далее».

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

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

      Теперь нам нужно отключить доступ на запись для каталога /var/www/magento2/app/etc. Запустите команду ниже.

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

      Magento был установлен на сервер Ubuntu 18.04 Bionic Beaver.

      Шаг 5 - Тестирование

      Введите домашний адрес Magento URL и убедитесь, что вы получаете домашнюю страницу Magento по умолчанию. Мой: https://magento.hakase-labs.pw/

      Теперь войдите в панель администратора Magento, посетив URL-адрес, указанный во время установки 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

      Ссылка

      • https://devdocs.magento.com/