要想学习 CTF,就要学很多杂七杂八的东西,相关的环境也是必不可少。
下文将带你一起在 Windows 下配置 Apache/PHP/MySQL 环境。
想省事直接装集成开发环境的朋友可以直接划走。
Apache
选择喜欢的版本,点击 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
找到上方的 DOWNLOADS,然后下拉到最底部,有一个 “MySQL Community (GPL) Downloads »”,找到社区版。(Oracle 公司坏的很,把免费的社区版放那么隐蔽的地方,我找了半天,难怪原作者跑去弄 MariaDB 了)
下载下来的是个 Installer,默认自带了 MySQL8,想要其他版本的可以在里面自行勾选,需要额外下载内容。
里面有些组件需要新版 Microsoft Visual C++ Redistributable 支持,没有的可以点这里去官网下载。
如果没啥需求直接 Next 就行。
PHP
老样子,点击上面的 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 | <IfModule mime_module> |
最后找到 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 是否加载。
目前主要用到的就只有这些,如果一切正常,那么恭喜你成功了。
如果有什么出入的可以在下面评论留言,我会尽快回复的。