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

Как установить Magento на Rocky Linux и AlmaLinux


Magento, написанный на PHP, представляет собой популярную и универсальную платформу электронной коммерции с открытым исходным кодом, которая предоставляет предприятиям онлайн-корзину покупок. Он использует различные платформы PHP, такие как Symfony и Laminas, для повышения своей функциональности и удобства использования.

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

Без лишних слов приступим к установке Magento на Rocky Linux и AlmaLinux.

Предварительные условия

Чтобы успешно установить Magento, прежде всего, необходимо установить стек LAMP на:

  • Как установить стек LAMP в Rocky Linux
  • Как установить стек LAMP в AlmaLinux

Также убедитесь, что у вас есть полное доменное имя (FQDN), указывающее на общедоступный IP-адрес сервера. В этом руководстве мы будем использовать домен linuxtechgeek.info.

Наконец, убедитесь, что у вас есть доступ по SSH с настроенным пользователем sudo.

Шаг 1. Установите дополнительные модули PHP и другие зависимости

Мы начнем с установки модулей PHP, которые необходимы для установки Magento.

sudo dnf install php-mysqlnd php-xml php-cli php-soap php-pd php-opcache php-iconv php-bcmath php-gd o  php-intl php-mbstring php-json  php-zip unzip wget -y

После установки откройте и отредактируйте файл конфигурации php.ini.

sudo vim /etc/php.ini

Убедитесь, что приведенные ниже значения соответствуют тому, что у вас есть. Конечно, установите значение date.timezone соответственно вашему часовому поясу.

memory_limit = 1024M
upload_max_filesize = 256M
zlib.output_compression = on
max_execution_time = 18000
date.timezone = Europe/London

Сохраните изменения и выйдите.

Далее вам необходимо установить расширение PHP натрия — libsodium. Это модуль, который обеспечивает простые и эффективные функции шифрования. Чтобы установить модуль, нам необходимо установить репозиторий EPEL, который предоставляет дополнительные пакеты и зависимости для поддержки его установки.

Чтобы установить EPEL, выполните команду:

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Далее установите дополнительные зависимости.

sudo dnf install php-cli libsodium php-pear php-devel libsodium-devel make

Имея все пакеты и зависимости, установите PHP-модуль libsodium, выполнив следующие команды в указанном порядке.

sudo pecl channel-update pecl.php.net
sudo pecl install libsodium

Вернитесь к файлу php.ini.

sudo vim /etc/php.ini 

Добавьте следующую строку.

extension=sodium.so

Сохранить и выйти.

Чтобы проверить, установлен ли PHP натрия, выполните команду:

php -i | grep sodium

Большой! Теперь приступайте к следующему шагу.

Шаг 2. Создайте базу данных для Magento

Следующий шаг предполагает создание базы данных и пользователя базы данных для Magento. Поэтому войдите на сервер базы данных MariaDB:

sudo mysql -u root -p

Создайте базу данных и пользователя базы данных, выполнив следующие запросы SQL.

CREATE DATABASE magento_db;
CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'password';

Затем предоставьте права пользователю базы данных Magento.

GRANT ALL ON magento_db.* TO 'magento_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Наконец, включите изменения, перезагрузив таблицы грантов.

FLUSH PRIVILEGES;
EXIT;

Ниже приведена сводка запросов SQL.

Шаг 3. Установите и настройте Elasticsearch в Linux

Следующий шаг — установка Elasticsearch. Это распределенная поисковая и аналитическая система с открытым исходным кодом, основанная на Apache Lucene. Он используется для быстрого и удобного поиска, хранения и анализа огромных объемов данных.

Elasticsearch написан на Java, и в качестве предварительного условия нам необходимо сначала установить Java. Мы собираемся установить OpenJDK 11, последнюю стабильную версию OpenJDK.

sudo dnf install openjdk-11-jdk -y

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

java -version

Затем импортируйте ключ Elasticsearch GPG.

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

После этого создайте репозиторий для Elasticsearch.

sudo vim /etc/yum.repos.d/elasticsearch.repo

Вставьте следующий контент.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Сохраните изменения и выйдите из файла репозитория Elasticsearch.

Теперь используйте менеджер пакетов DNF для установки elasticsearch.

sudo dnf install elasticsearch

Для Elasticsearch требуется дополнительная настройка. Поэтому отредактируйте файл elasticsearch.yml.

sudo vim etc/elasticsearch/elasticsearch.yml

Раскомментируйте строки ниже и убедитесь, что для директивы network.host установлено значение 127.0.0.1.

cluster.name: my-application
     node.name: node-1
     path.data: /var/lib/elasticsearch
     network.host: 127.0.0.1

Сохраните изменения и выйдите из файла.

Теперь включите службу Elasticsearch для запуска во время загрузки и запустите службу, используя следующие команды.

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Затем проверьте статус работы Elasticsearch.

sudo systemctl status elasticsearch

Кроме того, вы можете протестировать Elasticsearch, отправив запрос GET с помощью команды curl, как показано.

curl -X GET ‘localhost:9200’

Вы должны получить следующий вывод в формате JSON.

Это подтверждение того, что Elasticsearch успешно установлен.

Шаг 4. Загрузите и установите Composer в Linux

Следующим шагом будет установка composer, менеджера пакетов PHP. Итак, сначала скачайте установочный файл.

sudo curl -sS https://getcomposer.org/installer | php

Затем переместите файл по пути /usr/local/bin/.

sudo mv composer.phar /usr/local/bin/composer

Для подтверждения установки выполните команду:

composer -V

Шаг 5. Загрузите и установите Magento в Linux

Следующим шагом будет загрузка zip-файла Magento. На данный момент последней версией является Magento 2.4.2. Используя утилиту командной строки wget, загрузите установочный файл следующим образом.

wget https://github.com/magento/magento2/archive/refs/tags/2.4.2.zip

После загрузки извлеките содержимое архивного файла.

unzip 2.4.2.zip

Затем переместите распакованный каталог в корневой каталог документа и для простоты переименуйте его в magento2.

sudo mv magento2-* /var/www/html/magento2

Затем перейдите в каталог magento.

cd /var/www/html/magento2

И используйте композитор для установки всех зависимостей PHP.

sudo /usr/local/bin/composer install

ПРИМЕЧАНИЕ. При использовании sudo для запуска композитора вы обязательно получите сообщение об ошибке. Это всего лишь предупреждение, поскольку запуск композитора от имени пользователя root может быть рискованным в зависимости от того, что устанавливается. Так что просто продолжайте и запустите его.

После установки всех зависимостей установите следующие разрешения для каталога magento2.

sudo chown -R apache:apache /var/www/html/magento2
sudo chmod 755 /var/www/html/magento2

По-прежнему находясь в каталоге magento2, вызовите следующие дополнительные разрешения.

sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
sudo find var generated vendor pub/static pub/media app/etc -type d -exec 
sudo chown -R apache:apache .
sudo chmod u+x bin/magento

На этом мы закончили настройку разрешений. Давайте продолжим и настроим Apache для Magento.

Шаг 6. Создайте виртуальный хост Apache для Magento

Далее мы настроим файл виртуального хоста Apache для установки Magento.

sudo vim /etc/httpd/conf.d/magento.conf

Вставьте следующий файл конфигурации.

<VirtualHost *:80>
ServerAdmin [email 
ServerName example.com
DocumentRoot /var/www/html/magento2/
DirectoryIndex index.php

<Directory /var/www/html/magento2/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/httpd/magento_error.log
CustomLog /var/log/httpd/magento_access.log combined
</VirtualHost>

Сохраните изменения и выйдите из файла.

Затем перезапустите HTTP-сервер Apache.

sudo systemctl restart httpd

Шаг 7. Установите Magento и настройте задания Magento Cron

Чтобы установить Magento, выполните следующую команду, которая настраивает нового пользователя, пользователя-администратора и несколько других важных переменных.

sudo -u apache bin/magento setup:install --admin-firstname="james" --admin-lastname="kiarie" --admin-email="[email " --admin-user="admin" --admin-password="Secure@123" --db-name="magento_db" --db-host="localhost" --db-user="magento_user" --db-password="P@ssword@321" --language=en_US --currency=USD --timezone=Europe/London  --cleanup-database --base-url=http://"linuxtechgeek.info"

В самом конце вы получите следующий вывод, указывающий путь к странице администратора.

Прежде чем получить доступ к Magento из браузера, настройте политики SELinux, как показано.

sudo restorecon -R /var/www/magento
sudo setsebool -P httpd_unified 1

Затем откройте браузер и введите полный URL-адрес, как показано.

http://linuxtechgeek.info/admin_yquaor

Вы будете перенаправлены на следующую страницу входа. Войдите в систему, используя учетные данные администратора, как указано ранее, и нажмите «Войти».

Вы попадете на панель управления Magento.

Отсюда вы можете приступить к созданию своего интернет-магазина, управлять ценами на товары, счетами-фактурами и отслеживать активность клиентов, а также выполнять множество других задач. Мы успешно установили Magento на Rocky Linux и AlmaLinux.