Magento – платформа электронной коммерции с открытым исходным кодом, построенная на PHP. Это ведущий игрок в мире электронной коммерции. Adobe приобрела компанию в 2018 году. Magento разработан, чтобы помочь компаниям развиваться, его версии ориентированы на организации малого, среднего и корпоративного уровня. Платформа с открытым исходным кодом включает встроенные функциональные возможности, такие как интегрированное оформление заказа, оплата и доставка, управление каталогом, учетные записи клиентов и т.д. В этой статье показано, как установить Magento 2 на Ubuntu 24.04.
Предварительные требования
- На Ubuntu 24.04 VPS с объемом оперативной памяти не менее 4 ГБ.
- ROOT-доступ по SSH или пользователь с привилегиями sudo.
Соглашения
# – данные команды должны выполняться с правами 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. Если вам понравился этот пост, пожалуйста, поделитесь им со своими друзьями в социальных сетях или оставьте комментарий в разделе комментариев. Спасибо.