-- Leo's gemini proxy
-- Connecting to byzoni.org:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini;lang=ru-RU
title: "Как установить Magento 2 на Ubuntu 24.04"
date: 2024-04-27T09:35:50
tags: ["Magento", "ubuntu"]
categories: ["linux-tutorials"]
Magento — это платформа электронной коммерции с открытым исходным кодом, построенная на PHP. Это ведущий игрок в мире электронной коммерции. Adobe приобрела компанию в 2018 году. Magento призван помочь развитию бизнеса, а версии предназначены для малых, средних и корпоративных организаций. Платформа с открытым исходным кодом включает в себя встроенные функции, такие как интегрированная оплата, оплата и доставка, управление каталогом, учетные записи клиентов и т.д. В этом сообщении блога мы шаг за шагом объясним, как установить Magento на Ubuntu 24.04.
Сервер с Ubuntu 24.04 в качестве ОС
Требуется полный доступ к SSH root или пользователь с привилегиями sudo
Имя домена или поддомена, указывающее на IP-адрес вашего сервера.
# — данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo. $ – данные команды должны выполняться от имени обычного пользователя
Во-первых, вам нужно будет войти в свой Ubuntu 24.04 VPS через 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
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
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`:
Increase memory_limit to 512M Set short_open_tag to On Set upload_max_filesize to 128M Increase max_execution_time to 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.service
В этой статье мы будем использовать 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; }
Сохраните файл, затем выйдите.
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.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/" }
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.
$ mysql
Создайте базу данных, используя
mysql> CREATE DATABASE magento_db;
Создать нового пользователя
mysql> CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'YourStrongPassword';
Чтобы предоставить все привилегии в базе данных с помощью
mysql> GRANT ALL PRIVILEGES ON magento_db.* TO 'magento_user'@'localhost';
Сбросьте привилегии и выйдите из оболочки
mysql> FLUSH PRIVILEGES; mysql> \q
На этом этапе мы собираемся установить 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
Перейдите на официальный сайт Magento и создайте учетную запись или войдите в систему, если она у вас уже есть. Обратите внимание, что, согласно их веб-сайту, на данный момент мы можем установить только Magento 2.4.7 на Ubuntu 24.04.
$ composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.7 /opt/magento/website
После загрузки всех необходимых файлов мы можем установить их, выполнив следующую команду.
$ cd /opt/magento/website
$ 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-адрес, по которому вы будете управлять своим магазином.
[SUCCESS]: Magento installation complete. [SUCCESS]: Magento Admin URI: /admin_rb3sWmp Nothing to import.
Если вы не скопировали URL-адрес со своей административной страницы, вы можете получить его с помощью:
$ php /bin/magento info:adminuri
Прежде чем войти в систему, мы можем сначала отключить двухфакторную аутентификацию, а затем включить ее снова. Нам нужно запустить эти команды, чтобы отключить модули 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_rb3sWmp, используя наш любимый веб-браузер. Обратите внимание, что для доступа к серверной части вы должны использовать собственную ссылку.
После входа в систему мы видим панель управления Magento.
Magento требует запуска заданий cron для автоматизации важных системных функций. Давайте выполним команду ниже, чтобы создать задания cron Magento под пользователем magento.
$ php bin/magento cron:install
Поздравляем! Вы успешно установили Magento на Ubuntu 24.04.
Теперь ваша очередь извлечь из этого максимум пользы.
Если вам понравился этот пост о том, как установить Magento на Ubuntu 24.04, поделитесь им с друзьями в социальных сетях. Спасибо.
-- Response ended
-- Page fetched on Mon May 20 08:59:43 2024