IIS中配置安装PHP环境配置及安全设置详解
IIS的安装
肯定是IIS的安装,这个就不需要详细讲解了吧,想准备好I386文件,在开始——控制面板——添加删除程序——添加删除组件里面,选中应用程序服务器,单击“详细信息”(如图一),勾取Internet信息服务(IIS)单击下一步,根据提示找到你I386文件。

在这里需要在
WEB服务扩展允许Active Server Pages(开启ASP程序支持)和Internet数据连接器,其余的需要什么功能才开启什么服务扩展。(如图)

建立虚拟主机(一个服务器建立多个网站)
一个服务器建立多个网站又三种办法可以实现:IP不同,端口不同,主机头(域名)不同,都可以建立。相信第一、二种没有多少人会用吧,我就用第三中方法去建立虚拟主机。
建议不要使用默认网站,建立虚拟主机,在开始菜单管理工具里面打开Internet信息服务(IIS)管理器,右击网站——新建——网站,在第一步输入你对这个网站定义的名字,(如图)由自己随便输入,只要自己能够分清楚就行了。

输入好了以后单击下一步,如果你是用多IP的方法建立虚拟主机,就选取你要用在这个网站上的IP,(我相信这个没有谁会这么做吧)输入主机头,既是你这个网站所要用域名。如图

下一步既是你网站程序所在的路径了。这一步不需要多说了吧。最后一步选取读取和运行脚本就行了。一个虚拟主机就配置完成了。
配置伪静态
首先,下载文件 rewrite.ziP将其解压到本地硬盘(压缩包里有两个文件,分别是IisUrlRewriter.dll和IisUrlRewriter.ini,(IisUrlRewriter.ini为解析配置文件,IisUrlRewriter.dll为执行文件,每个网站的解析规则不一样,需要自己去设置)然后打开IIS管理器:
在WEB服务扩展中启用所有未知ISAPI筛选器,然后在需要使用伪静态的网站属性中选择“ISAPI筛选器”,然后选择“添加”:
在“添加/编辑筛选器属性”对话框中,点击“浏览”:
在这里,选择刚才解压出来的IisUrlRewriter.dll
点击“确定”结束设置:
如果设置没有生效,你需要重启IIS
如果需要在IIS里开启ASP帖子URL到PHP帖子的映射,你需要修改解压出来的IisUrlRewriter.ini文件,找到#RewriteRule ^(.*?(?:index|dispbbs)).asp(.*)$ $1.php$2&__is_iis_rewrite=1 将#去掉即可!如图:

如果加载失败会在状态的地方出现一个红色向下的箭头,我们就应该检查一下执行文件所在目录的权限,用该给
IIS_WPG(应用程序池帐户)运行读取权限,
虚拟主机属性配置
你所建立的虚拟主机单击右键属性,弹出网站属性对话框(如图)

如果你网站需要绑定多域名点击IP地址旁边高级会弹出一个对话框,点击添加即可。(如图)

如果说你的网站需要可以用IP访问你的网站,就在里面加一个空主机头的网站标识。设置文档这个不需要多说了吧,你首页是那个文件就添加那个文件名称,上移到第一个就行了。如果需要使用到父目录就在主目录点击配置——选项把启用父路径勾上(一般都是需要勾上)。
PHP环境的配置
我使用的PHP版本是PHP5.1.2,建立一个名为PHP目录(这个名字可以随便取),将PHP程序解压进去就得到名为PHP5.1.2-win32的子目录,将他改名为PHP5,在PHP里面建立一个名为tmp(这一个名字是固定的)的目录。将PHP.Ini-dist打开查找以下内容:
register_globals = Off将off改为on(此为对应PHP的全局变量功能,考虑有很多PHP程序需要全局变量功能故打开,打开后请注意-PHP程序的严谨性,如果不需要推荐不修改保持默认Off状态)
extension_dir = (此为功能目录,将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = D:/PHP/PHP5/ext)
;upload_tmp_dir = (去掉分号,使用这行对php起作用,是用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个绝对路径,这里设置的目录必须有读写权限。 将其指向你刚才建立的tmp文件夹位置)
将下面一些常用项目的分号去掉,使其对php解析程序有作用:
;extension=php_mbstring.dll
;extension=php_curl.dll
;extension=php_dbase.dll
;extension=php_gd2.dll
;extension=php_ldap.dll
extension=php_zip.dll
;extension=php_mysql.dll如果是SQL server数据库就是查找;extension=php_mssql.Dll
以上是自己PHP需要什么功能就开什么功能,不需要就不开。
;session.save_path =
去掉前面;号,指向你所建立的tmp目录,
本文这里将其设置置为
session.save_path = D:/php/tmp
改好之后就把它另存为到C盘WINDOWS文件夹下,名为php.Ini,再将PHP目录里面的DLL文件全部复制到C:/windows/system32文件下。
无法上传较大的文件或者运行某些程序经常超时的,那么可以找到C:Windows 目录下的PHP.INI以下内容修改:
max_execution_time = 30; 这个是每个脚本运行的最长时间,可以自己修改加长,单位秒
max_input_time = 60
; 这是每个脚本可以消耗的时间,单位也是秒
memory_limit = 8M
; 这个是脚本运行最大消耗的内存,也可以自己加大
upload_max_filesize = 2M ; 上载文件的最大许可大小 ,自己改吧,一些图片论坛需要这个更大的值。
IIS与PHP结合
在网站属性里面,主目录选项卡,单击配置——映射在下面应用程序扩展中添加新增加一个映射扩展名如本文的添加.PHP的后缀,可执行文件为的D:/PHP/PHP5/php5isapi.Dll,动作限制为GET,HEAD,POST,TRACE如图:

然后重新启动一下Internet信息服务。在网站根目录建立一个内容为:
phpinfo();
?>
的PHP程序,可以测试是否安装成功。比如我建立的一个名为PHP.PHP的文件在根目录我测试输入http://localhost/php.Php就OK了
IIS安全设置
在IIS里面设置的安全,最主要目的就是设置权限把每个网站分隔开来,到时候就算是有一个网站被黑客攻入也不会存在影响到其他网站。比如说我建立了一个123.Com的网站我在计算机管理里面建立一个USER为123.Com再设置网站根目录的权限只Administrators完全控制,system完全控制,删除默认users组,加入123.Com给读取和写入权限。(有一些特殊的网站程序需要给的权限不一样)。让这些权限继承下去。在目录安全性里面设置匿名访问网站需要用的帐户将其设置为你刚才特地建立的帐户。如图

为了保险起见建议为每一个网站建立一个单独的应用程序池,如果某个网站的应用程序池
down掉了,不会影响其他网站。其他的还有一些设置如下:
打开网站设置

修改默认日志路径
主目录设置

只勾选一个 读取,有朋友会问了,那有些图片怎么上传。静态页面怎么生成?后面我们会说道。在点 配置选项来到应用程序设置
应用程序设置
把不需要的组件全删掉,如图,

比如程序有上传漏洞 但是没有过滤 ..HTR 而它执行文件是 ASP.DLL的
和 ASP有相同的权限。
一但上传了 htr 后果也很危险的
把用不到的全删掉
应用程序调试
勾选
发送到文本错误消息给客户
在下面,写上信息
上传文件权限设置
比如我这有个程序,有个UploadFiles文件,这个文件是存放图片,非执行文件。
- 最新评论
