Drupal开发环境搭建(在Windows中通过WSL配置Ubuntu+Apache+PHP+MariaDB+Drupal+Drush开发环境)
1. 补充知识
1.1 在 Windows11 中通过 WSL 配置 Ubuntu 系统的好处
最初我是直接在Windows系统中搭建的Apache+PHP+Drupal开发环境,但出现了一个问题:操作Drupal后台很卡、很慢。之所以会出现这个问题,是因为Drupal系统运行时会调用大量的文件,Windows系统操作大量文件的速度太慢,速度明显低于Linux系统。因此,从事Drupal开发,必须要在Linux环境中进行。
通过Windows系统提供的WSL(全称:Windows Subsystem for Linux)工具,在Windows中搭建Linux开发环境,既可以使用Linux进行软件开发从而大大提高项目运行速度,又可以使用Windows系统,我觉得这是最佳的开发环境。
因此,我选择的Drupal开发环境是:在Windows11中通过WSL配置Ubuntu,在Ubuntu中安装Apache、PHP、MariaDB、Drupal。
1.2 WSL2简介
2019年推出,使用了一个Hyper-V轻量级虚拟机,虚拟机中运行着一个定制版的Linux内核。
2. 开发环境搭建步骤
2.1 第一步:在 Windows11 中安装 WSL2、Ubuntu
-
在Windows操作系统中启用WSL2支持:在控制面板→"启用或关闭Windows功能"窗口中,勾选以下两个选项:适用于 Linux 的 Windows 子系统 (Windows Subsystem for Linux)、Virtual Machine Platform (Windows虚拟机监控程序平台),重启计算机。
-
安装WSL2,同时安装一个Ubuntu系统实例:打开Windows PowerShell,在命令行输入:wsl --install,过程中让输入一个账号(zhouyiben)和密码(000000)。默认安装的Ubuntu的版本是:Ubuntu 24.04.3 LTS。

2.2 第二步:安装并配置 Apache
2.2.1 安装 Apache
-
第一步:先更新软件仓库、升级软件模块。打开 Ubuntu 终端,更新软件源并升级现有包,确保系统处于最新状态:sudo apt update && sudo apt upgrade -y
- 第二步:安装Apache服务器:sudo apt install apache2 -y
- 第三步:查看安装的Apache的版本:apache2 -v
-
第四步:启动Apache服务:sudo service apache2 start(或sudo systemctl start apache2)
-
设置Apache开机自启动(在WSL 中重启 Ubuntu 后,Apache自动启动):sudo systemctl enable apache2
-
验证 Apache 是否安装成功:
- 方法一:在Windows浏览器中访问http://localhost,应该看到 Apache2 Ubuntu Default Page。
- 方法二:通过检查Apache状态:sudo systemctl status apache2【若显示 active (running)】
2.2.2 配置 Apache
2.2.2.1 WSL中的Ubuntu系统中,Apache经常出现连接延迟和超时问题
在Ubuntu中输入命令:sudo nano /etc/apache2/apache2.conf,文件中添加如下参数:
AcceptFilter https none
AcceptFilter http none
2.2.2.2 启用Ubuntu中Apache的URL重写模块(这个是Drupal必需的)
-
在Ubuntu系统命令行输入apache2ctl -M或apachectl -M,查看Apache当前已经加载的模块,看是否有rewrite_module模块。如果没有(默认是没有),必需执行下面的步骤,让Apache包含此模块。
-
启用mod_rewrite模块:sudo a2enmod rewrite
-
激活新的配置:sudo systemctl restart apache2
-
检查Apache配置是否有误:sudo apache2ctl configtest(语法正确的话会返回Syntax OK)
-
给Apache启用简洁链接功能:在Ubuntu系统中,修改Ubuntu/etc/apache2/apache2.conf文件(使用命令:sudo nano /etc/apache2/apache2.conf),把其中的 AllowOverride None改为 AllowOverride All,如图:

- 重启Apache使配置生效:sudo systemctl restart apache2
2.3 第三步:安装PHP
- 查看当前系统默认支持的 PHP 版本范围:apt list php* 或 apt-cache search php-
- 安装PHP和常用扩展:sudo apt install php libapache2-mod-php php-cli php-mysql php-curl php-json php-gd php-mbstring php-xml php-zip -y
- 补充知识:执行完上述操作后,发现少安装了一个库,可以执行如下操作:sudo apt install 库名(例如:sudo apt install php-opcache,这个例子也可以执行一次,也可以不用执行,因为执行后发现该库已经安装且已是最新版,执行这条命令后也并没有重新安装该库)。
- 查看安装的PHP版本:php -v【注意:此处如果查看失败,会提示让安装PHP命令行工具,这个版本的PHP的命令是: sudo apt install php8.3-cli】
- 重启 Apache 使 PHP 生效:sudo systemctl restart apache2
-
验证 PHP 是否安装成功:
-
Apache 的默认网站根目录为 /var/www/html,在该目录下创建 info.php:sudo nano /var/www/html/info.php
-
输入以下内容,按 Ctrl+O 保存,然后按回车,最后按Ctrl+X 退出:
<?php phpinfo(); ?> -
在Windows浏览器中输入http://localhost/info.php,应该能看到详细的PHP信息页面。
-
完成以上步骤后,您的WSL2 Ubuntu环境中就已经成功安装了Apache和PHP,并且可以通过浏览器访问测试页面了。
2.4 第四步:安装 MariaDB 数据库
-
更新软件包列表。在Ubuntu终端中运行以下命令,确保获取最新的软件源信息:执行 sudo apt update -y && sudo apt upgrade -y
-
安装MariaDB服务器(安装过程中会自动创建数据库服务和相关依赖):sudo apt install mariadb-server【默认安装的版本 10.11.13-MariaDB-0ubuntu0.24.04.1】
-
启动MariaDB服务:sudo systemctl start mariadb
-
设置开机自动启动(WSL2 重启后会自动生效):sudo systemctl enable mariadb
-
安装完成后,MariaDB服务通常会自动启动。可通过以下命令检查服务状态,确认是否正常运行:sudo systemctl status mariadb。如果看到状态显示为 active (running),说明服务已成功启动。【注意:此时会进入分页查看模式,按q或Ctrl+C即可返回命令】
-
进行安全配置:MariaDB 安装后默认安全性较低,运行MariaDB自带的安全安装脚本进行配置(设置 root 密码、禁用匿名用户等),以提高数据库的安全性:
-
操作:输入命令:sudo mysql_secure_installation
-
是否要切换为更安全、更现代的 unix_socket 认证方式?Y【设置为Y后,以后输入 sudo mysql 即可登录MariaDB,而不用再使用命令mysql -u root -p】
-
设置root用户密码:root
-
移除匿名用户:Y
-
禁止root用户远程登录:Y
-
移除测试数据库:Y
-
重新加载权限表使设置生效:Y
-
-
-
验证登录:使用以下命令以root用户身份登录到MariaDB服务器控制台:sudo mysql 或sudo mysql -u root -p,输入之前设置的root密码即可进入MariaDB的命令行界面。【注意:按Ctrl+D或输入exit;或quit;即可退出并回到Ubuntu的终端】
2.4.1 MariaDB 服务相关的命令:
-
启动服务:sudo systemctl start mariadb
-
停止服务:sudo systemctl stop mariadb
-
重启服务:sudo systemctl restart mariadb
-
设置开机自启:sudo systemctl enable mariadb
-
检查MariaDB服务状态,确认是否正常运行:sudo systemctl status mariadb。如果看到状态显示为 active (running),说明服务已成功启动。【注意:此时会进入分页查看模式,按q或Ctrl+C即可返回命令】
2.5 第五步:安装 Composer
Composer是什么?是一个依赖管理工具。
注意:Composer依赖PHP环境,因此必须先安装PHP,再安装Composer。
操作地址:进入composer官方网址:https://www.phpcomposer.com,点击“下载/安装”,进入网址:https://pkg.xyz/#how-to-install-composer。这个网址中的具体操作步骤如下(这里的内容和上面网址中的一样,在这里列出是为了防止上述网址将来打不开):
- 打开命令行并依次执行下列命令安装最新版本的 Composer:
-
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
-
php composer-setup.php
-
php -r "unlink('composer-setup.php');"
上述三条命令的解释:执行第一条命令下载下来的 composer-setup.php 脚本将简单地检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar 文件到当前目录。上述 3 条命令的作用依次是:-
1.下载安装脚本 - composer-setup.php - 到当前目录。
-
2.执行安装过程。
- 3.删除安装脚本。
-
-
- 在Ubuntu中全局安装 Composer。全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。在Mac或Linux系统中,打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:sudo mv composer.phar /usr/local/bin/composer
-
验证Composer是否正确安装:安装完成后,输入composer -V,查看安装的composer版本。
2.6 第六步:安装 Drupal
1、给Ubuntu系统安装解压工具:unzip(注释,是给Ubuntu系统安装,不是给PHP解释器安装),命令:
- sudo apt update
sudo apt install unzip
解释:Composer 在下载Drupal依赖包(如 Drupal 的核心文件、第三方库)时,会直接调用系统的 unzip 或 7zip 工具来解压压缩包,而不是依赖 PHP 的 zip 扩展。因此,需要先给Ubuntu系统安装unzip或7zip。而PHP Zip 扩展的功能是:为 PHP 脚本 提供通过代码(如 ZipArchive 类)直接读写 ZIP 文件的能力。
2、在Ubuntu终端进入 Apache 项目根目录:cd /var/www/html
3-0、给html目录及其子目录和文件设置用户、用户组和权限,也就是执行如下命令,以便于具备读写、创建和删除等权限:
-
sudo chown -R jean:www-data /var/www/html
-
sudo chmod -R 775 /var/www/html
3、通过composer下载Drupal:composer create-project drupal/recommended-project drupal【就是Drupal官网上的那条命令:https://new.drupal.org/download】
4、在开始安装 Drupal 项目前,需要先做以下工作
- 为安装中文翻译做准备:在Drupal项目中创建目录web/sites/default/files/translations,这个文件夹用于存放安装过程中下载下来的翻译文件。
- 新建settings.php文件:安装过程中会提示web/sites/default/目录下settings.php文件不存在,因此需要先做以下工作:复制web/sites/default/default.settings.php,名称改为settings.php。
- 重新设定html目录及其子目录和文件的权限。默认情况下,translations目录和settings.php文件都不可写,因此需要重新给html目录及其子目录和文件设置用户、用户组和权限,也就是执行如下命令:
-
sudo chown -R jean:www-data /var/www/html
-
sudo chmod -R 775 /var/www/html
-
- Drupal 安装过程中需要输入数据库名,因此打开DataGrip,创建一个新数据库。
5、在浏览器中输入localhost,进入 Drupal 项目的安装。
2.7 第七步:安装 drush 工具
3. Drupal 开发环境搭建过程中的疑难问题解决
3.1 安装翻译过程中出现AJAX错误
解决:网络问题,按F5多刷新几次。
更多推荐



所有评论(0)