发信人: 8354217(梦幻老妖)
整理人: ipaq(2001-05-24 19:56:38), 站内信件
|
编译以及安装阿帕奇
1.1 下载阿帕奇
最新的阿帕奇资讯可以在阿帕奇网站 http://www.apache.org/ 找到。
此处会列出目前发行的版本,任何更新的公开测试版,同时还有映射的
(mirror)网站与匿名文件传输(ftp) 站之细节。
1.2 编译阿帕奇
这一版的阿帕奇支援所谓的‘选用性模组’。然而,为了使这些模组能
有效率,此服务器必须知道哪些模组要编译进去;这需要产生一点短短
的程序码(`modules.c') 单纯地列出它们。
如果你满意我们的标准模组集,而且打算继续让它保持这样,那麽你可
以直接编辑我们提供的 Makefile 并且如同你以前作过的一样编译它。
如果你想要使用选用性模组,那麽无论如何,你都得执行配置指令稿。
这样做:
1. 编辑 `Configuration' 这个文件。这里面包含每一种机器
的 Makefile 设定,而且在这底下还有个额外的节区列出要
编译进去的模组,以及包含这些模组的文件名称,你将得:
(a) 选择适合你机器的一种编译器以及编译选项。
(b) 消掉相对於你想包含进去的模组上面的注解(文件底
端列出模组的那些行)或者加上对应你自己所撰写之
自制(custom)模组的一些新行。注意,如果你想要有
DBM 验认(auth)的话必须明确地配置进去;只要消掉
对应的行上面的注解即可。
2. 执行 `Configure' 这个指令shell;
% Configure
Using `Configuration' as config file
%
这会产生新版的 Makefile 以及 modules.c 文件。如果你
想要维护多个配置,那麽你可以这样,例如
% Configure -file Configuration.ai
Using alternate config file Configuration.ai
%
3. 键入 `make'
我们放进阿帕奇发行套件里的模组是我们测试过而且有许多
阿帕奇发展群成员使用的模组。这些成员或协力团体(third
parties)配合特殊需要或功能而贡献的一些额外模组可以在
<URL:http://www.apache.org/dist/contrib/modules/> 里
找到。在该网页上有如何连结这些模组到阿帕奇核心程序码
里去的说明。
1.3 安装阿帕奇
编译之後,你将会在 src/ 目录里获得一份称为 `httpd' 的可执行文件。
阿帕奇的可执行文件发行套件会提供这个文件。
下一个步骤是为服务器编辑配置档。你应该会在称为 `conf' 的目录里
发现三个配置档的发行版本: srm.conf-dist, access.conf-dist 以及
httpd.conf-dist 。把它们复制成所需的 srm.conf, access.conf 及
httpd.conf 文件。
首先编辑 httpd.conf 。这设定此服务器一般的属性;端口号,执行者的
身分等等。接下来编辑 srm.conf 文件;这设定文件树的根目录,指定像是
服务端剖析的 HTML 或内部的影像地图(imagemap)剖析等等功能。最後
编辑 access.conf 文件,至少作些存取(access)的基本设定。
最後,调用httpd 程序,使用 -f 参数配合 httpd.conf 所在的完整
路径。像是,最普遍的例子:
/usr/local/etc/apache/src/httpd -f
/usr/local/etc/apache/conf/httpd.conf
现在服务器应该已经开始执行。
依照预设 srm.conf 以及 access.conf 这些文件是藉由名称定位的;
要藉由其它的名称来指定调用它们的话,可以在 httpd.conf 里面使用
AccessConfig 以及 ResourceConfig 指令。
启动阿帕奇
2.1 启动阿帕奇
httpd 这支程序可以藉由网际网路服务程序 inetd 在每一次有连线要
进入 HTTP 服务的时候启动,或者另一种方式,它也可以作为服务程序
(daemon)持续地执行,处理请求。无论选择哪一种方式,都必须设定这
个 ServerType 指令告诉服务器它要如何执行。
2.2 命令列选项
下列选项可以用在 httpd 的命令列上:
-d serverroot
把 ServerRoot 这个参数的起始值设定为 serverroot 。这可以
藉由在配置文件里面的 ServerRoot 命令来加以改变。此预设为
/usr/local/etc/httpd 。
-f config
启动时执行在 config 文件里面的指令。如果 config 没有以 /
作为开始的话,那麽它会被当作相对於 ServerRoot 的路径。此
预设值是 conf/httpd.conf 。
-X
以单一程序(single-process)模式执行,只用在内部除错;服务
程序不会脱离终端作业或是产生任何子程序。不要使用这个模式
来提供正常的网页服务。
-v
列印 httpd 的版本,然後结束。
-?
列印 httpd 选项的一份列表,然後结束。
2.3 配置档
此服务器将会读取三个配置指令文件。任何指令都可以出现在这些文件
任何一个里面。这些文件的名称是相对於服务器的根目录(server root) ;
这是根是藉由 ServerRoot 指令,或是 -d 这个命令列旗标所指定的。
依惯例这些文件是:
conf/httpd.conf
包含控制服务程序运作的指令。文件名称可以配合 -f 命令列旗
旗标加以改变。
conf/srm.conf
包含控制服务器提供给客户端之文件规格的指令。文件名称可以
配合 ResourceConfig 指令加以改变。
conf/access.conf
包含控制文件之存取的指令。文件名称可以配合 AccessConfig
指令加以改变。
无论如何,这些惯例并不需要完全遵奉。
此服务器也会读取一个包含 MIME 文件型态的文件;这个文件名称藉由
TypesConfig 指令设定,而且有个 conf/mini.types 作为预设。
2.4 记录档
2.4.1 pid 档
服务程序启动时,它把父程序 httpd 的程序码(process id)存往这个
log/httpd.pid 文件。这个文件名称可以配合 PidFile 指令加以改变
。这个程序码由管理者用来重新启动或终止服务程序;一个 HUP 信号
会使服务程序重新读取其配置档而一个 TERM 信号会使它终止。
如果程序不正常地死掉(或被杀掉),那麽必须杀掉 httpd 子程序。
2.4.2 错误记录
服务器会将错误讯息记录到一个记录档去,预设为 log/error_log 。
文件名称可以藉由 ErrorLog 指令设定;可以为不同的虚拟主机设定不
同的错误记录。
2.4.3 传输记录
服务器一般会将每个请求记录到一个传输档,预设为 logs/access_log
。文件名称可以藉由 TransferLog 指令设定;可以为不同的虚拟主机
设定不同的传输记录。 |
|