查看文章
 
Linux下Apache服务器安装详解
2008-05-19 21:02

一、准备工作:

  安装Apache Web服务器之前,要确保当前没有任何一个已经在运行的Web服务器。如果该Web服务器有一个管理工具,那么使用那个工具来关闭正在运行的服务器。对于缺少管理工具的服务器,则可手工关闭。以超级用户身份登陆系统,寻找任何名为httpd的进程并杀死它们。在UNIX的shell命令行中,输入:

ps –ef | grep httpd

列出httpd进程。你的机器上会给出如下类似的显示:

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

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

kill –9 9821

二、下载Apache服务器:

  Apache Web服务器是免费的,可以从Apache软件基金会的Web站点上下载。把你的浏览器定位到http://www.apache.org。在Apache软件基金会的主页上,单击链接“Download”目录下的“FromHere”,你应该到达如下的网页:http://www.apache.org/dist/,再从列表中选择httpd/点击进入:http://www.apache.org/dist/httpd/,从列表中找到自己需要的Apache服务器版本下载即可。本例中下载的是httpd-2.2.8.tar.gz。

三、编译源代码

  首先确保你有合适的编译器。许多类Unix系统都已经安装了一种ANSI C编译器。如果你的类UNIX 没有编译器,则从http://www.gnu.com下载GNU的gcc编译器。在CentOS5下,我们可以直接使用系统自带的GCC编译器。

3.1解压缩并展开文件

  首先,创建一个目录,把源代码文件拷贝到该目录中。笔者建议的目录为/usr/local/src/apache。然后把我们下载的文件解压缩。以我们本例中的文件httpd-2.2.8.tar.gz为例,输入以下命令:

tar -zxvf httpd-2.2.8.tar.gz

命令tar的展开将创建并形成一个称为httpd-2.2.8/的新目录。因为我们已经把tar文件下载到了/usr/local/src/apache/目录下,因此,该目录在计算机上的完整路径为/usr/local/src/apache/httpd-2.2.8。命令tar操作不会删除原来的httpd-2.2.8.tar.gz文件。

命令生成的几个新的子目录解读如下:

cgi-bin/ ――用于测试CGI的脚本。随后,安装过程将把这些文件复制到服务器的/cgi-bin目录中。如果启动了Apache的CGI功能,这些脚本可以用于测试那些功能。
conf/ ――配置文件。这些发布时的配置不应该进行编辑。安装过程将把这些文件复制到服务器的配置目录中,对这些复制文件将进行扩展编辑。
htdocs/ ――第一个Web站点。安装过程将把这些文件复制到服务器的文档根目录中。浏览器第一次测试服务器时将显示这些网页。
icons/ ――目录索引图标。这些图像文件将成为由Web服务器用来提供特别路径索引功能的图标。
logs/ ――日志工具。这个目录是空的,安装过程将为安装好的服务器创建一个日志目录。
src/ ――源代码。这个目录(和它的子目录)包含了C语言源代码文件,你编译它们以创建出Apache Web服务器。
新的httpd-2.2.8/目录还包含了一个配置-编译-安装工具和两个重要的文件,README和INSTALL。用more命令可以阅读这两个文件。

现在你已经为编译和安装Apache Web 服务器做好了准备。

3.2配置Makefile文件
  Apache Web服务器有一个叫做APACI的非常方便的工具来帮助你配置、编译和安装Apache服务器。名为configure的APACI命令文件位于新创建的httpd-2.2.8/目录下。命令configure接受许多命令行参数,这些命令行参数用于希望创建的Web服务器。在最简单的情况下,命令行参数指定你将要安装Apache服务器的运行时系统的目录名。输入:

./configure --prefix=/usr/local/apache

--prefix参数定义了服务器的安装目录,在我们的例子中是/usr/local/apache。当你按下回车键后,它将创建一个Makefile文件,用于编译和安装服务器。命令configure针对你的系统自定义该Makefile文件,它检测你所拥有的编译器,它找到你的C编译器的头文件以及库文件,它判断需要向你的编译器和连接器传递什么标志,然后创建Makefile文件,用于编译和安装服务器。

3.3编译

  在新的httpd-2.2.8/目录下,类UNIX系统的shell提示行中编译Apache服务器,输入

make

该命令自动读取当前目录下的一个名为Makefile的文件,然后执行其中的命令。命令configure已经创建了httpd-2.2.8/Makefile文件,所以make命令将编译在httpd-2.2.8/src目录树下的所有必要的源代码。结果是在/httpd-2.2.8/src/子目录下名为httpd的Web服务器可执行程序。

3.4安装

  configure命令已经创建了Makefile文件,所以传送给make的install参数将导致make命令将编译好的服务器和所有相关的运行时的文件复制到安装目录下――你通过--prefix参数向configure命令指定的目录。所以执行安装,只需输入以下命令:

make install

在我们的例子中,我们将/usr/local/apache作为安装目录,上面的命令将把服务器安装在该目录下。

现在你已经安装好了一个Apache服务器了。

四、启动、停止以及重启服务器

  启动服务器,在安装目录的子目录下,如/usr/local/apache/bin,输入以下命令即可:

./apachectl start

此时,你服务器端窗口应显示如下:

  ./apachectl start: httpd started

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

It works!

  停止服务器,只需在相同的目录下输入以下命令:

  ./apachectl stop

  重新启动服务器,可输入以下命令:

  ./apachectl graceful

服务器应显示如下:./apachectl graceful: httpd gracefully restarted

或输入如下命令:

  ./apachectl restarted

服务器应显示如下:

  ./apachectl restart: httpd restarted

五、配置已安装的服务器

  在安装目录下的conf/子目录中有需要配置的文件。我们主要配置httpd.conf文件即可。

5、1语法:

  在httpd.conf文件中,“#”号将其随后直至行尾的内容标为注释。所有其他行包含供服务器使用的配置命令。指令有两种:

  1)变量赋值:变量赋值的句法为<变量名>;<空格>;<值>;。例如,用下面这行:
    ServerRoot “/usr/local/apache”
    把安装目录的完整路径赋值给变量ServerRoot。可能包含空格的值必须用双引号括起来。

  2)块指令:配置指令的第二种类型,采用的语法类似于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。否则,启动服务器时系统会报错。


类别:技术资料||添加到搜藏 |分享到i贴吧|浏览(1593)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu