在 Ubuntu 2 Linux 上安装 Magento 2 的步骤 22.04

Magento 安装在 Ubuntu 22.04 上

1. 先决条件

1. 要执行本教程中给出的步骤,用户必须运行 Ubuntu 22.04 服务器
2. 访问 root 或 sudo 用户以安装软件包,例如 Web 服务器。
3. 互联网连接

2. 访问命令终端

使用 SSH 访问远程运行的 Ubuntu 服务器,或者具有本地安装的服务器系统的人可以直接访问终端来运行命令。进入终端后,请按照本教程中给出的后续步骤进行操作。

对于 SSH,连接到远程服务器的标准命令语法为:

ssh username@server_IP_Address

将 username 替换为 root 或您要访问的任何其他用户,而server_IP_Address是 Ubntu 22.04 服务器的地址。默认情况下,上述命令将使用端口 22,如果您使用的是任何其他端口,请使用 -p 选项提及它。

ssh username@server_IP_Address  -p Port_number

Port_number替换为您正在使用的自定义。

3. 更新 Ubuntu 22.04 系统软件包

首先,从 system update 命令开始,以确保 Ubuntu 22.04 上可用的所有软件包都是最新的。这也将刷新和重建 Ubuntu 的 APT 包管理器索引缓存。

sudo apt update && sudo apt upgrade

4. 安装 NGINX Web 服务器

虽然我们可以使用流行的 Apache Web 服务器,但由于 Nginx 是轻量级的并且速度更快,所以这里我们使用它。Nginx 可以使用系统的包管理器轻松安装,以下是要遵循的命令:

sudo apt install nginx-full

启动并启用其服务:

sudo systemctl enable --now nginx

若要检查服务是否正在运行且没有任何错误,请使用以下命令:

systemctl status nginx --no-pager -l

5.安装PHP for Magento

Ubuntu 22.04 上可安装的默认 PHP 版本是 php8.1,这是编写本教程时最新、最稳定的版本。因此,执行给定的命令不仅要安装PHP,还要安装Magento在Ubuntu 22.04 Linux上正常运行所需的扩展。

sudo apt install php php-{bcmath,intl,mbstring,mysql,soap,xml,xsl,zip,cli,common,curl,fpm,gd}

要检查您可以使用的 PHP 版本php -v

现在,让我们编辑 PHP 配置文件并增加 PHP 内存限制、上传文件大小并配置 Magneto 所需的其他一些 PHP 内容。

增加内存:

sudo sed -i "s/memory_limit = .*/memory_limit = 2G/" /etc/php/8.1/fpm/php.ini

增加文件上传大小:

sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/8.1/fpm/php.ini

启用 Zlib 压缩:

sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/8.1/fpm/php.ini

增加 PHP 进程的最大执行时间:

sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/8.1/fpm/php.ini

完成后,重新启动 Nginx 服务器:

sudo systemctl restart nginx

6. 在 Ubuntu 上安装 MariaDB 服务器 22.04

为了存储Magento电子商务商店生成的数据,我们在这里使用流行的开源MySQL数据库服务器。让我们使用给定的命令安装它:

sudo apt install mysql-server-8.0

检查MariaDB是否正常运行:

systemctl status mysql --no-pager -l

如果它没有运行,那么这里是制作它的命令。

sudo systemctl enable --now mysql

7. 为 Magneto 创建数据库

现在,让我们创建一个用于Magento安装的数据库,它也将使用它来存储所有未来生成的数据。

登录MySQL

sudo mysql -u root

现在,首先创建数据库用户:

注意:将 myuser 替换为您要为用户提供的任何名称,将 mypass 替换为您要在每个命令中为其设置的密码。而 mydb 替换为要使用的数据库的名称。

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';

创建数据库

CREATE DATABASE mydb;

向所创建数据库的用户授予完全访问权限。

GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';

最后,刷新并退出命令行:

FLUSH PRIVILEGES;
exit;

8. 安装和设置 ElasticSearch

ElasticSearch是安装Magento的要求之一,因为在线商店通常有一个很大的目录,当用户搜索任何产品时,结果必须很快。因此,ElasticSearch 将帮助我们解决这个问题。

虽然在撰写本文时,ElasticSearch的最新版本是8.x,但是,Magento支持7.x。让我们添加存储库和 GPG 密钥来安装它。

首先,添加 GPG 密钥:

sudo apt-get install apt-transport-https curl
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/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

运行系统更新命令:

sudo apt update

在 Ubuntu 上安装 ElasticSearch 22.04

sudo apt install elasticsearch

启动并启用弹性搜索服务

要确保 Elasticsearch 在系统启动时自动运行,请使用给定的命令:

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

要确认没有错误并且服务运行良好,请使用:

systemctl status elasticsearch --no-pager -l

要进一步验证 Elasticsearch 的工作原理,请使用:

curl -X GET "localhost:9200"

您将获得类似于屏幕截图中给出的输出。

verify-the-working-of-Elasticsearch

9. 安装 PHP Composer

在 Ubuntu 上下载和安装 Magento 的最简单方法之一是使用 PHP Composer。它是PHP编程语言的应用程序级依赖项管理器。由于Magento是基于PHP的平台,因此这有助于使用单个安装命令自动安装所有必需的依赖项。

下载 Composer 安装脚本:

 curl -sS https://getcomposer.org/installer -o composer-setup.php

开始安装过程:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

10. 创建 NGINX 服务器块

让我们为Magento创建一个服务器块或配置文件,以便我们的NGINX可以知道Magento文件在哪里以及如何为它们提供服务。

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

粘贴以下行:

upstream fastcgi_backend {
server unix:/run/php/php8.1-fpm.sock;
}

server {
server_name yourdomain.com;
listen 80;
set $MAGE_ROOT /var/www/magento;
set $MAGE_MODE developer; # or production

access_log /var/log/nginx/magento-access.log;
error_log /var/log/nginx/magento-error.log;

include /var/www/magento/nginx.conf.sample;
}

注意:不要忘记将 yourdomain.com 替换为您计划用于万磁王的域名。

按 Ctrl+X,然后键入 – Y 并按 Enter 键保存退出编辑器。

11. 创建 Magento2 公钥和私钥

我们需要验证我们将要下载的Magento副本 使用Composer 在Ubuntu 22.04上,只有这样我们才能安装它。

为此,我们需要公钥和私钥,要获得它们,我们需要一个Adobe Magento Market Place帐户,如果您没有,请使用给定的链接。

一旦你有了账户,或者你已经有一个账户,然后去你的Magento Market Place账户API密钥区域,点击“创建一个新的访问密钥”按钮,很快你就会有你的私钥和公钥。

Create-Magento2-Public-and-Private-Keys-1024x355-1

12. 下载万磁王进行安装

最后,我们已经配置了在Ubuntu 22.04上安装Magento所需的几乎所有必要内容。现在,让我们使用Composer下载Magento的最新可用版本并开始安装它。

为Magento创建一个目录,我们在NGINX服务器块配置文件中设置了该目录,即/var/www/magento

sudo mkdir -p /var/www/magento/

此外,创建一个目录来存储用户的数据www-dat

sudo mkdir -p /var/www/.config/

更改文件夹的权限,以便 Web 服务器用户 (www-data) 可以写入它:www

sudo chown www-data:www-data /var/www/ -R

切换到 /var/www 目录,开始 Magento 的下载和安装过程:

sudo -u www-data composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition magento

很快,它会要求提供用户名密码。现在,转到您创建钥和私钥的市场位置。

复制公钥并粘贴它,当 Composer 要求输入用户名进行身份验证时。私钥密码

注意: 粘贴私钥时,不会显示任何内容,并且该部分将保持空白。粘贴后,您只需要按Enter键即可。

当它询问“是否要将 repo.magento.com 的凭据存储在 /var/www/.config/composer/auth.json?”时,按 Y 并按 Enter 键。

Install-Magneto-using-Composer-on-Ubuntu-22.04

13. 在 Ubuntu 22.04 服务器上安装 Magneto

一旦 Composer 完成了 Magento 文件的下载,切换到其目录并运行带有基本参数的可执行 Magneto 设置文件;配置您的域名和数据库;设置管理员用户 – 添加您要使用的任何名称,包括密码和其他项目,例如电子邮件、货币和时间。

sudo -u www-data bin/magento setup:install \
--base-url=http://xyz.com \
--db-host=localhost \
--db-name=mydb \
--db-user=myuser \
--db-password=mypass \
--admin-firstname=admin \
--admin-lastname=admin \
--admin-email=admin@admin.com \
--admin-user=admin \
--admin-password=admin123 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--search-engine=elasticsearch7 \
--elasticsearch-host=http://localhost \
--elasticsearch-port=9200 \
--elasticsearch-index-prefix=magento2 \
--elasticsearch-timeout=15 \
--elasticsearch-enable-auth=0

注意:我最初收到一个错误:无法验证与 Elasticsearch 的连接。在群集中找不到活动节点。

这是因为我在 ElasticSearch 主机上使用 127.0.0.1 而不是 localhost。

Magento-Installation-complete-with-Admin-URL

安装完成后,您将看到显示相同消息以及用于访问 Magneto 后端的管理 URL

现在,重新加载 NGINX Web 服务器:

sudo systemctl reload nginx

就是这样,转到您的浏览器并键入配置为访问Magento的域名。例如,这里我们使用 XYZ.com

Front-End-Page-of-Magento-1024x568-1

 

14. 访问 Magento 管理仪表板

我们已经有了管理URL,我们可以在Magento域名之后使用,并为其配置。例如-yourdomain.com/admin-url

替换为您正在使用的域以及您在 Magneto 安装结束时获得的任何内容。yourdomain.comadmin-URL

但是,如果您忘记记下您的管理 URL,那么要查找 Magento 管理 URL,我们可以使用以下命令:

sudo  /var/www/magento/bin/magento info:adminuri

记录Magento

进入登录屏幕后输入用户名和密码。凭据将是您在本教程的步骤 13 中配置的任何凭据。

sing-in-Magento-1024x568-1

15.禁用双因素身份验证

默认情况下,Magento将具有有效的双因素身份验证,但是,它需要在Ubuntu上使用有效的Postfix SMTP中继才能发送电子邮件。但是,如果您当前没有在系统上配置SMTP,请禁用2FA模块以在没有它的情况下登录Magento。

sudo -u www-data bin/magento module:disable Magento_TwoFactorAuth
Two-factor-authentication-error-1024x568-1

 

16. 设置 Cron 作业

登录后,仪表板上会出现一条警告 – “一个或多个索引无效,请确保您的 Magento cron 作业正在运行

Make-sure-your-Magento-cron-job-is-running

 

若要删除此警告,请转到命令终端并运行:

cd /var/www/magento
sudo -u www-data php8.1 bin/magento cron:install

刷新管理仪表板,警告很快就会消失。

Magneto-2-Dashboard-install-Ubuntu-22.04

 

17. SSL证书 – HTTPS

我想讨论的最后一件事是使用 Let’s Encrypt 进行 SSL 验证。

sudo apt install certbot python3-certbot-nginx

现在,为您用于 Magneto 的域颁发 SSL 证书。

sudo certbot --nginx -d  example.com -d www.exmaple.com

完成后,重新启动 NGINX:

sudo systemctl reload nginx

现在,要将 Magneto 的基本 URL 从 HTTP 更改为 HTTPS,请使用:

cd /var/www/magento/
 sudo -u www-data bin/magento setup:store-config:set --base-url="https://example.com/"
sudo -u www-data bin/magento setup:store-config:set --base-url-secure="https://example.com/"

将 https://example.com/ 替换为您的域名。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun289729.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2024年3月17日
下一篇 2024年3月17日

相关推荐