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

Предпосылки

  • Сервер с Ubuntu 24.04 в качестве ОС
  • Требуется полный доступ к SSH root или пользователь с привилегиями sudo
  • Имя домена или поддомена, указывающее на IP-адрес вашего сервера.

Конвенции

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

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

Во-первых, вам нужно будет войти в свой Ubuntu 24.04 VPS через SSH как пользователь root:

1
ssh root@IP_Address -p Port_number

Вам нужно будет заменить «IP_Address» и «Port_number» на фактический IP-адрес вашего сервера и номер порта SSH. Кроме того, замените «root» на имя пользователя системы с привилегиями sudo.

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

1
# lsb_release -a

Он вернет вывод, подобный этому.

1
2
3
4
5
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Noble Numbat
Release: 24.04
Codename: noble

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

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

1
2
3
4
5
6
7
/usr/sbin/adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Magento user' \
   --group \
   --home /opt/magento \
magento

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

1
# passwd magento

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

1
# usermod -aG sudo magento

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

1
# su - magento

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

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

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

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

1
2
3
4
Increase memory_limit to 512M
Set short_open_tag to On
Set upload_max_filesize to 128M
Increase max_execution_time to 3600

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

1
2
3
4
$ 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.

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

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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.

1
$ sudo systemctl restart php8.3-fpm.service

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

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

1
$ sudo apt install nginx -y

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

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

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
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 и изменим его настройки. Давайте выполним команды ниже, чтобы продолжить.

1
$ sudo apt install curl gnupg2
1
$ curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring
1
$ 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
1
$ sudo apt update

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

1
$ sudo apt list -a opensearch

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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, выполнив следующую команду:

1
$ sudo apt install opensearch=2.11.1

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

1
$ sudo nano /etc/opensearch/opensearch.yml

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

1
plugins.security.disabled: true

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

1
$ sudo systemctl enable --now opensearch

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

1
$ curl -X GET localhost:9200

Команда вернет вывод, подобный этому:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
{
  "name" : "ubuntu24.example.com",
  "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 вы получите такое сообщение:

1
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)
1
$ sudo apt install mysql-server

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

1
$ mysql

Создайте базу данных, используя

1
mysql> CREATE DATABASE magento_db;

Создать нового пользователя

1
mysql> CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'YourStrongPassword';

Чтобы предоставить все привилегии в базе данных с помощью

1
mysql> GRANT ALL PRIVILEGES ON magento_db.* TO 'magento_user'@'localhost';

Сбросьте привилегии и выйдите из оболочки

1
2
mysql> FLUSH PRIVILEGES;
mysql> \q

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

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

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

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

1
$ composer -V

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

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

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

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

1
$ cd /opt/magento/website
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$ bin/magento setup:install \
--base-url=http://yourdomain.com \
--db-host=localhost \
--db-name=magento_db \
--db-user=magento_user \
--db-password=YourStrongPassword \
--admin-firstname=Magento \
--admin-lastname=Admin \
--admin-email=admin@yourdomain.com \
--admin-user=admin \
--admin-password=YourStrongPassword \
--language=ru_RU \
--currency=RUB \
--timezone=Europe/Moscow \
--use-rewrites=1 \
--search-engine=opensearch

После запуска установщика и его завершения вы увидите выходные данные с URL-адресом вашего личного администратора. Запишите это, поскольку это URL-адрес, по которому вы будете управлять своим магазином.

1
2
3
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_rb3sWmp
Nothing to import.

Если вы не скопировали URL-адрес со своей административной страницы, вы можете получить его с помощью:

1
$ php /bin/magento info:adminuri

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

1
2
3
4
$ 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_rb3sWmp, используя наш любимый веб-браузер. Обратите внимание, что для доступа к серверной части вы должны использовать собственную ссылку.

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

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

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

1
$ php bin/magento cron:install

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

Теперь ваша очередь извлечь из этого максимум пользы.

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