Как установить 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.