Magento 是一个基于 PHP 和 MariaDB 的免费开源电子商务平台,被数百万小型企业用于在线销售和管理他们的产品。Magento 具有一组丰富的功能,包括网站管理、搜索引擎优化、订单管理、客户服务工具、营销工具、结帐系统以及付款和运输系统。magento-logomagento-logo

在 Debian 11 Bullseye 上安装 Magento

步骤 1. 在我们安装任何软件之前,通过apt在终端中运行以下命令来确保您的系统是最新的很重要:

sudo apt update
sudo apt upgrade
sudo apt install apt-transport-https ca-certificates gnupg2

步骤 2. 安装 Composer。

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

步骤 3. 安装 Elasticsearch。

Elasticsearch在标准 Debian 11 存储库中不可用,现在我们将 Elasticsearch APT 存储库添加到您的系统:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c \'echo \"deb https://artifacts.elastic.co/packages/7.x/apt stable main\" > /etc/apt/sources.list.d/elastic-7.x.list\'

之后,使用apt以下命令安装 Elasticsearch 包:

sudo apt update
sudo apt install elasticsearch

启动并启用 Elasticsearch 服务:

sudo systemctl enable elasticsearch.service --now

要验证和检查 Elasticsearch 是否正在运行,我们可以执行以下命令:

curl -X GET \"localhost:9200\"

要查看 Elasticsearch 在您的系统上记录的系统消息,请键入以下命令:

sudo journalctl -u elasticsearch

步骤 4. 安装 LAMP 堆栈。

需要 Debian 11 LAMP 服务器。如果您没有安装 LAMP,在 Debian 11 上安装LAMP 服务器。

步骤 5. 配置 MariaDB。

默认情况下,MariaDB 未加固。您可以使用mysql_secure_installation脚本保护 MariaDB 。您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库和访问安全 MariaDB 的权限:

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

接下来,我们需要登录到 MariaDB 控制台并为 Magento 创建一个数据库。运行以下命令:

mysql -u root -p

这将提示您输入密码,因此请输入您的 MariaDB 根密码并按 Enter。登录到数据库服务器后,您需要为 Magento 安装创建一个数据库:

mysql> CREATE DATABASE magento_db;
mysql> CREATE USER \'magento\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'your-stong-passwd\';
mysql> GRANT ALL PRIVILEGES ON magentodb.* TO \'magento\'@\'localhost\';
mysql> FLUSH PRIVILEGES;
mysql> \\q

步骤 6. 配置 Apache。

现在我们创建一个新的 VirtualHost 来更好地管理 Joomla:

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

添加以下文件:


     ServerAdmin admin@your_domain.com
      DocumentRoot /opt/magento2
     ServerName your-domain.com

     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
     CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined

保存并关闭,然后重新启动 Apache 以进行更改:

sudo a2ensite magento.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

步骤 7. 在 Debian 11 上安装 Magento。

首先,我们在 magento.com 网站上创建一个帐户并导航到https://marketplace.magento.com/customer/accessKeys/以创建访问密钥:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.3 /opt/magento2

系统会要求您输入用户名和密码:

Username: YOUR_PUBLIC_KEY
Password: YOUR_PRIVATE_KEY

之后,通过运行以下命令开始安装:

cd /opt/magento2

在运行安装之前,您需要编辑域名、电子邮件地址和管理员密码:

bin/magento setup:install \\
--base-url=http://your-domain.com \\
--db-host=localhost \\
--db-name=magento_db \\
--db-user=magento \\
--db-password=magento \\
--admin-firstname=admin \\
--admin-lastname=admin \\
--admin-email=admin@your-domian.com \\
--admin-user=admin \\
--admin-password=ngadimin123 \\
--language=en_US \\
--currency=USD \\
--timezone=Asia/Jakarta \\
--use-rewrites=1

请耐心等待安装过程,直到完成,您应该看到以下输出:

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1iwnbd

我们需要更改一些文件夹权限:

sudo chown -R www.data. /opt/magento2

接下来,使用以下命令禁用双因素身份验证:

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

步骤 8. 配置 Cron 作业。

Magento 需要运行其 cron 作业以自动化其重要的系统功能。现在我们创建以下 cron 作业:

sudo -u www-data bin/magento cron:install

步骤 9. 安装 SSL 证书。

在这一步中,我们将安装 SSL (TLS) 证书。我们将使用免费的 Let\’s Encrypt 证书,该证书适用于所有浏览器和 CertBot 应用程序来安装证书并保持更新:

sudo apt install certbot python-certbot-apache

接下来,运行certbot将下载证书并创建 Apache 配置以使用证书的命令:

sudo certbot --apache

然后系统会提示您输入证书的电子邮件地址。输入后,您必须同意条款和条件并决定是否要与电子前沿基金会共享您的电子邮件地址。最后一步是可选的。成功后,再次重新加载 Apache 以加载所有新配置:

sudo systemctl reload apache2

步骤 10. 配置防火墙。

现在我们打开端口 80 和 443 以允许 Apache 服务器流量。我们将使用以下命令执行此操作:

ufw allow 80/tcp
ufw allow 443/tcp
ufw reload

步骤 11. 访问 Magento Web 界面。

成功安装后,打开 Web 浏览器并使用 URL 访问 Magento Web 界面。您将被重定向到以下页面:https://your-domian.com

magento-web-interfacemagento-web-interface

感谢您使用本教程在 Debian 11 Bullseye 上安装最新版本的 Magento 电子商务平台。如需更多帮助或有用信息,我们建议您查看官方 Magento 网站。