Поиск по сайту:

Как установить Magento на Debian 11


На этой странице

  1. Предпосылки
  2. Установите Apache, PHP и другие необходимые расширения
  3. Установка и настройка сервера MySQL
  4. Установить Композитор
  5. Установить Magento2
  6. Создание файла конфигурации виртуального хоста Apache
  7. Доступ к веб-интерфейсу Magento2
  8. Заключение

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

В этом руководстве я покажу вам, как установить Magento2 на Debian 11.

Предпосылки

  • Сервер под управлением Debian 11.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Установите Apache, PHP и другие необходимые расширения

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

apt-get install apache2 php libapache2-mod-php php-common php-gmp php-curl php-soap php-bcmath php-intl php-mbstring php-xmlrpc php-mysql php-gd php-xml php-cli php-zip -y

После установки всех пакетов отредактируйте файл php.ini и измените некоторые настройки по умолчанию:

nano /etc/php/7.4/apache2/php.ini

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

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

Сохраните и закройте файл, затем перезапустите службу Apache, чтобы изменения вступили в силу:

systemctl restart apache2

Установить и настроить сервер MySQL

Magento2 использует MariaDB или MySQL в качестве базы данных. По умолчанию версия MariaDB 10.5 включена в стандартный репозиторий Debian 11, который не поддерживается Magento2. Поэтому вам нужно будет установить MySQL Server 8 на свой сервер.

Сначала загрузите файл пакета MySQL с помощью следующей команды:

wget https://repo.mysql.com//mysql-apt-config_0.8.18-1_all.deb

Затем установите его с помощью следующей команды:

apt install ./mysql-apt-config_0.8.18-1_all.deb -y

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

Выберите MySQL Server 8 и нажмите кнопку ОК.

Затем обновите репозиторий и установите сервер MySQL 8 с помощью следующей команды:

apt-get update -y
apt-get install mysql-server -y

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

mysql -u root -p

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

mysql> CREATE DATABASE magento2;
mysql> CREATE USER 'magento2'@'localhost' IDENTIFIED BY 'password';

Затем предоставьте все привилегии базе данных Magento2:

mysql> GRANT ALL PRIVILEGES ON magento2.* TO 'magento2'@'localhost';

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

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Как только вы закончите, вы можете перейти к следующему шагу.

Установить Композитор

Composer — это менеджер зависимостей для PHP, используемый для управления зависимостями PHP, необходимыми для вашего проекта.

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

apt-get install curl -y

Затем установите Composer с помощью следующей команды:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Вы получите следующий вывод:

All settings correct for using Composer
Downloading...

Composer (version 2.1.12) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

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

composer --version

Вы должны увидеть следующий вывод:

Composer version 2.1.12 2021-11-09 16:02:04

Установить Magento2

Затем измените каталог на корневой веб-каталог Apache и загрузите последнюю версию Magento2 с помощью следующей команды:

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

Вам будет предложено ввести имя пользователя и пароль учетной записи Magento, как показано ниже:

Creating a "magento/project-community-edition" project at "./magento2"
Warning from repo.magento.com: You haven't provided your Magento authentication keys. For instructions, visit https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html
    Authentication required (repo.magento.com):
      Username: a6b333ad41629bac913eaabb9b8e053c
      Password: 

Используйте открытый ключ в качестве имени пользователя и закрытый ключ в качестве пароля, затем нажмите клавишу Enter. Вы получите следующий вывод:

Do you want to store credentials for repo.magento.com in /root/.config/composer/auth.json ? [Yn] Y
Installing magento/project-community-edition (2.4.3-p1)
  - Downloading magento/project-community-edition (2.4.3-p1)
  - Installing magento/project-community-edition (2.4.3-p1): Extracting archive
Created project in /var/www/html/magento2
Loading composer repositories with package information

Затем установите правильные разрешения и права собственности на Magento2 и другие каталоги:

chown -R www-data:www-data /var/www/html/magento2/
cd /var/www/html/magento2
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data .
chmod u+x bin/magento

Затем отключите модуль Elasticsearch с помощью следующей команды:

php bin/magento module:disable {Magento_Elasticsearch,Magento_InventoryElasticsearch,Magento_Elasticsearch6,Magento_Elasticsearch7}

Вы получите следующий вывод:

The following modules have been disabled:
- Magento_Elasticsearch
- Magento_Elasticsearch6
- Magento_InventoryElasticsearch
- Magento_Elasticsearch7

Cache cleared successfully.
Generated classes cleared successfully. Please run the 'setup:di:compile' command to generate classes.
Info: Some modules might require static view files to be cleared. To do this, run 'module:disable' with the --clear-static-content option to clear them.

Затем установите Magento2 с помощью следующей команды:

bin/magento setup:install --base-url=http://magento.example.com --db-host=localhost --db-name=magento2 --db-user=magento2 --db-password=password --admin-firstname=admin --admin-lastname=admin  --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1

После установки Magento2 вы должны увидеть следующий вывод:

Module 'Vertex_AddressValidation':
[Progress: 1363 / 1370]
Module 'Yotpo_Yotpo':
[Progress: 1364 / 1370]
Enabling caches:
Current status:
layout: 1
block_html: 1
full_page: 1
[Progress: 1365 / 1370]
Installing admin user...
[Progress: 1366 / 1370]
Caches clearing:
Cache cleared successfully
[Progress: 1367 / 1370]
Disabling Maintenance Mode:
[Progress: 1368 / 1370]
Post installation file permissions check...
For security, remove write permissions from these directories: '/var/www/html/magento2/app/etc'
[Progress: 1369 / 1370]
Write installation date...
[Progress: 1370 / 1370]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_fgadpx
Nothing to import.

Примечание. Пожалуйста, запомните URI администратора Magento2 из приведенного выше вывода. Вам нужно будет использовать его для доступа к веб-интерфейсу Magento.

Затем отключите двухфакторную аутентификацию Magento2, очистите кеш и установите Cron с помощью следующих команд:

sudo -u www-data bin/magento module:disable Magento_TwoFactorAuth
sudo -u www-data bin/magento cache:flush
sudo -u www-data bin/magento cron:install

Как только вы закончите, вы можете перейти к следующему шагу.

Создайте файл конфигурации виртуального хоста Apache

Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для Magento2. Вы можете создать его с помощью следующей команды:

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

Добавьте следующие строки:

<VirtualHost *:80>
     ServerAdmin 
      DocumentRoot /var/www/html/magento2/
     ServerName magento.example.com

     <Directory /var/www/html/magento2/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/magento2_error.log
     CustomLog ${APACHE_LOG_DIR}/magento2_access.log combined

</VirtualHost>

Сохраните и закройте файл, затем активируйте виртуальный хост Magento и модуль перезаписи Apache с помощью следующей команды:

a2ensite magento2.conf
a2enmod rewrite

Наконец, перезапустите службу Apache, чтобы применить изменения:

systemctl restart apache2

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

systemctl status apache2

Вы должны увидеть следующий вывод:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-11-20 06:00:59 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 18394 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 18398 (apache2)
      Tasks: 6 (limit: 4679)
     Memory: 15.1M
        CPU: 99ms
     CGroup: /system.slice/apache2.service
             ??18398 /usr/sbin/apache2 -k start
             ??18399 /usr/sbin/apache2 -k start
             ??18400 /usr/sbin/apache2 -k start
             ??18401 /usr/sbin/apache2 -k start
             ??18402 /usr/sbin/apache2 -k start
             ??18403 /usr/sbin/apache2 -k start

Nov 20 06:00:59 debian11 systemd[1]: Starting The Apache HTTP Server...

Доступ к веб-интерфейсу Magento2

Теперь откройте веб-браузер и войдите в интерфейс администратора Magento2, используя URL-адрес http://magento.example.com/admin_fgadpx. Вы должны увидеть страницу входа в Magento2:

Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Magento2 на следующей странице:

Заключение

Поздравляем! вы успешно установили Magento2 на Debian 11. Теперь вы можете легко разместить свой интернет-магазин с помощью Magento. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.