# Magento2.4.0 尝鲜安装记录 Ubuntu 20.04 LTS

**URL:** https://forum.magentochina.org/t/magento240-%E5%B0%9D%E9%B2%9C%E5%AE%89%E8%A3%85%E8%AE%B0%E5%BD%95-ubuntu-2004-lts/786
**Category:** Magento 2.X
**Tags:** 教程
**Created:** [2020 年7 月 31 日 08:56 UTC](https://forum.magentochina.org/t/magento240-%E5%B0%9D%E9%B2%9C%E5%AE%89%E8%A3%85%E8%AE%B0%E5%BD%95-ubuntu-2004-lts/786 "2020-07-31T08:56:35Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### 作者： ![jiyun](https://forum.magentochina.org/user_avatar/forum.magentochina.org/jiyun/32/328_2.png) [@jiyun](https://forum.magentochina.org/u/jiyun)
#### 发布日期： [2020 年7 月 31 日 08:56 UTC](https://forum.magentochina.org/t/magento240-%E5%B0%9D%E9%B2%9C%E5%AE%89%E8%A3%85%E8%AE%B0%E5%BD%95-ubuntu-2004-lts/786/1 "2020-07-31T08:56:35Z")

</div>

本文配套视频教程：  
[https://www.magentochina.org/视频magento2-4-0-安装与卸载过程-尝鲜记录-基于ubuntu-20的lampelasticsearchdocker/](https://www.magentochina.org/%e8%a7%86%e9%a2%91magento2-4-0-%e5%ae%89%e8%a3%85%e4%b8%8e%e5%8d%b8%e8%bd%bd%e8%bf%87%e7%a8%8b-%e5%b0%9d%e9%b2%9c%e8%ae%b0%e5%bd%95-%e5%9f%ba%e4%ba%8eubuntu-20%e7%9a%84lampelasticsearchdocker/)

安装流程 ubuntu 20.04 lts 我们的目标是基于经典LAMP软件套件在此之上体验最新版的Magento2.4.0

**首先更新系统**

`sudo apt update`  
`sudo apt upgrade`

一切环境的基础 LAMP软件套件中的核心以及底层（L）Linux OS Ubuntu、也可以更换其他Linux系统 比如Debian、Deepin以及他们的变体UOS等等。CentOS由于软件源老旧更新慢不是很推荐。（讨厌学院派的编译操作。不推荐萌新体验用CentOS）使用桌面版也可以安装。本文全程命令行，在终端中操作都是一样的，放心食用。【小知识：Ubuntu、Deepin、UOS都是基于Debian的变体，操作基本通用】

**安装web server**

官方支持的web server通常有两种 Apache2、Nginx 这里选用Apache2作为例子 毕竟这是LAMP软件套件中的（A）apache2 至于Nginx是LEMP或称之LNMP中的（E）或（N）Nginx 两大web服务套件 LAMP和LEMP最核心差异就是 Web server的选择了 第二位的选择会影响套件中第四位（P）PHP的配置。

`sudo apt install apache2`

**安装数据库**

官方支持的数据库有 Mysql、MariaDB 对版本有要求 Mysql关键建议是8.0以上版本，由于Mysql让甲骨文收购。常规Linux系统以及将它踢出默认安装源，不在默认支持。这里选用MariaDB它等效于Mysql。这里是LAMP软件套件中的（M）MariaDB 数据库服务。

`sudo apt install mariadb-server`

**安装PHP和模块**

有种说法LAMP软件套件中（P）并不只是PHP 还有Python，实际上现在更新Linux系统已经将Python默认内置到系统中。版本也统一为3.X。2.x的Python已经被抛弃。  
这里命令比较长 主要就是安装PHP 7.4.X版本以及Magento2 所需的主要PHP组件

`sudo apt install php php-bcmath php-curl php-gd php-intl php-mbstring php-soap php-zip php-xml php-mysql`

**安装 imagemagick**

用于图像处理的工具包。原本imagemagick是个选装项，用于配合PHP-GD模块使用的。如只装PHP-GD模块在体验过程中有极大概率回报告错误造成不能登录。在这里推荐安装。

`sudo apt install imagemagick`

【Magento2.4.0与之前版本不同之处】

Magento2.4.0相对于之前的版本，强制要求将搜索服务从贫弱的Mysql迁移到elasticsearch（弹性搜索），成为了必选项。所以Magento2.4.0所需的基础环境就变成了LAMP+elasticsearch。但是elasticsearch安装也是有前置条件的且过于麻烦。处于教学或体验方便我们选用Dockers方式挂载使用。

**安装docker**

`sudo apt-get install docker.io`

**安装elasticsearch**

从Docker云中下载elasticsearch镜像，这并非elasticsearch官方镜像排名第二的第三方作品集成了kibana 用于elasticsearch日志分析平台。虽然教学或体验上暂时还用不到。

`sudo docker pull nshou/elasticsearch-kibana`

下载解压完这个镜像 占用877M 可以算是巨大了。

> 首次启用elasticsearch  
> sudo docker run -d -p 9200:9200 -p 9300:9300 -p 5601:5601 --name eskibana nshou/elasticsearch-kibana

如果你不小心重启了服务器 默认情况下docker 不会挂在镜像 需要你用命令重启elasticsearch镜像

> 再次重启用命令  
> sudo docker ps -a //查询编号  
> sudo docker start #编号

【】【】【】【】【】【】【】【分】【】【割】【】【线】【】【】【】【】【】【】【】

这里主要讲相关软件需要的设置

**配置web server**  
首先是配置Apache2 使用命令编辑配置文件

`sudo vi /etc/apache2/sites-available/000-default.conf`

用方向键移动光标到文末，让后按i键 进入插入模式  
添加下列内容

`<Directory "/var/www/html">`  
`AllowOverride all`  
`</Directory>`

完毕后，先按下ESC键，后面依次输入:wq回车  
**【Esc键，上档键+分号键，W键，P键，回车键】**

启用重写模块

`sudo a2enmod rewrite`

让配置生效需要重启Apache2服务

`systemctl restart apache2`

这里讲数据库的配置，即使更换Mysql也是一样的操作。  
**配置数据库**

`sudo mysql_secure_installation`

上面是数据库安装完毕后的初始化操作，按提示操作。输入数据库root密码。

然后用sudo mysql 命令登录mysql 提示符变更 输入下面的指令

> use mysql  
> update mysql.user set plugin='mysql\_native\_password' where User='root';  
> flush privileges;  
> exit

完成后重新用 root身份登录mysql

`mysql -u root -p`

新建数据库 用户 密码 权限等 输入下面的指令

> create database magento;  
> grant all on \*.\* to magento2@'%' identified by 'Magento' with grant option;

**上传2.4.0源文件以及目录权限所属设置**  
源文件请自行去[官网下载](https://magento.com/tech-resources/download) 然后上传到服务器中  
复制到 240目录中 并解压 回到上一级目录 执行下面的命令

`sudo chown -R www-data:www-data 240/`  
`sudo chmod -R 775 240/`

现在进入web server的html目录

`cd /var/www/html/`

建立符号连接

`sudo ln -Fs /home/jiyun/240/ 240`

【】【】【】【】【】【】【再】【】【次】【】【出】【】【现】【】【】【】【】【】【】

万事俱备可以正式开始安装了，首先回到用户目录  
`cd /home/jiyun/`  
进入 magento2.4.0所在的根目录  
`cd 240`

**安装Magento2.4.0**

> `sudo -u www-data php bin/magento setup:install \`  
> `--backend-frontname="admin" \`  
> `--db-host="localhost" \`  
> `--db-name="magento" \`  
> `--db-user="magento2" \`  
> `--db-password="Magento" \`  
> `--language="zh_Hans_CN" \`  
> `--currency="CNY" \`  
> `--timezone="Asia/Shanghai" \`  
> `--use-rewrites=1 \`  
> `--use-secure=1 \`  
> `--use-secure-admin=1 \`  
> `--base-url="http://192.168.124.23/240/" \`  
> `--base-url-secure="https://192.168.124.23/240/" \`  
> `--admin-user=admin \`  
> `--admin-password="password@123" \`  
> `--admin-email=admin@domain.com \`  
> `--admin-firstname=Firstname \`  
> `--admin-lastname=Lastname \`  
> `--session-save=db \`  
> `--search-engine=elasticsearch7 \`  
> `--elasticsearch-host=127.0.0.1 \`  
> `--elasticsearch-port=9200 \`  
> `--cleanup-database`

有人会提问 怎么查询服务器的IP地址变更替换上面命中的地址呢？  
输入命令

`ip addr show’

可以查询到 请注意分辨

**关闭两步验证模块**  
`sudo -u www-data php bin/magento module:disable Magento_TwoFactorAuth`

就此可以正常登录2.4.0的后台了

---

<div class="post-metadata">

### 作者： ![cityking](https://forum.magentochina.org/letter_avatar_proxy/v4/letter/c/b19c9b/32.png) [@cityking](https://forum.magentochina.org/u/cityking)
#### 发布日期： [2020 年8 月 23 日 13:53 UTC](https://forum.magentochina.org/t/magento240-%E5%B0%9D%E9%B2%9C%E5%AE%89%E8%A3%85%E8%AE%B0%E5%BD%95-ubuntu-2004-lts/786/2 "2020-08-23T13:53:23Z")

</div>

> [@jiyun](#):
>
> sudo vi /etc/apache2/sites-available/000-default.conf

谢谢教程很详细，但操作到这步时候，服务器提示 vi: command not found.

空白云主机安装的，不知道什么原因

---

<div class="post-metadata">

### 作者： ![jiyun](https://forum.magentochina.org/user_avatar/forum.magentochina.org/jiyun/32/328_2.png) [@jiyun](https://forum.magentochina.org/u/jiyun)
#### 发布日期： [2020 年9 月 4 日 08:45 UTC](https://forum.magentochina.org/t/magento240-%E5%B0%9D%E9%B2%9C%E5%AE%89%E8%A3%85%E8%AE%B0%E5%BD%95-ubuntu-2004-lts/786/3 "2020-09-04T08:45:46Z")

</div>

任何编辑器都可以 vi vim nano  
没有的化就 apt install 一个咯

---

<div class="post-metadata">

### 作者： ![zhuzhen0521](https://forum.magentochina.org/letter_avatar_proxy/v4/letter/z/8edcca/32.png) [@zhuzhen0521](https://forum.magentochina.org/u/zhuzhen0521)
#### 发布日期： [2021 年2 月 27 日 18:05 UTC](https://forum.magentochina.org/t/magento240-%E5%B0%9D%E9%B2%9C%E5%AE%89%E8%A3%85%E8%AE%B0%E5%BD%95-ubuntu-2004-lts/786/4 "2021-02-27T18:05:10Z")

</div>

应该是安装的Linux系统没有默认安装vi编辑器，Linux每个版本更新后，默认软件库都会有变化，可以尝试先安装vi编辑器或者用vim编辑器。
