如果您够幸运,有注册了自己的 domain ,还有固定的 IP 地址和 internet 连线,架设一个WWW服务器恐怕是必不可少的事情了吧?就算您还没打算正式连上 internet ,在自己的 intranet 上面能有一个WWW服务器也是非常便利的。现在 internet 上面的网站,大部份都是用 apache 来做服务器。
设定WWW
要设定 apache ,关键的档案都在 /etc/httpd/conf/ 这个目录之内,而我们只需修改三个档案就可以了:
access.conf
httpd.conf
srm.conf
然而,如果您在 access.conf 和 srm.conf 中看到下面字眼:
#
# To avoid confusion, it is recommended that you put all of your
# Apache server directives into the httpd.conf file and leave this
# one essentially empty.
#
那麽,所有的设定都将改在 httpd.conf 进行,这是可能是版本的不同所至。(tips:如果您在参考本例子的时候是用 vi 进行编辑的话,可以用 “ / ”键寻找关键字眼再做修改。)
-- access.conf --
第一个 access.conf档案,用来设定一些目录权限的:
<Directory />
Options None
AllowOverride None
</Directory>
<Directory /home/httpd/virtual/virtual1>
Options Indexes Includes FollowSymLinks
AllowOverride All
order allow,deny
allow from all
</Directory>
在这里,我定义了两个目录(它们必须是已经存在的),当使用者透过 HTTP 连接进来的时候所拥有权限。因为‘/’(根目录)至关紧要,所以我不开放任何 Option,也不容许 Override (在设定後面的 srm.conf 档案时,可以使用‘.htacess’来改变原有目录的权限)。
不过,我却允许在 /home/httpd/virtual/virtual1/ 目录下面使用 index ,也就是在没有预设 index.html (在 srm.conf 中设定) 的时候,会将目录内容显示在流览器上;而‘FollowSymLinks’呢,则允许透过 Symbolic Link 方式连接到此目录外的位置。 同时,在这个目录下,我也允许 AllowOverride All 的设定,这个我将在 srm.conf 里面再解释。
另外,我们还可以特别设定这个目录的连接限制,‘order allow,deny’是先列出允许连接的范围,然後到禁止连接的范围。不过我这里完全开放连接了(allow from all)。但您如果有必要的话,可以在此增加一些 deny 的句子在後面,例如:
allow from all
deny from 203.168.168
至於其他设定,您慢慢看档案上面的说明吧,通常接受预设值就可以了。
-- httpd.conf --
然後,我们看看 httpd.conf 这个档案。前面那些一大堆的‘LoadModule’和‘AddModule’可以不理,除非您真的知道如何修改,您唯一要做的是确定它们的路径正确就可以了。
然後到:
ServerType standalone
这个设定是让 httpd 在开机的时候就启动起来。通常使用这个设定就可以了,除非您想 httpd 以 inetd 的方式启动。
port 80
这个有点好玩,正如我们知道 port 的功能就好像一个 IP 地址的门口,port 80 是 HTTP 这个协定的预设值(在 /etc/services 可以修改),如果您想建立一个秘密网站,只想那些知门而入的朋友流览的话,那麽,将 80 改成其他号码吧,否则,使用预设值好了。
HostnameLookups off
如果您想知道连进您的网站的机器是什麽名字的话,将之设定为‘on’,否则您只会看到 IP 地址而已。
User nobody
Group nobody
这个还是别改啦,您只需确定这个‘nobody’存在於 /etc/passwd 和 /etc/group 里面就可以了。
ServerAdmin [email protected]
您可以将之改成负责管理这个网站的管理者信箱。虽然我这里使用 root ,但我建议您将之改成 webmaster ,然後为 webmaster 建立信箱。
BindAddress *
如果您要架设虚拟主机(後面我就会教您如何做了),可以将前面的“#”拿掉。同时在後面的‘#Listen 12.34.56.78:80’句子(大约在第323行附近)後面把您设定好的虚拟 IP 地址增加上去(包括机器本身的 IP 地址)
Listen 127.0.0.1:80
Listen 192.168.0.17:80
Listen 203.30.35.134:80
Listen 10.11.127.100:8080
Listen 192.168.1.17:80
.....
(虽然,您不设定 BindAddress 和 Listen 也照样可以让虚拟主机工作,但如果您的伺服器还提供 http-proxy 服务,或使用其它的 port 提供其它 httpd 服务,则要进行设定了。)