ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить Magento 2 на Ubuntu 24.04

Как установить Magento 2 на Ubuntu 24.04

Magento – платформа электронной коммерции с открытым исходным кодом, построенная на PHP. Это ведущий игрок в мире электронной коммерции. Adobe приобрела компанию в 2018 году. Magento разработан, чтобы помочь компаниям развиваться, его версии ориентированы на организации малого, среднего и корпоративного уровня. Платформа с открытым исходным кодом включает встроенные функциональные возможности, такие как интегрированное оформление заказа, оплата и доставка, управление каталогом, учетные записи клиентов и т.д. В этой статье показано, как установить Magento 2 на Ubuntu 24.04.

 

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

 

Соглашения

# – данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo
$ – данные команды должны выполняться от имени обычного пользователя

 

Шаг 1. Войдите на сервер

Сначала войдите на свой сервер Ubuntu 24.04 через SSH как пользователь root:

ssh root@IP_Address -p Port_number

 

Вы должны заменить ‘IP_Address‘ и ‘Port_number‘ на соответствующий IP-адрес вашего сервера и номер порта SSH. Кроме того, замените ‘root’ именем системного пользователя с правами sudo.

Вы можете проверить, установлена ли у вас на сервере соответствующая версия Ubuntu, с помощью следующей команды:

# lsb_release -a

 

Вы должны получить этот результат:

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Noble Numbat
Release: 24.04
Codename: noble

 

Шаг 2. Добавьте системного пользователя

Magento будет запускаться новым системным пользователем с именем magento. Давайте сейчас создадим нового системного пользователя, выполним эту команду ниже.

/usr/sbin/adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Magento user' \
   --group \
   --home /opt/magento \
magento

 

Затем давайте дадим новому пользователю пароль.

# passwd magento

 

Вам будет предложено ввести пароль для пользователя ‘magento’ дважды, пароль не будет отображаться на вашем экране. После этого мы можем предоставить новому пользователю привилегии sudo.

# usermod -aG sudo magento

 

Теперь давайте переключимся на нового пользователя. С этого момента команды будет выполнять новый пользователь.

# su - magento

 

Шаг 3. Установите PHP

Ubuntu 24.04 поставляется с PHP 8.3, и на данный момент только Magento 2.4.7-beta3 поддерживает эту версию PHP. Давайте установим PHP 8.3 и его расширения.

$ sudo apt install php-{bcmath,common,curl,fpm,gd,intl,mbstring,mysql,soap,xml,xsl,zip,cli}

 

Далее нам нужно изменить следующие настройки в файле php.ini:

Увеличьте memory_limit до 512 МБ
Установите short_open_tag равным On
Установите upload_max_filesize равным 128 МБ
Увеличьте max_execution_time до 3600

 

Давайте внесем изменения, выполнив эти команды

$ sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.3/fpm/php.ini
$ sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/8.3/fpm/php.ini
$ sudo sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php/8.3/fpm/php.ini
$ sudo sed -i "s/max_execution_time = .*/max_execution_time = 3600/" /etc/php/8.3/fpm/php.ini

 

Затем давайте создадим пул PHP-FPM.

$ sudo nano /etc/php/8.3/fpm/pool.d/magento.conf

 

Нам нужно вставить в файл следующее.

user = magento
group = magento

listen = /run/php/magento.sock
listen.owner = magento
listen.group = magento
pm = ondemand
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 10

 

Сохраните файл, а затем выйдите из редактора файлов и не забудьте перезапустить php-службу fpm

$ sudo systemctl restart php8.3-fpm

 

Шаг 4. Установите Nginx

В этой статье мы будем использовать Nginx в качестве веб-сервера. Давайте установим его сейчас.

$ sudo apt install nginx -y

 

Затем нам нужно создать серверный блок nginx для нашего веб-сайта Magento.

$ sudo nano /etc/nginx/sites-enabled/magento.conf

 

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

upstream fastcgi_backend {
server unix:/run/php/magento.sock;
}

server {
server_name yourdomain.com;
listen 80;
set $MAGE_ROOT /opt/magento/website;
set $MAGE_MODE production;

access_log /var/log/nginx/magento-access.log;
error_log /var/log/nginx/magento-error.log;

include /opt/magento/website/nginx.conf.sample;
}

 

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

 

Шаг 5. Установите OpenSearch

Magento теперь поддерживает OpenSearch в качестве альтернативы Elasticsearch. На этом шаге мы установим OpenSearch и изменим его настройки. Давайте выполним приведенные ниже команды, чтобы продолжить.

$ sudo apt install curl gnupg2
$ curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring
$ echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list
$ sudo apt update

 

С добавлением информации о репозитории мы можем перечислить все доступные версии OpenSearch:

$ sudo apt list -a opensearch

 

Команда вернет этот вывод:

magento@ubuntu24:~$ sudo apt list -a opensearch
Listing… Done
opensearch/stable,now 2.12.0 amd64 [residual-config]
opensearch/stable 2.11.1 amd64 [residual-config]
opensearch/stable 2.11.0 amd64 [residual-config]
opensearch/stable 2.10.0 amd64 [residual-config]
opensearch/stable 2.9.0 amd64 [residual-config]
opensearch/stable 2.8.0 amd64 [residual-config]
opensearch/stable 2.7.0 amd64 [residual-config]
opensearch/stable 2.6.0 amd64 [residual-config]
opensearch/stable 2.5.0 amd64 [residual-config]

 

Теперь давайте установим OpenSearch 2.11.1, выполнив эту команду ниже

$ sudo apt install opensearch=2.11.1

 

По умолчанию OpenSearch использует SSL, но Magento его не использует. Итак, нам нужно отключить плагин SSL в OpenSearch для успешной установки Magento:

$ sudo nano /etc/opensearch/opensearch.yml

 

И добавить это в конец yml-файла:

plugins.security.disabled: true

 

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

$ sudo systemctl enable --now opensearch

 

Как только он будет запущен, мы можем запустить эту команду для проверки.

$ curl -X GET localhost:9200

 

Команда вернет результат, аналогичный этому:

{
  "name" : "ubuntu24.andreyex.ru",
  "cluster_name" : "opensearch",
  "cluster_uuid" : "zYOQTFzMQxmhhP29-u9eHA",
  "version" : {
    "distribution" : "opensearch",
    "number" : "2.11.1",
    "build_type" : "deb",
    "build_hash" : "6b1986e964d440be9137eba1413015c31c5a7752",
    "build_date" : "2023-11-29T21:43:44.221253956Z",
    "build_snapshot" : false,
    "lucene_version" : "9.7.0",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

 

Шаг 6. Установите сервер MySQL

Ubuntu 24.04 поставляется с MySQL 8.0 и MariaDB 10.11. На момент написания этой статьи Magento поддерживает только MariaDB версии 10.6 и ниже. Итак, нам нужно установить сервер MySQL вместо MariaDB. Если вы установите MariaDB 10.11, то при установке Magento вы получите сообщение, подобное этому:

Current version of RDBMS is not supported. Used Version: 10.11.6-MariaDB-2. Supported versions: MySQL-8, MySQL-5.7, MariaDB-(10.2-10.6)
$ sudo apt install mysql-server

 

После установки мы можем создать новую базу данных и ее пользователя для нашего веб-сайта Magento.

$ sudo mysql
mysql> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'm0d1fyth15';
mysql> CREATE DATABASE magentodb;
mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> \q

 

Шаг 7. Установите Composer

На этом шаге мы собираемся установить Composer. Установка довольно проста.

$ curl -sS https://getcomposer.org/installer -o composer-setup.php
$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

 

Вот и все. Чтобы проверить версию установленного Composer, вы можете запустить эту команду:

$ composer -V

 

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

Перейдите на официальный веб-сайт Magento и создайте учетную запись или войдите в систему, если она у вас уже есть. Пожалуйста, обратите внимание, что, согласно их веб-сайту, на данный момент мы можем установить Magento 2.4.7-beta3 только на Ubuntu 24.04.

$ composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.7-beta3 /opt/magento/website

 

После того, как все необходимые файлы будут загружены, мы можем установить их, выполнив эту команду ниже.

$ cd /opt/magento/website
$ bin/magento setup:install \
--base-url=http://yourdomain.com \
--db-host=localhost \
--db-name=magentodb \
--db-user=magento \
--db-password=m0d1fyth15 \
--admin-firstname=Magento \
--admin-lastname=Admin \
--admin-email=admin@yourdomain.com \
--admin-user=admin \
--admin-password=m0d1fyth15 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--search-engine=opensearch

 

В конце установки вы увидите результат, аналогичный этому:

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_0ty6lcq
Nothing to import.

 

Перед входом в серверную часть мы можем сначала отключить двухфакторную аутентификацию, а позже включить ее снова. Нам нужно выполнить эти команды, чтобы отключить модули 2FA.

$ php bin/magento module:disable Magento_AdminAdobeImsTwoFactorAuth
$ php bin/magento module:disable Magento_TwoFactorAuth
$ php bin/magento setup:di:compile
$ php bin/magento cache:clean

 

На этом этапе Magento установлен, и мы можем перейти к серверной части по адресу http://yourdomain.com/admin_0ty6lcq используя наш любимый веб-браузер. Пожалуйста, обратите внимание, что для доступа к серверной части вы должны использовать свою собственную ссылку.

После входа в систему мы можем увидеть панель управления Magento.

 

Шаг 9. Настройка заданий Cron

Magento требует запуска заданий cron для автоматизации важных системных функций. Давайте выполним приведенную ниже команду для создания cronjobs Magento в пользовательском magento.

$ php bin/magento cron:install

 

Поздравляем! Вы успешно установили Magento на Ubuntu 24.04.

 

PS. Если вам понравился этот пост, пожалуйста, поделитесь им со своими друзьями в социальных сетях или оставьте комментарий в разделе комментариев. Спасибо.

Exit mobile version