注意
搭建本环境所需要的Apache、mysql、php一定要确保他们都是32位或者64位的
下载apache、mysql、php、sqli-lab项目源码
apache下载地址:https://www.apachehaus.com/cgi-bin/download.plx
这里我选择下载的是32位版本的:httpd-2.4.39-o102r-x86-vc14.zip
mysql下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
这里我选择下载的是32位版本的:mysql-5.6.44-win32.zip
php下载地址:https://windows.php.net/downloads/releases/archives/
这里我选择下载的是32位版本的:php-5.6.37-Win32-VC11-x86.zip
sqli-lab项目地址:https://github.com/Audi-1/sqli-labs
全部下载完成后解压,然后我的目录结构为:
配置PHP
打开 C:\www\php-5.6.37-Win32-VC11-x86\ 把其中的 php.ini-development 复制一份并重命名为php.ini并打开
配置第734行左右:
extension_dir = "C:/www/php-5.6.37-Win32-VC11-x86/ext"
配置第900行左右(去掉注释即可):
extension=php_mysql.dll
extension=php_mysqli.dll
配置apache
打开 C:\www\Apache24\conf 目录下的 httpd.conf 文件
配置第38行左右的:
Define SRVROOT "C:/www/Apache24"
第一步配置完成后可以先尝试运行一下服务器,看是否能够运行成功 运行 C:/www/Apache24/bin/httpd.exe 即可
我这里缺少了VCRUNTIME140.dll
解决办法:
1、官网下载Microsoft.Net.Framework的安装:
下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=49981
2、安装Visual C++ Redistributable for Visual Studio 2015
下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
参考文章:https://blog.csdn.net/lh87270202/article/details/80428329
配置第184行左右的:
LoadModule php5_module "C:/www/php-5.6.37-Win32-VC11-x86/php5apache2_4.dll" PHPIniDir "C:/www/php-5.6.37-Win32-VC11-x86/"
配置第288行左右的:
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
配置第394行左右的:
<IfModule mime_module> ... AddType application/x-httpd-php .php ... </IfModule>
这些配置完毕后可以在 C:\www\Apache24\htdocs 目录下创建一个index.php文件并写入:
<?php phpinfo(); ?>
然后运行 httpd.exe ,在本地浏览器打开 127.0.0.1 如果显示:
则表示配置apache对php的支持成功
配置mysql
打开 C:\www\mysql-5.6.44-win32 中的 my-default.ini 复制一份并重命名为my.ini 按需求配置以下几项即可:
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir="C:/www/mysql-5.6.44-win32" # 设置mysql数据库的数据的存放目录 datadir="C:/www/mysql-5.6.44-win32/data" # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password #secure_file_priv = "E:/www/mysql/mysql-5.7.24-win32/backup" secure_file_priv = skip-ssl [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
配置完成后运行 C:\www\mysql-5.6.44-win32\bin 目录下的mysqld.exe 我这里出现了以下问题:
缺少了MSVCR100.dll
下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=5555
配置sqli-lab
将解压后的文件复制到 C:\www\Apache24\htdocs
打开sql-connections文件夹下的db-creds.inc文件
<?php //give your mysql connection username n password $dbuser ='root'; $dbpass ='toor'; $dbname ="security"; $host = 'localhost'; $dbname1 = "challenges"; ?>
填入自己的mysql数据库密码,mysql默认密码为空
关于如何更改数据库密码:https://www.cnblogs.com/qianzf/p/7089197.html
结束
以上全部配置完毕后,运行httpd、mysqld,在浏览器中输入127.0.0.1,显示如下
点击 Setup/reset Database for labs 初始化数据库
OK,恭喜,大功告成!!!