1.4.4 安装和配置Apache Web服务器
最新版本的Apache服务器软件,可从www.apache.org官方网站下载。有两种安装Apache Web服务器的方法,都非常简单,一种是下载用于Windows操作系统的安装文件httpd-2.2.17-win32-x86-openssl-0.9.8o.msi安装,另一种更为简单,就是将安装文件msi运行安装后的文件夹下的文件夹及有关文件(如选择modules文件夹中所需模块)复制到任意位置,通过cmd命令或直接运行BAT文件即可安装、卸载、启动和停止Apache的Web服务。
以下就介绍这种安装方法,使用该安装方法的优点,就是将已开发完成的整个网站以及Apache程序和其他不同用途的应用程序(如FTP文件传输、MySQL数据库等软件)集成为一个软件包,通过一个程序来安装、启动和停止这些程序,使该软件包成为一个产品软件,特别是使用上述Apache、MySQL等开源的无版权争议的软件来开发产品,国外常用此种方法开发网络应用程序,本节就介绍这种快速安装ASP.NET环境来调试ASP.NET程序的方法。
安装和启动Apache Web服务器前,必须停止IIS的Web服务或设置IIS Web的TCP端口号为非80,如以上IIS已设置为8080,也就是说如果本机同时运行IIS和Apache,必须设置它们为不同的TCP端口号,避免端口冲突。
1.安装和卸载Apache Web服务器
复制本书示例文件夹中的Apache文件夹到D:\WebSys\Apache文件夹。
单击“开始→所有程序→附件→命令提示符”,打开DOS窗口。
执行DOS命令D:\WebSys\Apache\bin\httpd -k install -n "Apache",表示安装一个名为Apache的Web服务器,执行如图1.4.7所示。
图1.4.7 安装Apache Web服务器
执行DOS命令D:\WebSys\Apache\bin\httpd -k uninstall -n "Apache",表示卸载一个名为Apache的Web服务器,执行过程如图1.4.8所示。
图1.4.8 卸载Apache Web服务器
或将上述DOS命令写入批处理文件Start.abt和Stop.bat中,通过在运行批处理文件Start.abt和Stop.bat,来启动和停止Apache,本节后面将会介绍。
2.安装Apache Web服务器支持ASP.NET
双击安装示例文件夹中的mod_aspdotnet2.2.msi文件,选择D:\WebSys\Apache目录,其余按默认完成安装。
3.配置Apache Web服务器
Apache的设置和IIS服务器的设置方法完全不同,它不同于IIS图形窗口中的设置方法,需通过在配置文件中添加和修改代码,才能实现不同的功能。
Apache服务器的配置文件httpd.conf,位于安装路径 \WebSys\Apache\conf目录下,它是整个Apache Web服务器的控制中心,主要设置如下所述。
(1)网站根目录
Apache的原始默认根目录是..\Apache\htdocs文件夹,现设置默认根目录为D:\WebSys\Web。
使用记事本程序打开\WebSys\Web\conf\httpd.conf配置文件,执行“编辑→查找”命令,搜索查找不带#号的DocumentRoot项(带#号的行是注释语句),将DocumentRoot右侧的路径修改为"\WebSys\Web"。再搜索<Directory项,将<Directory右侧的路径修改为"D:\WebSys\Web">,即修改下列两行:
将DocumentRoot "D:/Program Files/Apache/htdocs"。
修改为DocumentRoot "D:/WebSys/Web"。
将<Directory "D:/Program Files/Apache/htdocs">。
修改为<Directory "D:/WebSys/Web">。
注意:在修改目录路径时一定要注意“/”和“\”的区别,平常书写路径时用“\”,但在这里一律使用“/”。
(2)默认文档
Apache在默认情况下的默认文档为index.html,可以修改和添加默认文档。在httpd.conf配置文件中搜索查找不带#号的Directoryindex项,在其后修改或添加要设置的默认文档,如添加index. html为index.htm,添加index.php,即:
将DirectoryIndex index.html。
改为DirectoryIndex index.htm index.php。
注意:其一是index.aspx在支持ASP.NET的代码块中添加。其二是添加多个默认文档时,默认文档间一定要用空格隔开。在最前面的首先被调用,如果该服务不存在,就调用第二个,以此类推,直到把默认文档调用完为止。
(3)修改TCP端口号
Apache Web服务器默认端口号为80,一般不做任何修改,如需修改,在httpd.conf配置文件中搜索查找不带#号的Listen项,其后的数字80就是默认的端口号。
改变默认TCP端口号后访问该站点时,必须加上端口号才能够访问,如IE地址栏中键入http://IP:TCP端口号。
(4)添加Apache支持ASP.NET模块代码
Apache Web服务器通过安装模块可支持ASP.NET、PHP和JSP等动态网页,本文仅介绍支持ASP.NET。
定位鼠标在httpd.conf配置文件文本末,插入以下支持ASP.NET的模块代码:
LoadModule aspdotnet_module modules/mod_aspdotnet.so <IfModule mod_aspdotnet.cpp> AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_ (\d+)/(.*)" "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP. NETClientFiles/$5" <Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP. NETClientFiles"> Options FollowSymlinks Order allow, deny Allow from all </Directory> AspNetMount / "/WebSys/web" <Directory "/WebSys/web"> Options FollowSymlinks ExecCGI Order allow, deny Allow from all DirectoryIndex index.htm index.aspx index.php </Directory> </IfModule>
修改上述内容,保存配置文件httpd.conf,重新启动Apache后,Apache支持ASP.NET才能生效。
4.启动和停止Apache的Web服务
启动和停止Apache的Web服务,最简单的方法是使用记事本程序,在Apache文件夹中创建两个批处理文件start.bat和stop.bat。
(1)start.bat启动批处理文件
① start.bat中输入:
bin\httpd.exe -w -n "Apache" -k start
双击start.bat文件即能启动Apache的Web服务。
② 或在start.bat中输入:
bin\httpd.exe -k install -n "Apache"
bin\httpd.exe -w -n "Apache" -k start
双击start.bat文件即能同时完成安装和启动Apache的Web服务。
(2)stop.bat停止批处理文件
① stop.bat中输入:
bin\httpd.exe -w -n "Apache" -k stop
双击stop.bat文件即能停止Apache的Web服务。
② 或在stop.bat中输入:
bin\httpd.exe -w -n "Apache" -k stop
bin\httpd.exe -k uninstall -n "Apache"
双击stop.bat文件即能同时完成停止卸载和停止Apache的Web服务。
本文已定制了一个一键安装集成服务器系统安装包实例程序WebSys.exe,在示例文件夹\SoftWare文件夹中,双击运行WebSys.exe文件自动创建一个集Apache Web服务器和MySQL数据库服务器一体化的服务器系统,该系统同时支持ASP.NET、PHP应用程序和MySQL数据库,默认网站根目录在D:\Websys\Web下,在该文件夹中可同时运行aspx和PHP格式的动态网页,所以该集成服务器系统安装包,既可用于本机调试网页,也可运行于Windows Server 2000/2003/2008服务器,是一个服务器软件。