Как установить Magento на Debian 11
На этой странице
- Предпосылки
- Установите Apache, PHP и другие необходимые расширения
- Установка и настройка сервера MySQL
- Установить Композитор
- Установить Magento2
- Создание файла конфигурации виртуального хоста Apache
- Доступ к веб-интерфейсу Magento2
- Заключение
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. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.