Установка Magento · 9 min read · Sep 10, 2025

Как установить платформу электронной коммерции Magento на Ubuntu 24.04

Magento — это платформа электронной коммерции с открытым исходным кодом, написанная на PHP. Magento — это надежное и мощное решение для электронной коммерции, используемое более чем 240 000 продавцов по всему миру. Magento — это универсальная и масштабируемая платформа для создания интернет-магазина. Она подходит для создания небольших, средних и крупных интернет-магазинов. Magento позволяет вам создавать и размещать ваши интернет-магазины на вашем сервере.

В этом руководстве мы проведем вас через установку Magento eCommerce на сервер Ubuntu 22.04.

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

Чтобы начать с этого руководства, убедитесь, что вы подготовили следующее:

  • Ubuntu 24.04 с как минимум 4 ГБ памяти.
  • Пользователь, не являющийся root, с правами sudo.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка зависимостей

Перед тем как перейти к установке, вы должны убедиться, что зависимости Magento установлены. В этом разделе вы установите программные пакеты для Magento, которые включают OpenSearch, Nginx, MySQL сервер, PHP-FPM, Redis, Composer и Git.

Сначала установите пакеты ‘ apt-transport-https ‘ и ‘ gnupg ‘ с помощью следующей команды:

sudo apt install apt-transport-https gnupg -y

Запустите следующую команду, чтобы добавить GPG-ключ и репозиторий OpenSearch для дистрибутивов на базе Debian/Ubuntu.

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

add repo

Теперь обновите индекс пакетов Ubuntu и установите зависимости с помощью следующей команды apt. С помощью этой команды вы установите пакеты OpenSearch, Nginx, MySQL, PHP-FPM, Redis, Composer и Git.

sudo apt update && sudo apt install opensearch nginx mysql-server composer git redis-server php-fpm php-bcmath php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-redis php-ldap php-zip php-curl php-imagick

Введите Y для подтверждения установки.

После установки проверьте все службы, чтобы убедиться, что они работают.

Проверьте службу Nginx с помощью следующей команды. Вы увидите, что служба Nginx работает и включена.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

Теперь проверьте сервер MySQL с помощью команды ниже. Вы можете увидеть в выводе ниже, что сервер MySQL работает.

sudo systemctl is-enabled mysql  
sudo systemctl status mysql

check mysql

Проверьте службу PHP-FPM, используя следующую команду. PHP-FPM должен работать и включаться автоматически.

sudo systemctl is-enabled php8.3-fpm  
sudo systemctl status php8.3-fpm

check php-fpm

Проверьте сервер Redis с помощью команды ниже. Вы должны увидеть, что Redis работает и включен.

sudo systemctl is-enabled redis-server  
sudo systemctl status redis-server

check redis

Наконец, проверьте версию Composer с помощью следующей команды. У вас должна быть установлена версия Composer v2.7 на вашей системе.

sudo -u www-data composer -v

check composer

Настройка OpenSearch

После установки зависимостей вам нужно настроить OpenSearch. Magento использует OpenSearch для расширенного поиска продуктов и индексации. В этом разделе вы увеличите максимальный объем памяти по умолчанию и отключите плагин безопасности OpenSearch (только для среды разработки).

Откройте файл ‘ /etc/opensearch/jvm.options ‘ с помощью следующего редактора nano.

sudo nano /etc/opensearch/jvm.options

Измените выделение памяти по умолчанию для OpenSearch по мере необходимости. В этом случае мы будем использовать 2 ГБ для OpenSearch.

-Xms2g  
-Xmx2g

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

Теперь откройте конфигурацию OpenSearch по умолчанию ‘ /etc/opensearch/opensearch.yml ‘ с помощью редактора nano.

sudo nano /etc/opensearch/opensearch.yml

Добавьте следующую конфигурацию, чтобы отключить плагин безопасности в OpenSearch. Для демонстрации вы можете отключить это, но для производства необходимо включить плагин безопасности и настроить сертификаты TLS для вашей установки OpenSearch.

plugins.security.disabled: true

Когда закончите, сохраните и выйдите из файла.

Затем выполните команду ниже, чтобы перезагрузить менеджер systemd. После установки OpenSearch вам необходимо перезагрузить менеджер systemd.

sudo systemctl daemon-reload

Теперь запустите, включите и проверьте службу Opensearch с помощью следующей команды:

sudo systemctl enable --now opensearch  
sudo systemctl status opensearch

В следующем выводе вы можете увидеть, что OpenSearch работает и включен.

check opensearch servicer

Наконец, проверьте вашу установку OpenSearch с помощью следующей команды ‘ curl ‘. Это покажет вам основную информацию о вашей установке OpenSearch.

curl -X GET http://localhost:9200

Ниже вы можете увидеть, что OpenSearch 2.14 работает на сервере Ubuntu.

test opensearch

Настройка PHP-FPM

В этом разделе вы измените конфигурацию PHP-FPM по умолчанию и включите расширение Opcache через файл ‘php.ini’. Вы увеличите memory_limit по умолчанию и настроите опцию date.timezone.

Откройте конфигурацию PHP-FPM ‘ /etc/php/8.3/fpm/php.ini’ с помощью следующего редактора nano.

sudo nano /etc/php/8.3/fpm/php.ini

Измените конфигурацию по умолчанию следующим образом. Также настройте date.timezone и memory_limit в соответствии с вашей текущей серверной средой.

date.timezone = Europe/Amsterdam

Когда закончите, сохраните файл и выйдите.

Теперь выполните команду ниже, чтобы перезапустить службу PHP-FPM и применить ваши изменения.

sudo systemctl restart php8.3-fpm

Настройка MySQL сервера

Теперь, когда вы настроили PHP-FPM, в следующем разделе вы установите сервер MySQL и создадите новую базу данных и пользователя для Magento.

Обеспечьте безопасность вашей установки MySQL, выполнив команду ниже.

sudo mysql_secure_installation

Ниже вам будет предложено ответить на вопросы о конфигурациях сервера MySQL:

  • Введите y, чтобы включить компонент VALIDATE PASSWORD.
  • Введите 1, чтобы установить уровень сложности пароля на MEDIUM.
  • Введите y, когда вас попросят изменить пароль root MySQL.
  • Введите y, чтобы удалить пользователя по умолчанию.
  • Введите y, чтобы запретить удаленный вход для пользователя root MySQL.
  • Введите y снова, чтобы удалить тестовую базу данных по умолчанию из MySQL.
  • Наконец, введите y, чтобы перезагрузить привилегии таблиц MySQL и применить изменения.

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

Войдите в сервер MySQL с помощью следующей команды. Введите свой пароль root MySQL, когда вас попросят.

sudo mysql -u root -p

Теперь выполните следующие запросы, чтобы создать новую базу данных и пользователя для Magento. В этом примере вы создадите нового пользователя и базу данных ‘ magento ‘ с паролем ‘ M4gentoPassw0rd__ ‘.

Убедитесь, что вы изменили следующие данные на свои. Также пароль MySQL для Magento должен содержать специальный символ, число и заглавную букву.

CREATE DATABASE magento;  
CREATE USER 'magento'@'localhost' IDENTIFIED BY 'M4gentoPassw0rd__';  
GRANT ALL PRIVILEGES ON magento.* to 'magento'@'localhost';  
FLUSH PRIVILEGES;

create database and user

Затем выполните следующий запрос, чтобы проверить привилегии для пользователя ‘ magento ‘. Убедитесь, что ваш пользователь может получить доступ к базе данных ‘ magento ‘.

SHOW GRANTS FOR magento@localhost;

Наконец, введите quit, чтобы выйти из сервера MySQL.

show mysql user priv

Установка Magento через командную строку

В этом разделе вы загрузите исходный код Magento и установите зависимости PHP с помощью Composer. Затем вы установите Magento с помощью командной строки. В конце вы сгенерируете crontab для Magento.

Перейдите в директорию ‘ /var/www ‘ и загрузите исходный код Magento с помощью следующей команды wget. Проверьте страницу GitHub Magento и получите URL последней версии Magento.

cd /var/www  
wget https://github.com/magento/magento2/archive/refs/tags/2.4.7.tar.gz

После завершения загрузки извлеките исходный код Magento и переименуйте извлеченную директорию в ‘magento2’. Таким образом, ваша установка Magento должна находиться по адресу ‘/var/www/magento2’.

tar -xf 2.4.7.tar.gz  
mv magento2-* magento2

Теперь выполните команду ниже, чтобы создать дополнительные директории для Composer и изменить владельца директории ‘ /var/www ‘ на пользователя ‘ www-data ‘.

sudo mkdir -p /var/www/{.config,.cache}  
sudo chown -R www-data:www-data /var/www

Затем выполните следующую команду, чтобы предоставить пользователю ‘ www-data ‘ разрешение на чтение, запись и выполнение в директории ‘ /var/www/magento2 ‘.

sudo chmod u+rwx /var/www/magento2

Затем перейдите в директорию ‘ /var/www/magento2 ‘ и установите зависимости PHP для Magento с помощью команды Composer ниже. Это обеспечит установку ваших зависимостей для Magento.

cd /var/www/magento2  
sudo -u www-data composer install

После установки зависимостей выполните команду ниже, чтобы предоставить пользователю ‘ www-data ‘ разрешение ‘ rwx ‘ на директории ‘ generated ‘ и ‘ var ‘ внутри корня веб-сайта Magento.

sudo chown -R www-data:www-data /var/www/magento2/var /var/www/magento2/generated  
sudo chmod u+rwx /var/www/magento2/var /var/www/magento2/generated  
sudo chmod g+rw /var/www/magento2/var /var/www/magento2/generated

Теперь выполните следующую команду, чтобы начать установку Magento. Убедитесь, что вы изменили URL-адреса, базу данных MySQL, пользователя администратора и пароль для вашей установки Magento.

sudo -u www-data bin/magento setup:install \  
--base-url=http://howtoforge.local \  
--db-host=localhost \  
--db-name=magento2 \  
--db-user=magento \  
--db-password=M4gentoPassw0rd__ \  
--admin-firstname=bob \  
--admin-lastname=admin \  
--admin-email=[email protected] \  
--admin-user=bob \  
--admin-password=BobAdm1nP4ssword \  
--currency=USD \  
--timezone=Europe/Amsterdam \  
--use-rewrites=1 \  
--session-save=redis \  
--search-engine=opensearch \  
--opensearch-host=127.0.0.1 \  
--opensearch-port=9200 \  
--opensearch-enable-auth=0 \  
--opensearch-index-prefix=magento22 \  
--opensearch-timeout=30

Ниже вы можете увидеть, как начинается установка Magento:

install magento

После завершения вы увидите вывод ‘ Установка Magento завершена.’ и URL-адрес администратора для вашей установки Magento. Убедитесь, что вы сохранили сгенерированный URL для страницы администратора Magento.

installation complete

Чтобы завершить установку Magento, выполните следующую команду, чтобы сгенерировать crontab для Magento и запустить индексацию для Magento.

sudo -u www-data bin/magento cron:install  
sudo -u www-data bin/magento cron:run --group index

Вы можете проверить список crontab для пользователя ‘www-data’ с помощью следующей команды:

crontab -u www-data -l

Вы можете увидеть ниже, что crontab для Magento сгенерирован.

Наконец, выполните команду ниже, чтобы очистить кэш вашей установки Magento. С этим вы завершили установку Magento, теперь вам нужно настроить веб-сервер Nginx.

sudo -u www-data bin/magento cache:clean

Настройка блока сервера Nginx

На этом этапе ваша установка Magento завершена, теперь вы создадите новый сервер Nginx для запуска вашей установки Magento. Убедитесь, что у вас есть доменное имя, указывающее на IP-адрес вашего сервера.

Создайте новую конфигурацию блока сервера Nginx ‘ /etc/nginx/sites-available/magento.conf ‘ с помощью редактора nano.

sudo nano /etc/nginx/sites-available/magento.conf

Вставьте следующую конфигурацию и убедитесь, что вы изменили опцию server_name на ваше доменное имя Magento.

upstream fastcgi_backend {  
 server unix:/run/php/php8.3-fpm.sock;  
}  
  
server {  
 listen 80;  
 listen [::]:80;  
 server_name howtoforge.local;  
 set $MAGE_ROOT /var/www/magento2/;  
 include /var/www/magento2/nginx.conf.sample;  
 client_max_body_size 2M;  
  
 access_log /var/log/nginx/magento.access;  
 error_log /var/log/nginx/magento.error;  
}

Когда закончите, сохраните и выйдите из файла.

Теперь выполните команду ниже, чтобы активировать блок сервера ‘ magento.conf ‘ и проверить синтаксис вашего Nginx. Убедитесь, что вы получили вывод ‘ синтаксис в порядке - тест успешен ‘.

sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/  
sudo nginx -t

Наконец, перезапустите службу Nginx с помощью следующей команды, чтобы применить вашу новую конфигурацию блока сервера. После выполнения команды ваша установка Magento будет доступна.

sudo systemctl restart nginx

Защита Magento с помощью HTTPS

Если вы запускаете Magento в публичном домене, вы должны защитить его с помощью HTTPS. В этом разделе вы защитите вашу установку Magento с помощью HTTPS через Certbot и Letsencrypt.

Установите Certbot и плагин Certbot Nginx с помощью следующей команды. Введите Y для подтверждения установки.

sudo apt install certbot python3-certbot-nginx

После завершения установки выполните команду ниже, чтобы сгенерировать SSL/TLS сертификаты от Letsencrypt. Убедитесь, что вы изменили адрес электронной почты и доменное имя ниже на свои данные.

sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

Ваша установка Magento должна быть автоматически защищена с помощью HTTPS, когда процесс завершится. Ваши SSL/TLS сертификаты находятся в директории ‘ /etc/letsencrypt/live/domain.com ‘.

Доступ к Magento

Откройте веб-браузер и посетите ваше доменное имя Magento, например https://howtoforge.local. Если ваша установка успешна, вы увидите страницу индекса Magento по умолчанию, как показано ниже.

magneto home

Теперь посетите URL-адрес администрирования Magento, который является https://howtoforge.local/admin_ze87mmj. Посмотрите процесс установки.

Введите своего пользователя администратора и пароль для Magento и нажмите Войти.

login magento

Если все прошло успешно, вы должны получить панель управления администратора Magento, как показано ниже:

magento dashboard

Заключение

Поздравляем! Вы завершили установку Magento eCommerce на сервере Ubuntu 24.04. У вас установлена Magento с LEMP Stack (Linux, Nginx, MySQL и PHP-FPM), OpenSearch и Redis. Вы также защитили Magento с помощью HTTPS через Certbot и Letsencrypt.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.