Apache 安装指南

Apache 安装指南

这是我为公司写的一篇文档。拿出来和大家共享一下。




Apache 安装指南

本安装指南以Apache1.3.6为例,以Unixware7.1.1为平台。针对其他版本和其他平台,请酌情处理。
一.        准备工作
在安装Apache Web服务器之前,要确保当前没有任何一个已经在运行的Web服务器。如果该Web服务器有一个管理工具,那么使用那个工具来关闭正在运行的服务器。对于缺少管理工具的服务器,则可手工关闭。以超级用户身份登陆系统,寻找任何名为httpd的进程并杀死它们。在UNIX的shell命令行中,输入:
ps –ef | grep httpd
列出那些进程。你的机器上会给出如下类似的显示:

root  9821  9811   TS  85  0 14:55:18 pts/6    0:00 /usr/sbin/httpd

第二列显示了进程的ID。用以下命令来杀死进程。输入:
kill –9 9829

二.        下载Apache服务器
Apache Web服务器是免费的,可以从Apache软件基金会的Web站点上下载。把你的浏览器定位到http://www.apache.org。在Apache软件基金会的主页上,单击链接“Download”目录下的“FromHere”,你应该到达如下的网页:

http://www.apache.org/disk

在这里可以选择你喜欢下载的版本。本例中下载的是apache_1.3.6.tar.Z 。



三.        编译源代码
首先确保你有合适的编译器。许多Unix系统都已经安装了一种ANSI C编译器。如果你的UNIX 没有编译器,则从http://www.gnu.com下载GNU的gcc编译器。在Unixware下,我们可以直接使用系统自带的CC编译器。
3.1解压缩文件
首先,创建一个目录,把源代码文件拷贝到该目录中。笔者建议的目录为/usr/local/src/apache。然后把我们下载的文件解压缩。以我们本例中的文件apache_1.3.6.Z为例,输入以下命令:
uncompress apache_1.3.6.tar.Z
解压缩该文件。
这种就地解压缩的方法用名为apache_1.3.6.tar的文件替代原来名为apache_1.3.6.tar.Z的文件。
3.2展开文件
Unix的tar文件可以通过输入以下命令:
Tar xvf apache_1.3.6.tar
展开。命令tar的展开将创建并形成一个称为apache_1.3.6/的新目录。因为我们已经把tar文件下载到了/usr/local/src/apache/目录下,因此,该目录在计算机上的完整路径为/usr/local/src/apache/apache_1.3.6。命令tar操作不会删除原来的apache_1.3.6.tar文件。命令生成的几个新的子目录:
l        cgi-bin/ ――用于测试CGI的脚本。随后,安装过程将把这些文件复制到服务器的/cgi-bin目录中。如果启动了Apache的CGI功能,这些脚本可以用于测试那些功能。
l        conf/ ――配置文件。这些发布时的配置不应该进行编辑。安装过程把这些文件复制到服务器的配置目录中,对这些复制文件将进行扩展编辑。
l        htdocs/ ――第一个Web站点。安装过程把这些文件复制到服务器的文档根目录中。浏览器第一次测试服务器时将显示这些网页。
l        icons/ ――目录索引图标。这些图像文件将成为由Web服务器用来提供特别路径索引功能的图标。
l        logs/ ――日志工具。这个目录是空的,安装过程将为安装好的服务器创建一个日志目录。
l        src/ ――源代码。这个目录(和它的子目录)包含了C语言源代码文件,你编译它们以创建出Apache Web服务器。
新的apache_1.3.6/目录还包含了一个配置-编译-安装工具和两个重要的文件,README和INSTALL。用more命令可以阅读这两个文件。
现在你已经为编译和安装Apache Web 服务器做好了准备。
3.3配置Makefile文件
Apache Web服务器有一个叫做APACI的非常方便的工具来帮助你配置、编译和安装Apache服务器。名为configure的APACI命令文件位于新创建的apache_1.3.6/目录下。命令configure接受许多命令行参数,这些命令行参数用于希望创建的Web服务器。在最简单的情况下,命令行参数指定你将要安装Apache服务器的运行时系统的目录名。输入:
./configure –prefix=/usr/local/apache
-prefix参数定义了服务器的安装目录,在我们的例子中是/usr/local/apache。当你按下回车键后,它将创建一个Makefile文件,用于编译和安装服务器。命令configure针对你的系统自定义该Makefile文件,它检测你所拥有的编译器,它找到你的C编译器的头文件以及库文件,它判断需要向你的编译器和连接器传递什么标志,然后创建Makefile文件,用于编译和安装服务器。
3.4编译
在新的apache_1.3.6/目录下,UNIX的shell提示行中编译Apache服务器,输入
make
该命令自动读取当前目录下的一个名为Makefile的文件,然后执行其中的命令。命令configure已经创建了apache_1.3.6/Makefile文件,所以make命令将编译在apache_1.3.6/src目录树下的所有必要的源代码。结果是在/apache_1.3.6/src/子目录下名为httpd的Web服务器可执行程序。
3.5安装
configure命令已经创建了Makefile文件,所以传送给make的install参数将导致make命令将编译好的服务器和所有相关的运行时的文件复制到安装目录下――你通过-prefix参数向configure命令指定的目录。所以执行安装,只需输入以下命令:
make install
在我们的例子中,我们将/usr/local/apache作为安装目录,上面的命令将把服务器安装在该目录下。
现在你已经安装好了一个Apache服务器了。
四.启动、停止以及重启服务器
启动服务器,在安装目录下的子目录下,如/usr/local/apache/bin,输入以下命令即可:
./spachectl start
此时,你服务器端窗口应显示如下:

./apachectl start: httpd started  

此时,可以在客户端用浏览器输入服务器的IP地址,IE应该显示如下画面:

It worked...........  


停止服务器,只需在相同的目录下输入以下命令:
./apachectl stop
重新启动服务器,可输入以下命令:
./apachectl graceful
服务器应显示如下:
./apachectl graceful: httpd gracefully restarted
或输入如下命令:
./apachectl restarted
服务器应显示如下:
./apachectl restart: httpd restarted
五.配置已安装的服务器
在安装目录下的conf/子目录中有需要配置的文件。我们主要配置httpd.conf文件即可。文件srm.conf和access.conf的存在是为了保持向后的兼容性。从前保存在那些文件中的所有配置现在都保存在httpd.conf文件中。在同一文件中保存所有的配置让维护工作更简单。
5.1语法
在httpd.conf文件中,“#”号将其随后直至行尾的内容标为注释。所有其他行包含供服务器使用的配置命令。指令有两种:1)变量赋值和2)块指令。变量赋值的句法为<变量名>;<空格>;<值>;。例如,用下面这行:
ServerRoot “/usr/local/apache”
把安装目录的完整路径赋值给变量ServerRoot。可能包含空格的值必须用双引号括起来。
配置指令的第二种类型,采用的语法类似于HTML的匹配标记。有一个起始标记,随后是变量赋值,再跟一个结束标志。例如,一个Directory指令:
<Directory “/usr/local/apache/htdocs”>;
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow, deny
    Allow from all
</Directory>;
起始为<Directory “/usr/local/apache/htdocs”>;标记,用</Directory>;标记结束。在两个标记之间的赋值只应用于在<Directory…>;起始标记中命名的目录。
5.2基本指令
ServerRoot
这个指令指定了Apache的安装目录。这个指令应该为:
ServerRoot “/usr/local/apache”
服务器是使用APACI工具编译安装的,那么这个配置指令已经被设置为恰当的目录。

PidFile
这个指令指定了Apache服务器记录它的进程ID号的文本文件路径和名称,它通常用于停止运行中的服务器。默认值:
PidFile logs/httpd.pid
应该能够满足需要。

ServerName
这个指令指定正在运行该Apache服务器的主机的名字,默认值为:
#ServerName new.host.name
被注释掉了。在启动服务器之前,要把前面的#号去掉并用服务器的名字代替new.host.name。否则,启动服务器时系统会报错。
我按你的说明一步步做,可到这一步时报错了,如下提示:
# ./configure -prefix=/usr/local/apache
Configuring for Apache, Version 1.3.24
+ using installation path layout: Apache (config.layout)
configure:Error: invalid option '-prefix=/usr/local/apache'
#
因为找不到apache_1.3.6就用apahce-1.3.24代替了,不关这事吧?
#./configure--prefix=/usr/local/apache 你少输入了一个“-”
如果不想改变默认安装路径,这个参数可以不要。
总是说
make not found.

我是用root登陆上去的。man make也有信息的,

可是敲击make就是报错。

你们遇到过吗?解释一下吧
好文,赞一个!

有点遗憾的是,对最终服务器的配置的说明不够详细,期待中.......

非常好的一点是对整个安装和处理过程进行了详细解读。