最近一直在配环境,在配iis+sqlserver+php的时候,走了很多的坑,这里记录一下。
目录
0x01 SQL server配置
0x02 IIS配置
0x03 PHP配置
0x04 配置IIS支持PHP
0x05 PHP连接SQL server
0x01 SQL server配置
这里就不说安装sqlserver的过程了,这里我用的是sqlserver2012,不带本地连接工具仅用于网络连接的。
由于这里我用的是win08的,在安装sqlserver的时候存在一些坑,需要提前安装.net2.0、.net4.0的环境的,还有所需要的vc环境,这个根据自己具体的配置环境来进行安装即可,这里还有一点就是需要更改防火墙规则。
0x02 IIS配置
这里直接安装IIS即可
这里由于我们要使IIS支持PHP,所以这里需要增加一下CGI模块
然后等待安装即可
在安装好之后我们先配置一下IIS,让其生效,并测试一下能否正常工作,这里按照自己的配置去设置
设置好之后,我们自己创建一个index.html进行一次测试
这个时候可能出现这个情况
这是由于文件夹权限的问题,我们需要对文件夹进行授权,添加IUSR
用户权限
然后重启服务即可正常访问
这里由于我没有在index.html填写内容,所以会显示一个空白页面,不过也能证明可以正常访问了
0x03 PHP配置
接下来配置PHP
我们先从官网下载相应的PHP版本,这里的版本一定要注意,因为之后配置PHP与SQL server连接的话,是对版本要求特别严格的,最好都注意一下。
然后去PHP的官网下载对应的PHP
https://www.php.net/downloads.php
这里我用的是PHP7.2
在下载这里大家也都注意一下,我简单说一下
上面两个为x64版本的,下面为x86的,第一个是非线程安全的,第二个是线程安全的
这里我选择64位非线程安全的ZIP文件,在下载后解压到相应文件夹即可
这里大家可能会注意到前面的VC15的字样,这个是要求有对应的VC运行库的,这个问题自行解决。
在下载完成之后将文件夹放到我们所需要的目录下即可
这里需要注意一下,安装好的PHP文件夹是不存在php.ini文件的,它有生产环境和开发环境两种。
我们需要将其中的一个改名为php.ini才可以
0x04 配置IIS支持PHP
在php.ini中找到下列内容并更改
找到 extension_dir = "./"
,更改其中的路径为自己PHP所在位置的ext文件夹,并去掉文件开头的注释
找到 cgi.force_redirect = 1
,将1更改为0,并去掉注释
找到 cgi.fix_pathinfo=1
,去掉注释
找到 fastcgi.impersonate = 1 ,去掉注释
接下来去IIS添加模块映射
然后添加如下内容
紧接着进入网站目录写入phpinfo文件,查看是否成功
这里如果出现了如下的情况,可能就是由于没有安装对应的运行库而造成的
如果没有问题,将会出现如下的界面
0x05 PHP连接SQL server
我们先去下载SQL server扩展
Microsoft Drivers for PHP for SQL Server
https://docs.microsoft.com/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017
根据系统要求,我们去下载5.6版本的扩展文件,具体系统要求可以在下面这个网址中查看
https://docs.microsoft.com/zh-cn/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017
下载完成之后直接将文件放到我们的ext目录下
完成后,会增加下列的扩展文件
接着,我们需要去php.ini中添加所要加载的扩展
我们安装的是PHP7.2的64位非线程安全版本,所以这里需要添加如下的内容
extension=php_pdo_sqlsrv_72_nts_x64
extension=php_sqlsrv_72_nts_x64
然后刷新phpinfo页面,查看是否成功
最后,我们来安装一下ODBC驱动
Microsoft® ODBC Driver 13.1 for SQL Server
https://www.microsoft.com/en-us/download/details.aspx?id=53339
选择对应的版本安装即可
到这里为止,我们就完成了整个的部署
最后再进行一次测试
已经成功查询到结果
文章首发公众号:无心的梦呓(wuxinmengyi)
这是一个记录红队学习、信安笔记,个人成长的公众号
扫码关注即可