在Win10 WSL2下基于Ubuntu 20.04 LAMP环境安装Magento 2.4.0 外挂Dockers Desktop

OS: Windows 10 版本大于1909

启用WSL
管理员命令行或管理员Powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

启用虚拟机
管理员命令行或管理员Powershell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

下载安装内核更新包
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

设置WSL为版本2
管理员命令行或管理员Powershell
wsl --set-default-version 2

通过市场安装 Ubuntu 20.04

启动Ubuntu 设置管理员账户密码
具体自行操作 输入用户名 和 密码并确认密码

查看是否是WSL2版本
管理员命令行或管理员Powershell
wsl --list --verbose

如果不是执行下面命令
管理员命令行或管理员Powershell
wsl --set-version Ubuntu-20.04 2

下载安装Docker Desktop
https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.exe

Docker Desktop的配置
打开Docker Desktop程序 → Settings → Resources → WSL INTEGRATION → 右边勾选 允许 Enable integration with my default WSL distro 下面选择镜像开关打开 点 Apply&Restart 按钮

打开Ubuntu 20.04 窗口
安装LAMP环境 这次简单点 不多做 说明

sudo apt install apache2 mariadb-server php php-bcmath php-curl php-gd php-intl php-mbstring php-soap php-zip php-xml php-mysql imagemagick

通过docker下载elasticsearch镜像

sudo docker pull nshou/elasticsearch-kibana

启动elasticsearch

sudo docker run -d -p 9200:9200 -p 9300:9300 -p 5601:5601 --name eskibana nshou/elasticsearch-kibana

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

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

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

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

启用重写模块

sudo a2enmod rewrite

启动apache2

sudo service apahce2 start

启动 mariadb

sudo service mysql start

初始化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;

配置 sshd服务

sudo vi /etc/ssh/sshd_config

修改三个位置,然后保存:

Port = 22 # 去掉前面的#号
ListenAddress 0.0.0.0		#去掉前面的#号
PasswordAuthentication yes # 将 no 改为 yes 表示使用帐号密码方式登录

重启sshd服务:

sudo dpkg-reconfigure openssh-server		#用于安装RSA_KEY
sudo service ssh start 		#启动SSH服务

查询WSL2 Ubuntu20.04的ip地址

`ip addr show | grep 172

找到 172开头的ip

Windows 下找个 ssh工具连接 该地址 传送 Magento 2.4.0 源文件进去

sudo mkdir 240

复制到 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

安装命令 注意改IP地址

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 \
–base-url="http://172.31.115.114/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

注意:上面复制内容 请替换里面引号 为英文“符号
关闭两步验证模块

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

行了 到这里就可以在WSL2中体验Magento 2.4.0

上面内容如有说明不清楚的 请参考作者其他教程文章

作者其他版本安装教程
Magento2.4.0 尝鲜安装记录 Ubuntu 20.04 LTS 有互动视频
Magento 2.3.5 在ubuntu 20.04 安装记录 LAMP

Magento2 中文化补丁系列
Magento2.3发布,且网友带来中文版发布