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

Magento поставляется в двух основных редакциях: Magento Open Source (ранее известная как Magento Community Edition) и Magento Commerce (ранее известная как Magento Enterprise Edition). Редакция Open Source бесплатна для использования и предоставляет базовые функции электронной коммерции, в то время как редакция Commerce является платной версией, которая включает в себя более продвинутые функции, такие как сегментация клиентов, целевые акции и расширенные маркетинговые инструменты.

В этом уроке мы покажем вам, как установить версию Open Source Magento 2.4.7 на ОС Ubuntu 24.04.

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

Требования Magento 2.4.7

Шаг 1: Обновление операционной системы

Обновите Ubuntu 24.04 чтобы убедиться, что все существующие пакеты обновлены:

# apt update && apt upgrade

Шаг 2: Установка веб-сервера Apache

Чтобы установить веб-сервер Apache, выполните следующую команду:

# apt install apache2

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

# systemctl start apache2
# systemctl enable apache2

Проверьте статус службы Apache с помощью статус systemctl команда:

# systemctl status apache2

Вывод:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running)
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 22413 (apache2)
      Tasks: 6 (limit: 2130)
     Memory: 16.8M (peak: 17.0M)
        CPU: 658ms
     CGroup: /system.slice/apache2.service
             ├─22413 /usr/sbin/apache2 -k start
             ├─22468 /usr/sbin/apache2 -k start
             ├─22469 /usr/sbin/apache2 -k start
             ├─22470 /usr/sbin/apache2 -k start

Шаг 3: Установите PHP и расширения PHP

Magento 2.4.7 поставляется с поддержкой последней версии PHP 8.3, в то время как PHP 8.2 по-прежнему полностью поддерживается. По умолчанию PHP 8.3 включен в репозиторий Ubuntu 24.04 по умолчанию.

Установить PHP 8.3 и необходимые расширения PHP можно с помощью следующей команды:

# apt install php php-exif php-bz2 php-bcmath php-intl php-soap php-zip php-curl php-mbstring php-mysql php-gd php-xml

Проверьте, установлен ли PHP.

php -v
Output:
PHP 8.3.0-1ubuntu1 (cli) (built: Jan 19 2024 14:00:34) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.0, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.0-1ubuntu1, Copyright (c), by Zend Technologies

Обновить файл php.ini

Теперь пришло время увеличить значения в файле php.ini.

Открыть php.ini файл:

# nano /etc/php/8.3/apache2/php.ini

Измените следующие данные:

short_open_tag = On
memory_limit = 512M
upload_max_filesize = 128M
max_execution_time = 3600

Тогда сохраните это php.ini файл.

После этого необходимо перезапустить веб-сервер Apache, чтобы конфигурация вступила в силу:

# systemctl restart apache2

Шаг 4: Установите MySQL и создайте базу данных

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

# apt install mysql-server

Проверьте статус службы MySQL с помощью статус systemctl команда:

# systemctl status mysql

Вывод:

● mysql.service - MySQL Community Server
     Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
     Active: active (running)
    Process: 2907 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 2919 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 2130)
     Memory: 362.8M (peak: 379.2M)
        CPU: 1.737s
     CGroup: /system.slice/mysql.service
             └─2919 /usr/sbin/mysqld

По умолчанию MySQL не защищен. Вы можете защитить MySQL с помощью mysql_безопасная_установка сценарий:

# mysql_secure_installation

Настройте его следующим образом:

- Set root password? [Y/n] Y
- Remove anonymous users? [Y/n] Y
- Disallow root login remotely? [Y/n] Y
- Remove test database and access to it? [Y/n] Y
- Reload privilege tables now? [Y/n] Y

Теперь выполните команду ниже, чтобы войти в оболочку MySQL.

# mysql -u root -p

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

mysql> CREATE DATABASE magentodb;
mysql> CREATE USER 'magentouser'@'localhost' IDENTIFIED BY 'Str0ngPa$w0rd';
mysql> GRANT ALL ON magentodb.* TO 'magentouser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT

Шаг 5: Установка Elasticsearch

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

Импортируйте ключ Elasticsearch GPG:

# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

Добавьте репозиторий Elasticsearch:

# echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

Обновить apt Менеджер пакетов и установка Elasticsearch:

# apt update && apt install elasticsearch

Затем запустите и включите службу:

# systemctl start elasticsearch
# systemctl enable elasticsearch

Открой elasticsearch.yml файл:

# nano  /etc/elasticsearch/elasticsearch.yml

Затем раскомментируйте строки и обновите значения:

node.name: "ubuntu"
cluster.name: magento 2.4.7
network.host: 127.0.0.1
http.port: 9200
xpack.security.enabled: false

После этого необходимо перезапустить службу Elasticsearch, чтобы конфигурация вступила в силу:

# systemctl restart elasticsearch

Чтобы проверить правильность работы Elasticsearch, воспользуйтесь завиток команда:

# curl -X GET "localhost:9200/"

Если Elasticsearch работает правильно, результат должен быть таким:

{
  "name" : "ubuntu",
  "cluster_name" : "magento 2.4.7",
  "cluster_uuid" : "nKzTibHRT_ahq6lCsWk6Ew",
  "version" : {
    "number" : "8.13.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "9287f29bba5e270bd51d557b8daccb7d118ba247",
    "build_date" : "2024-03-29T10:05:29.787251984Z",
    "build_snapshot" : false,
    "lucene_version" : "9.10.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

Шаг 6: Установка Composer

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

# curl -sS https://getcomposer.org/installer | php

Далее переместите файл композитора в папку /usr/local/bin путь:

# mv composer.phar  /usr/local/bin/composer
# chmod +x   /usr/local/bin/composer

Проверьте установленную версию Composer:

# composer --version

Output:
Composer version 2.7.2 2024-03-11 17:12:18

Шаг 7: Установка Magento 2.4.7

В большинстве случаев рекомендуется устанавливать Magento с помощью API путем создания ключа доступа.

Для получения ключей доступа необходимо создать учетную запись в Magento.

Затем для генерации ключей доступа перейдите по ссылке:

Мой профиль > Торговая площадка > Мои продукты > Ключи доступа

После генерации ключей доступа выполните следующую команду для загрузки Magento 2.4.7:

# composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.7 /var/www/magento2

Имя пользователя : Твой Открытый ключ

Пароль : Твой Закрытый ключ

Перейдите к Magento каталог:

# cd /var/www/magento2

Chmod кэш и папка статического содержимого:

# find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +

Измените владельца каталога magento2 на пользователя веб-сервера, а также разрешения:

# chown -R www-data:www-data /var/www/magento2
# chmod -R 755 /var/www/magento2

Теперь установите Magento с помощью команды composer, введите:

# bin/magento setup:install \
--base-url=http://your-domain.com \
--db-host=localhost \
--db-name=magentodb \
--db-user=magentouser \
--db-password='Str0ngPa$w0rd' \
--admin-firstname=Admin \
--admin-lastname=User \
[email protected] \
--admin-user=admin \
--admin-password=admin123 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1

После процесса установки вы увидите ссылку администратора вашего сайта Magento.

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

Шаг 8: Настройка Apache для Magento 2.4.7

Выполните команду ниже, чтобы создать новый файл VirtualHost в /etc/apache2/sites-available/ каталог:

# nano /etc/apache2/sites-available/magento2.conf

Вставьте содержимое, как показано ниже:

 <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/magento2/pub
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    <Directory /var/www/magento2/> 
        AllowOverride All
    </Directory> 

    ErrorLog /var/log/apache2/your-domain.com-error_log
    CustomLog /var/log/apache2/your-domain.com-access_log common

 </VirtualHost>

Не забудьте заменить your-domain.com с доменным именем вашего сервера.

Сохраните и выйдите из файла конфигурации.

Далее выполните следующую команду для включения переписать модуль:

# a2enmod rewrite

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

# a2ensite magento2.conf

Чтобы изменения вступили в силу, перезапустите веб-сервер Apache:

# systemctl restart apache2

Шаг 9: Получите доступ к приложению Magento 2.4.7

Откройте браузер и введите свой домен. http://your-domain.com

Домашняя страница Magento 2.4.7