Next Previous Contents

2. 安装 HTTP 伺服器

当你下载伺服器软件时,你有两个选择: 取用原始程序档再自己来编译它, 或是取用已经编译好的二进位执行档。 已编译好的给 Linux (ELF 版本 ) 用的二进位档可以在 NCSA 上取得,它们都非旧的版本哦!

2.1 下载前的准备工作

在 NCSA 的伺服器会导引你做建构选项的步骤并为你料理许多文档。但在您 尝试要下载 HTTPd 前请先回答下列问题

作业系统

首先,你必须选择是要下载原始程序文档呢? 还是已编译好的软件。如果你 的系统并没出现在选单上,那么您就必须取回内定的原始文档,再自己编译 它。

要检查你的 Linux 的版本,请回到你的 Linux 命令列上打入

  linux:~$  uname -a
它会回应像下面的内容
   linux:~$  uname -a
   Linux linux 2.0.29 #4 Tue Sep 13 04:05:51 CDT 1994 i586
   linux:~$

是 Linux is 2.0.29 版本。

其他的参数可以在下载前来指定,或是以修改在 /usr/local/etc/httpd/conf 目录内的 srm.conf 文档来建构。 在httpd.conf文档内所 载明的实际目录会显示在里头。唯一的例外是srm.conf文档内的直接的DocumentRoot。

处理类型 (伺服器类型)

这项是来指定你的机器会怎么地执行你的 HTTPd 伺服器。 最好的方法是 "standalone"。这样可让 HTTP 精灵一直地执行。如果您选择载 入 HTTPd 在 "inetd" 内,伺服器的二进位码会在每一次的需求 时被重载入内存内,这样可能会减慢你的伺服器。

连接埠 (埠)

这项指定您的机器的哪一个埠会被 HTTPd 精灵使用来 bind to 及聆听 HTTP 请求。如果你可以签作成 "root",请使用内定值 80。 或 者请在 1025 到 65535 之间挑选一个。

伺服器使用者识别 (使用者)

这是伺服器在答覆要求时改变成为的及实际作用的文档时所需的使用者识别。 只有你将伺服器当 "独立单机"时才需要回答这个问题。如果你 没有 root 的授权,只需使用你的迁入名称即可。如果你是系统管理员, 你可能会想建立一个特别的使用者来让你控制文档系统的授权。

伺服器群组识别 (群组)

这是群组识别名称,伺服器会在回应需求及在这些文档动件时改变成它们。 它和伺服器使用者识别名称有点相同,而且只有在你独自执行伺服器时才可 以使用。

如果你没有 root 的权限, 请使用你的主要群组的名义。 你可以在 Linux 的命令列中打入 groups 得知您的群组名称。

伺服器管理员电子邮件地址 (伺服器 Admin)

这是当使用者要报告在伺服器上有哪些问题时要寄电子邮件做报告的地址。 你可以填上你的个人的 e-mail地址。

伺服器目录的位置 (伺服器Root)

这是指伺服器位于你的系统的哪个地方。如果你有 root 的权限,请让它就 依照它所建议的地点 /usr/local/etc/httpd 内。 如果你无法以 root 的身份签入,请在你的 home 目录内选择一个次目录。你可以使用ind out the path of your home directory with the pwd command.

HTML 文档的位置 (DocumentRoot)

这儿是被伺服使用的 HTML 文档被放置的地点。 内定的位置是 /usr/local/etc/httpd/htdocs。然而你可以把它设定成你在伺服 器使用者识别名称内的特别的使用者的 home 目录,或是你的 home 目录内 的一个子目录 (假如你无法迁入成为 root 的话)。

如果不晓得,请使用内定值。现在你已经有上面问题的答案了,你就可以 从 http: //hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html 下载 NCSA HTTPd。 在安装前你应该阅读放在 http: //hoohoo.ncsa.uiuc.edu/docs/ 内的 HTTPd 文件。如果你计划编译执行码,那你需要修改在support, src, cgi-src 三个目录内的每一个 makefiles 档。如果你的 Linux 版本已经支持了,那么你只需 在最上端的目录上执行make linux。(如 /usr/local/etc/httpd)

2.2 编译 HTTPd

这很简单, 只要在伺服器的 root 目录内的命令列上键入 make linux 即可。 注: 在编译前,pre-ELF Linux 的使用者 (没有 ELF 功能的 Linux) 须将 portability.h 文档内的 #define NO_PASS 列的注解符号拿掉并且设定 Makefile 内的 DBM_LIBS= -ldbm


Next Previous Contents