Windows下配置Apache/PHP/MySQL环境

被浏览

要想学习 CTF,就要学很多杂七杂八的东西,相关的环境也是必不可少。

下文将带你一起在 Windows 下配置 Apache/PHP/MySQL 环境。

想省事直接装集成开发环境的朋友可以直接划走。

Apache

官网:https://httpd.apache.org/

选择喜欢的版本,点击 Download,会传送到相应锚点。因为我们是 Windows 下安装环境,所以选择 Files for Microsoft Windows。在 Downloading Apache for Windows 下有很多选项,选择 ApacheHaus 或是 Apache Lounge,而后面都是集成开发环境了。

下载后解压即可,推荐新建一个 Server 文件夹把它扔进去。

打开 Server\Apache24\conf\httpd.conf,找到 Define SRVROOT,将其改为 D:\Server\Apache24

最后应形如 Define SRVROOT "D:\Server\Apache24"

执行 httpd -t 检查配置有无语法错误。

建议把 Server\Apache24\bin 放到环境变量里去,可以直接用 httpd

MySQL

官网:https://www.mysql.com/

找到上方的 DOWNLOADS,然后下拉到最底部,有一个 “MySQL Community (GPL) Downloads »”,找到社区版。(Oracle 公司坏的很,把免费的社区版放那么隐蔽的地方,我找了半天,难怪原作者跑去弄 MariaDB 了)

下载下来的是个 Installer,默认自带了 MySQL8,想要其他版本的可以在里面自行勾选,需要额外下载内容。

里面有些组件需要新版 Microsoft Visual C++ Redistributable 支持,没有的可以点这里去官网下载。

如果没啥需求直接 Next 就行。

PHP

官网:https://www.php.net/

老样子,点击上面的 Downloads,下载后是个压缩包,解压即可,推荐和 Apache 一起扔到 Server 文件夹下面。

P.S. 想用 PHP 编写单代码文件的小伙伴可以把 Server\php 放进环境变量里。

可能会有小伙伴会问为什么上面步骤那么少?因为 PHP 才是串起 Apache 和 MySQL 的关键,接下来需要为它们俩配置 PHP。

Apache

打开 Server\Apache24\conf\httpd.conf

我们需要加载 PHP,所以找到加载模块的地方(也就是有一串 LoadModule 的地方),在最后加上

1
LoadModule php_module 'D:\Server\php\php8apache2_4.dll'

然后添加名叫 PHPRC 的环境变量,路径设置为 D:\Server\php\

不推荐使用 PHPIniDir 变量,笔者有时候加载不到 php.ini。

如果想用的话在 httpd.conf 中添加一行 PHPIniDir “D:\Server\php” 即可。

其中路径请自行替换为自己本机的路径,不要照搬。

然后在 mime_module 设置下,添加 AddHandler application/x-httpd-php .php

最后的内容结构应形如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig conf/mime.types

...

#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml

AddType application/x-httpd-php .php
</IfModule>

最后找到 DirectoryIndex, 在后面添加 index.php,最后应为 DirectoryIndex index.html index.php

MySQL

Server\php 下的 php.ini-development(或是 php.ini-production)复制一份,重命名为 php.ini,打开它。

找到 extension_dir,有个 “On windows”的选项,将其下路径改为绝对路径,以我为例,修改完应为:

extension_dir = "D:\Server\php\ext"

然后找到 extension=mysqli,将前面的注释去除。

在高版本的 PHP 中,php_mysql.dll 已经被去除了,如果你看过别的教程可能会找不到这个文件。

检查配置

Server\Apache24\htdocs 下新建一个内容为 <?php phpinfo(); ?>index.php,。

命令行运行 httpd,直接打开 http://127.0.0.1/ 或者 http://localhost/ 看有没有加载出网页。

如果没有,说明 Apache 中的 DirectoryIndex 配置错了。

接着看输出的内容,重点检查 Loaded Configuration File 是否正确,然后查看 mysqli 是否加载。

目前主要用到的就只有这些,如果一切正常,那么恭喜你成功了。

如果有什么出入的可以在下面评论留言,我会尽快回复的。