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.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
.
Откройте текстовый редактор и создайте следующий файл:
[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
качестве имени и фамилии.[email protected]
по электронной почте.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="[email protected]"
--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:
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 . Другие сообщения из этой серии: