Windows下PHP+MySQL+IIS安全平台搭建(6)
(2)设置默认文档
如图19所示,然后单击“文档”页签,在“默认内容文档”中根据网站程序首页名称添加对应的页面名称,一般为“index.php,default.php”,如有静态化的话,可能包 含“index.htm”,“index.html”,把他们都添加到列表里,完成后,单击“确定”,关闭站点属性配置窗口,回到 IIS 管理器主界面。
(3)添加php的扩展
如图20我们选择添加php的扩展。这里有一步一定要注意就是把图20中划线的地方也就是设置扩展状态为允许,不然的话也是不会支持php的。
(六)测试PHP环境
到这一步我们基本上就完成了网站的配置了,我们首先启动我们的Test站点,因为我们一开始配置的时候关闭了。我们进入我们的web目录新建一个index.php文件,内容是。然后我们打开站点,如图21所示,表示我们成功完成了IIS+Mysql+PHP的配置。
注意:
通过phpinfo()函数可以显示我们的配置情况,配置正确与否可以通过这个来显示。我们到这里已经完成安装了。
4.设置网站主目录
如图15所示,这里选择网站的主目录,对应你自己的网站目录就可以了。我们看画线的部分是允许匿名访问,我们必须选择,如果您的网站是基于windows集成认证的话可以不选择,大部分的网站必须选择上。
5.设置网站访问权限
在上面的步骤中选择好了以后,单击“下一步”到如图16所示的网站访问权限设置界面中,这里需要注意的是我们必须选择上前两项,即“读缺和“运行脚本”。点“下一步”完成网站配置。
说明:
以上设置在使用新建网站向导设置完毕后,在IIS管理器中还可以进行修改。
6.配置IIS支持PHP
配置完了网站后,我们就开始配置IIS对php的支持了,我们最好先把网站停掉。
(1)配置Test网站
如图17所示,我们右键单击刚才新建的“test”这个网站,然后选择属性。我们单击“主目录”页签。
(2)配置php扩展
单击“配置”按钮,在新弹出的“应用程序配置”对话框中,单击“添加”按钮,加入PHP的ISAPI支持,选择可执行文件为“D:\PHP\php5isapi.dll“(PHP目录下的php5isapi.dll),扩展名为”.php“(这里千万注意php前面的.),”限制动作为“GET,POST”,如图18所示,单击“确定”添加,并在“应用程序扩展”窗口中查看“.php”扩展是否加载成功。若成功,则单击“确定”关闭配置窗口,回到站点属性主窗口。
(5)安装Mysql
如图10所示,我们开始安装Mysql了,如果所有的选项都是被打勾,表示安装Mysql成功,而且安装成功后会给出一些提示,如果安装不成功,请重复上面步骤重新安装!
OK到这里Mysql的基本配置就算完成了。到上面这步我们已经算完成了IIS,PHP,mysql的基本的准备工作了,下面我们就开始利用IIS来加载php了。
(五)配置IIS支持php
1.新建网站
由于配置的是Windows下的网站,因此需要建立一个新的站点。单击“开始”-> “所有程序” -> “管理工具” –> “Internet 信息服务(IIS)管理器”,如果一切正常,则会弹出如图11所示的画面。
右键单击网站,从弹出的菜单中选择“新建”,如图12所示,然后选择子菜单中的网站,接着会弹出网站创建向导,我们点击“下一步”案例继续进行配置。
2.设置网站名称
如图13所示,这里我们输入名字,这里可以写成您对应网站的名称,主要用于标识和区分。
3.设置主机头
如图14所示,这里有个重点需要说一下,就是此网站的主机头,其实这个选项的作用就是可以配置虚拟主机,说白了也就是一个服务器上安装多个网站,这里填入你自己对应的网址就可以了,这里我们就不填写了。网站的IP地址这里可以浏览的IP地址,我们这里输入全部未分配,本机所有的网卡上的所有的IP地址都可以访问。下面一个是WWW的端口,默认80我们就不修改了。
(四)Mysql基本准备工作
1.安装Mysql
(1)运行Mysql安装程序
我们使用的是最新版本的6.0.8,前面基本的安装位置等我们就略过不讲解了,大部分人都可以独立的完成,我们这里重点讲解一下如何配置Mysql的服务器。我们从如图6开始讲解,图6是欢迎界面,没什么说的,直接点下一步。
(2)选择安装类型
如图7所示,这里是比较关键的一步,让我们选择安装的类型,“Detailed Configuration”是手动精确配置,我们可以自己很好的定制服务器,按照自己的需要配置服务器。这里适合懂Mysql基本原理的朋友使用。第二个是“Standard Configuration”标准配置,这个选项的作用是利用Mysql默认推荐的选项来完成安装。我们选择“Standard Configuration”,因为我们只是使用标准的Mysql功能就可以了。
(3)配置实例
如图8所示,在实例配置向导中也有2个选择,比较容易理解“Install As Windows Service”,选择它就是安装成Windows的系统服务,说白了就是开机的时候能自动启动。第二个“Include Bin Directory in Windows PATH”就是把Mysql的BIN目录安装进环境目录,好处是任意打开的CMD.exe都可以执行Mysql的程序。根据个人爱好,在本例就全选,且将Mysql作为服务名称。
(4)设置Mysql密码
点“下一步”如图9所示,这里主要是一些基本的安全设置,例如root的密码,这里的原则是尽量复杂,并且一定不要使用root用户来安装一些php的程序,例如Discuz等,我们的原则是另外建立一个专用的低权限的用户。我们后面会进行介绍的,我们看图9,在这里还有个特许需要注意的地方,画红线的地方一定不要选择,这里“Enable root access from remote machines”的意思是让root用户可以进行远程连接。因为如果你设置的密码简单的话,并且开启了远程访问的功能话,被黑客渗透进来,那黑客拿的权限大部分是系统权限。所以这里一定要注意。
4.配置应用服务器
在这里我们选择应用程序服务器(IIS,asp.net),然后单击“下一步”按钮,在出现如图3所示的界面中有2个选项,第一个“FrontPage Server Extension”一般用不到,出于安全原因建议不要选择它。第二个“启用Asp.net”是开启asp.net的支持,如果您的程序是asp.net的,就需要选择“开启asp.net”,然后一路单击“下一步”按钮就进行安装了。安装的速度很快,安装完成了以后,我们就可以来运行IIS了,单击“开始”菜单 -> “所有程序” -> “管理工具”,在管理工具中多了一个“IIS服务器管理器”,这就说明我们安装成功了,如果其中没有该选项,请重复上面的步骤继续安装或者重新安装。
(二)下载最新的mysql和php并安装
1.下载Mysql
我们从www.mysql.org下载最新的版本6.0.8,Mysql的下载地址是:[点击下载]
2.下载Php
如果本地没有PHP则可以到Php的下载地址去下载:[点击下载]
我们为什么要下载最新版的啊,因为最新版的黑客研究的相对来说比较说,算是比较安全的。安装的过程很简单,直接按照默认的安装这里就不多废话了。这里说一下我把php安装到了D:php目录下,还有后面的我会详细讲解Mysql如何进行配置。
(三)PHP基本准备工作
1.选择配置PHP.ini文件
PHP安装完成了以后(其实也就是将压缩包解压缩,也有那种微软的msi那种一步一步安装的,俺没有试过),我们首先来到php的安装目录下,我们在这里可以看到了2个php.ini的文件,即php.ini-dist和php.ini-recommended。我们最好选择php.ini-recommended,因为这个文件是php官方经过优化以后的文件。我们把这个文件改名改成php.ini,然后把它复制到C:windows目录下。
2.复制Libmysql.dll库文件到系统
将libmysql.dll复制到系统目录里是为了能让PHP程序可以和MYSQL数据库相连接。如用的不是mysql就不用复制了,在这里把“D:php”目录下的Libmysql.dll文件复制到“C:windowssystem32”目录下。
3.配置php.ini文件
我们进入“C:windows”找到php.ini文件,我们需要编辑几个参数,以至于让php能找到我们需要的组件例如mysql库,gd库的支持等等。
(1)修改extension_dir参数。如图4所示,我们首先找到extension_dir = "./"把这里修改成extension_dir = "D:/php/ext",这里必须注意修改成自己的配置环境,否则不会成功的。
(2)加载需要使用的模块。根据实际情况加载所需的模块,在本次配置环境中我们需要加载mysql模块,gd模块, mcrypt模块。如图5所示,是我们修改后的情况,我们做的工作是仅仅需要把“;extension=php_openssl.dll”前面的分号去掉。当然是您需要什么模块就去掉对应的引号。
说明:
(1)“.php”可以和任意的数据库进行连接并且能够很好的无缝的工作,例如最经典的是mysql,其次还有mssql,ORACLE等数据库.如果您的操作环境选择的不是Mysql的话,那么您必须修改对应的模块,例如mssql对应的模块是php_mssql.dll,ORACLE对应的模块php_oci8.dll等等。
(2)GD模块,加载它的作用是对图形的支持,说的大家明白点例如Discuz的加水印的功能。
(3)mysql是支持Mysql数据库必须加载的模块。
(4)mcrypt模块是Phpmyadmin需要的模块。如果你觉得手工管理mysql麻烦,而且觉得下载软件也比较麻烦的话,可以下载一个phpMyAdmin,非常强大的mysql管理工具。