安装Apache 1.3.x 及 PHP运行设置

安装Apache 1.3.x 及 PHP运行设置



1.首先下载Apache,Apache软件一般叫作apache_1_3_x.win32.exe。运行它。它会问你将Apache安装到什么地方,为他系统安全及操作容易,我们不要使用默认路径,你可以设为c:/Apache或C:/,因为马上你就要修改它的配置文件。



如果安装没出什么错的话,Apache就可以用了。有很多readme文件可供参考,但仅有一个文件是讲Win32平台的,包括Window 9x和Windows NT。



有两种方式使 PHP 工作于 Windows 下的 Apache 1.3.x。一种是 CGI 方式(php.exe),另一种是使用 Apache 模块 DLL。不管哪种方式都需要停止 Apache,编辑 httpd.conf 来配置 Apache 以加入PHP支持。



值得在这里指出现在 Windows 下的 SAPI 模块更加稳定了,我们推荐使用模块方式,因为更加透明和安全。



尽管有几种不同方法在 Apache 下配置 PHP,但是对新手来说还是非常简单易用的。有关更多的 httpd.conf 配置指令请参考 Apache 文档。



如果你按照手工安装步骤一节中的说明把 PHP 解压缩到了 c:/php/ 目录下,那么需要加入以下三行到 Apache 配置文件中以 CGI 方式安装:





ScriptAlias /php/ "c:/php/"



AddType application/x-httpd-php .php .phtml



Action application/x-httpd-php "/php/php.exe"



注意上面的第二行在原来的 httpd.conf 中就有的,不过被注释了。还有记住用你自己放置 PHP 的路径替换 c:/php/。





警告

在 CGI 方式下,你的服务器可能会受到几种攻击的影响。请学习如何防止攻击。





如果你想在 Apache 中用模块方式使用 PHP,确认把 php4ts.dll 拷贝到 windows/system(Windows 9x/Me)或者 winnt/system32(Windows NT/2000)或者 windows/system32(Windows XP)目录下,覆盖原来的文件。然后在 Apache 配置文件 httpd.conf 中加入以下两行:





用自己喜爱的编辑器打开 httpd.conf,找到 LoadModule 指令的部分,在其列表的最后部分加上如下一行,

对 PHP 4:

LoadModule php4_module c:/php/sapi/php4apache.dll

对 PHP 5:

LoadModule php5_module "c:/php/sapi/php5apache.dll"



你可能发现在用 Windows Installer 安装了 Apache 之后需要为用 AddModule 指令定义 mod_php4.c。尤其是在定义了 ClearModuleList 指令时格外重要,向下滚动几行可以找到该指令。你将会看到 AddModule 项目的列表,在列表的最后加上这一行:

AddModule mod_php4.c

对于 PHP 5 则为:

AddModule mod_php5.c



搜索类似 # AddType allows you to tweak mime.types 的短语,你会找到一些 AddType 的项目,并且在列表的最后有这一行: AddType application/x-httpd-php .php。你可以在这里选择任何想用 PHP 解析的后缀。.php 只是所建议的一个。甚至可以包括 .html,也可以加上 .php3 来向下兼容。





修改了配置文件之后记住重新启动 Apache,例如如果你的 Apache 是作为 Windows 的服务安装的,NET STOP APACHE 后面接上 NET START APACHE。或者用你通常使用的快捷方式。



有两种方式使用源程序语法彩色显示特色,但是取决于你的安装方法。如果你配置了 Apache 的 SAPI 模块方式使用 PHP,那么在 httpd.conf 中(和插入 AddType application/x-httpd-php .php 是同一个位置)加入下面一行就可以使用本特色:AddType application/x-httpd-php-source .phps。



如果你用 CGI 方式使用 PHP,那你需要用 show_source() 函数。建立一个 PHP 文件,加入以下代码:。用你想要显示源代码的文件名替换掉 original_php_script.php。



注: 在 Windows-Apache 组合中,所有路径中的反斜线例如 "c:/directory/file.ext" 都必须转换成斜线,如 "c:/directory/file.ext"。



四、实现Apache虚拟主机的两种方案



简介:这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序

支持多个Apache服务器,如在公司财务部门有一台web服务器,名为

account.yourdomain.com,同时又想为sales部门建立网站,网站内容也

放在该机器上,通过sales.yourdomain.com访问,这就要用到虚拟主机

设置。



设置Apache虚拟主机通常有两种方案



1.基于IP的虚拟主机



 这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的

网卡上绑定多个IP地址去服务多个虚拟主机。

若该机器的IP地址为192.168.0.1(account.yourdomain.com),首先

你要设置IP别名(假设用192.168.0.2作为其别名IP)。加下面的行到

/etc/rc.d/rc.local,确保每次启动后自动运行。



#/sbin/ifconfig eth0:0 192.168.0.2 netmask 255.255.255.0 broadcast /

192.168.0.255 up

#/sbin/route add -host 192.168.0.2 eth0:0



然后你需要设置/etd/httpd/conf/httpd.conf文件:





ServerAdmin [email protected]

DocumentRoot /home/httpd/sales.yourdomain.com

ServerName sales.yourdomain.com

ErrorLog /var/log/httpd/sales.yourdomain.com/error_log

TransferLog /var/log/httpd/sales.yourdomain.com/access_log





然后分别创建目录

/home/httpd/sales.yourdomain.com,

/var/log/httpd/sales.yourdomain.com

放相应的网站内容到目录/home/httpd/sales.yourdomain.com下即可,并确保

你内部的DNS指定sales.yourdomain.com的A记录到IP地址192.168.0.2 。



注:这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的

虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机

方案。





2.基于名字的虚拟主机:



 它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的

浏览器大多都支持这种方式。与基于IP的虚拟主机一样,你需要编辑文件

/etc/httpd/conf/httpd.conf



NameVirtualHost 192.168.0.1



ServerAdmin [email protected]

DocumentRoot /home/httpd/sales.yourdomain.com

ServerName sales.yourdomain.com

ErrorLog /var/log/httpd/sales.yourdomain.com/error_log

TransferLog /var/log/httpd/sales.yourdomain.com/access_log







ServerAdmin [email protected]

DocumentRoot /home/httpd/hr.yourdomain.com

ServerName hr.yourdomain.com

ErrorLog /var/log/httpd/hr.yourdomain.com/error_log

TransferLog /var/log/hr.yourdomain.com/access_log





注: 你需要加NameVirtualHost 指示在最前面,下面依次为各个虚拟主机,

为了让它工作,你需要把sales.yourdomain.com, hr.yourdomain.com的DNS

都指向IP地址192.168.0.1



上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能

没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案,

若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。



提示:上面所提到的相对目录可以用绝对路径代替,如:

/home/httpd/hr.yourdomain.com 可改为 D:/Inetpub/wwwroot

你可能感兴趣的:(Windows)