Установите Magento 2 на CentOS 7

Magento — это ведущая платформа электронной коммерции корпоративного класса, основанная на технологии с открытым исходным кодом, сочетающая мощные функции с гибкостью и удобным интерфейсом.

Magento — это платформа, которую предпочитают большинство онлайн-продавцов, благодаря таким функциям, как «Увлекательный шоппинг», гибкая модульная архитектура, масштабируемость и производительность корпоративного уровня.

Это первый пост из серии Как установить и настроить Magento 2 на CentOS 7 . В этом руководстве мы проведем вас через шаги по установке Magento 2 на ваш компьютер с CentOS 7.

Подготовка

В качестве предварительных условий для выполнения этого руководства вам понадобятся:

  • Сервер CentOS 7, согласно официальным системным требованиям Magento 2, вам потребуется как минимум 2 ГБ ОЗУ. Если вы используете сервер с объемом оперативной памяти менее 2 ГБ, вам следует создать файл подкачки .
  • Вы вошли в систему как учетную запись пользователя с привилегиями sudo .
  • Доменное имя, указывающее на IP вашего публичного сервера. В этом руководстве мы будем использовать example.com .
  • Установлены и настроены Nginx, MySQL и PHP 7.1. Если вы этого не сделали, обратитесь к нашему руководству по LEMP в CentOS 7 .
  • Действующий сертификат SSL. Если у вас его нет, вы можете создать бесплатный SSL-сертификат Lets’s Encrypt, следуя протоколу Secure Nginx с Let’s Encrypt в CentOS 7 .

Пара ключей Magento Access

Нам нужно сгенерировать ключи доступа для аутентификации доступа к репозиторию кода Magento 2 и сторонним расширениям и темам.

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

Создать базу данных MySQL

Magento 2 совместим с MySQL 5.6 и 5.7, MariaDB 10.x и Percona 5.7. Если на вашем сервере не установлены MySQL или MariaDB, вы можете проверить это руководство .

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

mysql -u root -p

И выполните следующие команды, чтобы создать новую базу данных и пользователя и предоставить этому пользователю привилегии над только что созданной базой данных:

CREATE DATABASE magento;GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'P4ssvv0rD';

Установить расширения PHP

Мы предполагаем, что вы уже включили репозиторий PHP 7.1 Remi, используя наше руководство.

Установите все необходимые расширения PHP с помощью следующей команды:

sudo yum install php-mysql php-opcache php-xml php-mcrypt php-gd php-soap php-redis php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip

После завершения установки установите необходимые и рекомендуемые параметры PHP, отредактировав файл php.ini с помощью sed :

sudo sed -i "s/memory_limit = .*/memory_limit = 756M/" /etc/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php.d/10-opcache.ini

Установить Composer

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

Чтобы установить composer глобально, загрузите установщик Composer с помощью curl и переместите файл в каталог /usr/local/bin :

curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer

Создать нового системного пользователя

Создайте нового пользователя и группу, которые будут запускать нашу установку Magento, для простоты назовем нашего пользователя magento :

sudo useradd -m -U -r -d /opt/magento magento

Добавьте пользователя nginx в группу magento и измените права доступа к каталогу /opt/magento чтобы Nginx мог получить доступ к нашей установке Magento:

sudo usermod -a -G magento nginxsudo chmod 750 /opt/magento

Настроить PHP FPM

Затем нам нужно настроить PHP и создать пул FPM для нашего пользователя magento .

Откройте текстовый редактор и создайте следующий файл:

/etc/php-fpm.d/magento.conf
[magento]
user = magento
group = nginx
listen.owner = magento
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children =  50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

Сохраните файл и перезапустите службу PHP FPM, чтобы изменения вступили в силу:

sudo systemctl restart php-fpm

Установить Magento

Есть несколько способов установить Magento. Не устанавливайте Magento из репозитория Github, потому что эта версия предназначена для разработки, а не для производственных установок. В этом уроке мы установим Magento из их репозиториев с помощью composer.

Переключитесь на пользовательский magento :

sudo su - magento

Начните установку, загрузив файлы /opt/magento/public_html каталог /opt/magento/public_html :

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

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

    Authentication required (repo.magento.com):
      Username: e758ec1745d190520ca246e4e832e12c
      Password:
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn]

Как только проект будет создан, мы можем начать установку. Мы можем установить Magento либо с помощью командной строки, либо с помощью мастера настройки в Интернете. В этом руководстве мы установим Magento с помощью командной строки.

Мы будем использовать следующие варианты для установки нашего магазина Magento:

  • Базовый и базовый безопасные URL-адреса установлены на https://example.com , измените его на свой домен.
  • Администратор Magento:
    • John Doe качестве имени и фамилии.
    • john@example.com по электронной почте.
    • john качестве имени пользователя и j0hnP4ssvv0rD в качестве пароля.
  • Имя базы данных magento , имя пользователя magento , пароль P4ssvv0rD и сервер базы данных находятся на том же хосте, что и веб-сервер.
  • en_US , английский (США) в качестве языка по умолчанию.
  • USD США в качестве валюты по умолчанию.
  • America/Chicago как часовой пояс.
Вы можете найти все параметры установки здесь .

Перейдите в каталог Magento ~/public_html :

cd ~/public_html

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

php bin/magento setup:install --base-url=https://example.com/ 
                        --base-url-secure=https://example.com/ 
                        --admin-firstname="John" 
                        --admin-lastname="Doe" 
                        --admin-email="john@example.com" 
                        --admin-user="john" 
                        --admin-password="j0hnP4ssvv0rD" 
                        --db-name="magento" 
                        --db-host="localhost" 
                        --db-user="magento" 
                        --currency=USD 
                        --timezone=America/Chicago 
                        --use-rewrites=1 
                        --db-password="P4ssvv0rD"
Не забудьте изменить пароль ( j0hnP4ssvv0rD ) на более безопасный.

Если установка прошла успешно, вам будет представлено сообщение, содержащее URI для панели администратора Magento.

[Progress: 485 / 485]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1csalp
Nothing to import.

Создайте crontab Magento

Magento использует задания cron для планирования таких задач, как повторная индексация, уведомления, карты сайта, электронные письма и многое другое.

Чтобы создать Magento crontab, выполните следующую команду от имени пользователя magento :

php ~/public_html/bin/magento cron:install

Мы можем проверить, что crontab установлен, запустив:

crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d

Настроить Nginx

Если вы следовали нашему руководству LEMP по CentOS 7, у вас уже должен быть установлен Nginx на вашем компьютере. Теперь нам нужно только создать новый серверный блок для нашей установки Magento. Мы собираемся включить конфигурацию Nginx по умолчанию, поставляемую с magento:

/etc/nginx/conf.d/example.com.conf
upstream fastcgi_backend {
  server   unix:/run/php-fpm/magento.sock;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    set $MAGE_ROOT /opt/magento/public_html;
    set $MAGE_MODE developer; # or production

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    include /opt/magento/public_html/nginx.conf.sample;
}

Перезагрузите службу Nginx, чтобы изменения вступили в силу:

sudo systemctl reload nginx

Наконец, вы должны иметь возможность войти в свою установку Magento по адресу https://example.com/admin_1csalp используя пользователя с правами администратора, указанного вами при запуске установщика Magento.

Выводы

В этом руководстве вы установили Magento 2 на свой сервер Centos 7. Вы также создали бесплатный SSL-сертификат Let’s encrypt и настроили Nginx в качестве прокси завершения SSL.

Этот пост является частью статьи Как установить и настроить Magento 2 в серии CentOS 7 . Другие сообщения из этой серии:

Оставьте комментарий