当您下载服务器时,您有两个选择:获取源代码并自行编译,或者获取预编译的二进制文件。Linux (ELF) 版本的预编译二进制文件可在 NCSA 获取,但旧版本则不可用。
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 版本是 2.0.29。
其余参数可以在下载前指定,也可以稍后通过修改 /usr/local/etc/httpd/conf
目录中的 srm.conf
文件来配置。文件 httpd.conf
中出现的实际指令名称显示在括号中。唯一的例外是指令 DocumentRoot,它出现在文件 srm.conf
中
这指定您的机器将如何运行您的 HTTPd 服务器。首选方法是“standalone”(独立)。这使 HTTP 守护程序持续运行。如果您选择在 “inetd” 下加载 HTTPd,则服务器二进制文件将为每个请求重新加载到内存中,这可能会降低服务器速度。
这指定您的机器的哪个端口 HTTPd 守护程序将绑定并监听 HTTP 请求。如果您可以以 “root” 身份登录,请使用默认设置 80。否则,请选择 1025 到 65535 之间的设置。
这是服务器在响应请求和操作文件时将更改为的用户 ID。只有当您以 “standalone” 方式运行服务器时,才需要回答此问题。如果您是没有 root 权限的人,只需使用您自己的登录名。如果您是系统管理员,您可能希望创建一个特殊用户,以便您可以控制文件权限。
这是服务器在响应请求和操作文件时将更改为的组 ID。这与服务器用户身份类似,并且仅在您以独立方式运行服务器时适用。
如果您没有 root 权限,只需使用您的主要组的名称。您可以通过在 Linux 命令提示符下键入 groups 来查明您的组。
这是用户在报告服务器问题时应发送电子邮件消息到的电子邮件地址。您可以填写您的个人电子邮件地址。
这是服务器在您系统上的驻留位置。如果您具有 root 权限,请将其保留在建议的位置 /usr/local/etc/httpd
。如果您无法以 root 身份登录,请在您的主路径中选择一个子目录。您可以使用 pwd 命令查明您的主目录的路径。
这是要服务的 HTML 文件所在的位置。默认位置是 /usr/local/etc/httpd/htdocs
。但是,您可以将其设置为您在服务器用户身份中选择的特殊用户的主目录,或者如果您无法以 root 身份登录,则设置为您主目录中的子目录。
如有疑问,请使用默认设置。现在您已经回答了上述问题,您可以从 http://hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html 下载 NCSA HTTPd。在您尝试安装之前,您应该阅读 http://hoohoo.ncsa.uiuc.edu/docs/ 上的 HTTPd 文档。如果您计划编译代码,那么您需要修改三个目录 support, src, cgi-src
中的 makefile。如果您的 Linux 版本已被支持,那么您只需在顶层目录(即 /usr/local/etc/httpd
)中键入 make linux
编译很简单,只需在服务器根目录的提示符下键入 make linux
即可。注意: pre-ELF Linux 的用户必须在编译 HTTPd 之前取消注释文件 portability.h
中的 #define NO_PASS
,并在 Makefile
中设置 DBM_LIBS= -ldbm
。