论文部分内容阅读
PHP是校园网站升级换代的主要技术之一,因此,承载其存在环境的搭建和配置也就成为了关键。本文通过对我校校园网站的升级过程总结,整理出在Windows 2003 Server系统下,PHP与ASP共存的配置、调试步骤以及在此过程中遇到的问题和解决方法。
一、打系统补丁
安装好Windows 2003 Server操作系统后,在托管之前一定要完成补丁的安装。配置好网络后,最好安装SP1,然后点击开始,选择Windows Update,安装所有的关键更新。也可以安装360安全卫士,对系统进行维护和优化。
二、安装杀毒软件和防ARP软件
目前的杀毒软件种类繁多,其中瑞星、诺顿、卡巴斯基等都是不错的选择。本校网站采用诺顿的服务器版杀毒软件,其纳入了主动防护技术,自动分析应用行为和网络沟通,从而检测并主动拦截威胁。另外,还需要对ARP进行预防和查杀,因为它给网站服务器带来的安全隐患相当大。本校网站服务器采用Arpbind,Arpbind是IDC机房服务器专用ARP防火墙,通过系统启动时自动设置静态IP/MAC绑定来防止ARP攻击,并可预防机器中被装入ARP攻击软件,Arpbind会在系统启动时自动运行,运行时不影响服务器系统性能。
三、安装IIS6.0
IIS6.0在Windows2003服务器的四种版本中都包含,它不能运行在Windows XP、Windows 2000或Windows NT上。除了Windows 2003 Web版本外,其余版本默认都不安装IIS。其与以前IIS版本的差异也很大,如提供POP3服务和POP3服务Web管理器支持。另外,在Windows 2003下的IIS安装有三种方式:传统的“添加或删除程序”中“添加/删除Windows组件”方式、利用“管理您的服务器”向导和采用无人值守的智能安装。
1.IIS6.0安装过程
我们采用在控制面板内安装的方式。依次选择“添加或删除程序”中“添加/删除Windows组件/应用程序服务器/Internet信息服务/万维网服务,点击“确定”安装完成。
2.配置IIS6.0
此时默认Web站点已经启动。但注意,IIS6.0最初安装完成只支持静态内容(即不能正常显示基于ASP和PHP的网页内容),因此首先要打开其动态内容支持功能。依次选择“开始/程序/管理工具/internet信息服务管理器”,在打开的IIS管理窗口左栏选择“web服务扩展”,将“ASP.NET v.1.1.4322”项和“Active Server Pages”项启用即可。
这样,在Windows 2003 Server服务器上就可以运行ASP文件,接下来,只要在IIS6.0上能够运行PHP就可以了。
四、安装PHP
1.将php-5.1.2-Win32.zip直接解压至D:php目录,即可得PHP文件存放目录(路径可自行设置)。
2.将PHP5为D:php和子文件夹ext下的所有dll文件拷到c:Windowssystem32下,覆盖已有的dll文件。
3.将D:PHP目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:Windows下。然后将C:Windowsphp.ini-dist改名为php.ini,用记事本打开,利用记事本的查找功能搜索register_globals=Off,将Off改成On。将extension_dir=的路径指到PHP目录下的 extensions目录,比如:extension_dir = "D:phpext"。
将以下内容前面的“;”去掉
;extension=php_dbase.dll可选
;extension=php_gd2.dll这个是用来支持GD库的,一般需要,必选
;extension=php_ldap.dll可选
;extension=php_mbstring.dll这不选一般用phpmyadmin会出红色提示,故必选
;extension=php_mssql.dll这个是用来支持MSSQL的,可选
;extension=php_mysql.dll这个是用来支持MYSQL的,要支持MYSQL必选
4.依次选择“Internet服务管理器/网站(右键)/属性/主目录/配置/添加/扩展名为.php”,单击“浏览”将可执行文件指向“php5isapi.dll所在路径”,如:D:phpphp5isapi.dll。
5.依次选择“Internet 服务管理器/Web 信息管理器/添加一个新的web扩展程序/输入:PHP”,再将可执行文件指向“php5isapi.dll所在路径/允许”。
6.将以下代码复制到一个文本文件内,保存为.bat文件并运行。
net stop w3svc
net stop iisadmin
net start w3svc
运行后,打开网站的“属性/ISAPI筛选器”,如图1。
7.新建一个网站,在网站目录下建立mysite.php内容为:
phpinfo();
?>
打开浏览器,输入http://localhost/mysite.php,显示当前服务器所支持PHP的全部信息,可以看到 Server API的模式为ISAPI 。
五、相关设置问题解决
现象1:HTTP 错误 404——文件或目录未找到
此类问题十分常见,原因是在IIS6.0中新增了“web程序扩展”这一项,而里面的很多服务默认都是禁止的。解决方法是直接在“web程序扩展”里启用“Active Server Pages”即可。如果启用后仍然不能正常访问网页,则应修改网页源文件的访问权限,一般设置成“777”即可。
现象2:HTTP 错误 401.2——未经授权:访问由于服务器配置被拒绝
造成此类问题的原因是身份验证设置的问题,一般将其设置为匿名身份认证,这是大多数站点使用的认证方法。
现象3:类似于Server.MapPath() 错误 ’ASP 0175 : 80004005’的出错信息
IIS6.0出于安全考虑,默认关闭了父路径(诸如../格式的语句),只需在“主目录/配置/选项”中,将“启用父路径”勾选即可(如图2)。
六、安全设置
1.设置端口保护和防火墙
Windows 2003的端口屏蔽可以通过自身防火墙来解决,依次选择“桌面/网上邻居/属性/本地连接/属性/高级/Internet连接防火墙/设置”,把服务器上要用到的服务端口选中。例如:一台Web服务器要提供Web(80)、FTP(21)服务及远程桌面管理(3389),在“FTP 服务器”、“Web服务器(HTTP)”、“远程桌面”前面打上对号,如果提供服务的端口不在里面,可以点击“添加”按钮,具体参数可参照系统内原有的参数,点击“确定”。注意:如果是远程管理这台服务器,请先确定远程管理的端口是否选中或添加。
2.权限设置——磁盘权限
系统盘及所有磁盘只给Administrators组和SYSTEM的完全控制权限。
系统盘Documents and Settings目录只给Administrators组和SYSTEM的完全控制权限
系统盘Documents and SettingsAll Users目录只给Administrators组和SYSTEM的完全控制权限
系统盘Inetpub目录及下面所有目录、文件只给Administrators组和SYSTEM的完全控制权限
系统盘WindowsSystem32cacls.exe、cmd.exe、net.exe、net1.exe文件只给Administrators组和SYSTEM的完全控制权限
3.防止列出用户组和系统进程
在阿江ASP探针1.9中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来。方法是在“开始/程序/管理工具/服务”中,找到Workstation,停止并禁用它。
(作者单位:江苏新海高级中学)
一、打系统补丁
安装好Windows 2003 Server操作系统后,在托管之前一定要完成补丁的安装。配置好网络后,最好安装SP1,然后点击开始,选择Windows Update,安装所有的关键更新。也可以安装360安全卫士,对系统进行维护和优化。
二、安装杀毒软件和防ARP软件
目前的杀毒软件种类繁多,其中瑞星、诺顿、卡巴斯基等都是不错的选择。本校网站采用诺顿的服务器版杀毒软件,其纳入了主动防护技术,自动分析应用行为和网络沟通,从而检测并主动拦截威胁。另外,还需要对ARP进行预防和查杀,因为它给网站服务器带来的安全隐患相当大。本校网站服务器采用Arpbind,Arpbind是IDC机房服务器专用ARP防火墙,通过系统启动时自动设置静态IP/MAC绑定来防止ARP攻击,并可预防机器中被装入ARP攻击软件,Arpbind会在系统启动时自动运行,运行时不影响服务器系统性能。
三、安装IIS6.0
IIS6.0在Windows2003服务器的四种版本中都包含,它不能运行在Windows XP、Windows 2000或Windows NT上。除了Windows 2003 Web版本外,其余版本默认都不安装IIS。其与以前IIS版本的差异也很大,如提供POP3服务和POP3服务Web管理器支持。另外,在Windows 2003下的IIS安装有三种方式:传统的“添加或删除程序”中“添加/删除Windows组件”方式、利用“管理您的服务器”向导和采用无人值守的智能安装。
1.IIS6.0安装过程
我们采用在控制面板内安装的方式。依次选择“添加或删除程序”中“添加/删除Windows组件/应用程序服务器/Internet信息服务/万维网服务,点击“确定”安装完成。
2.配置IIS6.0
此时默认Web站点已经启动。但注意,IIS6.0最初安装完成只支持静态内容(即不能正常显示基于ASP和PHP的网页内容),因此首先要打开其动态内容支持功能。依次选择“开始/程序/管理工具/internet信息服务管理器”,在打开的IIS管理窗口左栏选择“web服务扩展”,将“ASP.NET v.1.1.4322”项和“Active Server Pages”项启用即可。
这样,在Windows 2003 Server服务器上就可以运行ASP文件,接下来,只要在IIS6.0上能够运行PHP就可以了。
四、安装PHP
1.将php-5.1.2-Win32.zip直接解压至D:php目录,即可得PHP文件存放目录(路径可自行设置)。
2.将PHP5为D:php和子文件夹ext下的所有dll文件拷到c:Windowssystem32下,覆盖已有的dll文件。
3.将D:PHP目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:Windows下。然后将C:Windowsphp.ini-dist改名为php.ini,用记事本打开,利用记事本的查找功能搜索register_globals=Off,将Off改成On。将extension_dir=的路径指到PHP目录下的 extensions目录,比如:extension_dir = "D:phpext"。
将以下内容前面的“;”去掉
;extension=php_dbase.dll可选
;extension=php_gd2.dll这个是用来支持GD库的,一般需要,必选
;extension=php_ldap.dll可选
;extension=php_mbstring.dll这不选一般用phpmyadmin会出红色提示,故必选
;extension=php_mssql.dll这个是用来支持MSSQL的,可选
;extension=php_mysql.dll这个是用来支持MYSQL的,要支持MYSQL必选
4.依次选择“Internet服务管理器/网站(右键)/属性/主目录/配置/添加/扩展名为.php”,单击“浏览”将可执行文件指向“php5isapi.dll所在路径”,如:D:phpphp5isapi.dll。
5.依次选择“Internet 服务管理器/Web 信息管理器/添加一个新的web扩展程序/输入:PHP”,再将可执行文件指向“php5isapi.dll所在路径/允许”。
6.将以下代码复制到一个文本文件内,保存为.bat文件并运行。
net stop w3svc
net stop iisadmin
net start w3svc
运行后,打开网站的“属性/ISAPI筛选器”,如图1。
7.新建一个网站,在网站目录下建立mysite.php内容为:
phpinfo();
?>
打开浏览器,输入http://localhost/mysite.php,显示当前服务器所支持PHP的全部信息,可以看到 Server API的模式为ISAPI 。
五、相关设置问题解决
现象1:HTTP 错误 404——文件或目录未找到
此类问题十分常见,原因是在IIS6.0中新增了“web程序扩展”这一项,而里面的很多服务默认都是禁止的。解决方法是直接在“web程序扩展”里启用“Active Server Pages”即可。如果启用后仍然不能正常访问网页,则应修改网页源文件的访问权限,一般设置成“777”即可。
现象2:HTTP 错误 401.2——未经授权:访问由于服务器配置被拒绝
造成此类问题的原因是身份验证设置的问题,一般将其设置为匿名身份认证,这是大多数站点使用的认证方法。
现象3:类似于Server.MapPath() 错误 ’ASP 0175 : 80004005’的出错信息
IIS6.0出于安全考虑,默认关闭了父路径(诸如../格式的语句),只需在“主目录/配置/选项”中,将“启用父路径”勾选即可(如图2)。
六、安全设置
1.设置端口保护和防火墙
Windows 2003的端口屏蔽可以通过自身防火墙来解决,依次选择“桌面/网上邻居/属性/本地连接/属性/高级/Internet连接防火墙/设置”,把服务器上要用到的服务端口选中。例如:一台Web服务器要提供Web(80)、FTP(21)服务及远程桌面管理(3389),在“FTP 服务器”、“Web服务器(HTTP)”、“远程桌面”前面打上对号,如果提供服务的端口不在里面,可以点击“添加”按钮,具体参数可参照系统内原有的参数,点击“确定”。注意:如果是远程管理这台服务器,请先确定远程管理的端口是否选中或添加。
2.权限设置——磁盘权限
系统盘及所有磁盘只给Administrators组和SYSTEM的完全控制权限。
系统盘Documents and Settings目录只给Administrators组和SYSTEM的完全控制权限
系统盘Documents and SettingsAll Users目录只给Administrators组和SYSTEM的完全控制权限
系统盘Inetpub目录及下面所有目录、文件只给Administrators组和SYSTEM的完全控制权限
系统盘WindowsSystem32cacls.exe、cmd.exe、net.exe、net1.exe文件只给Administrators组和SYSTEM的完全控制权限
3.防止列出用户组和系统进程
在阿江ASP探针1.9中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来。方法是在“开始/程序/管理工具/服务”中,找到Workstation,停止并禁用它。
(作者单位:江苏新海高级中学)