
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.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
Начните установку с загрузки файлов 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:
- Имя и фамилия —
JohnDoe. -
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 2 на CentOS 7» .
Другие посты в этой серии:
Связанные руководства
- Настройте Magento 2 для использования Varnish на CentOS 7
- Как установить Magento 2 на Ubuntu 18.04
- Как установить и настроить Zabbix на CentOS 7
- Как установить текстовый редактор Atom на CentOS 7
- Как установить Sublime Text 3 на CentOS 7
- Как установить Visual Studio Code на CentOS 7
- Как установить VMware Workstation Player на CentOS 7