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

Как установить 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-сертификат Let's Encrypt, следуя инструкциям по защите Nginx с помощью Let's Encrypt в CentOS 7 .

Пара ключей доступа Magento

Нам необходимо сгенерировать ключи доступа для аутентификации доступа к репозиторию кода 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.ini sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php.ini sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php.ini sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.ini sudo 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 | php sudo 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 nginx sudo 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

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

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

Во время создания проекта компоновщик попросит вас ввести ключи доступа, скопируйте ключи из вашей учетной записи торговой площадки Magento и сохраните их в файле 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 для планирования таких задач, как переиндексация, уведомления, карты сайта, электронные письма и многое другое.

Чтобы создать файл crontab Magento, выполните следующую команду от имени пользователя 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 Ecommerce Centos

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

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *