Username: Password:

细述Apachewebserver的安装和配置
来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00


  一.、Apache web server 简介

  Apache web server是一款开放源码的web服务器软件,由apache software foundation 研发和维护的。他是现在世界上使用最为广泛的web服务器软件,支持各种unix平台和windows平台。本文将介绍他在Red hat Linux 9中最基本的安装和配置。

  二、软件的相关资源

  官方网站:http://httpd.apache.org/

  源码软件包:Apache 是开源的软件,能够去其官方网站http://httpd.apache.org/download.cgi下载。现在的最新稳定版本是httpd-2.0.53。

  帮助文档:http://httpd.apache.org/docs-project/ 有该软件比较全面的帮助文档。

  FAQ:http://httpd.apache.org/docs/misc/FAQ.html 回答了该软件的常见问题。

  三.软件的安装

  1.安装

  由其官方网站中下载其源码软件包httpd-2.0.53.tar.gz。接下来我将对安装过程的一些重要步骤,给出其解释:

  [root@localhost root]#tar xzvf httpd-2.0.53.tar.gz

  [root@localhost root]#cd httpd-2.0.53

  [root@localhost httpd-2.0.53]#./configure

  [root@localhost httpd-2.0.53]#make

  [root@localhost httpd-2.0.53]#make install

  tar xzvf httpd-2.0.53.tar.gz 解压缩软件包。

  ./configure 针对机器作安装的检查和配置,大部分的工作是由机器自动完成的,但是用户能够通过一些参数来完成一定的配置,其常用选项有:

  ./configure --help 察看参数配置帮助。

  --prefix= 指定软件安装目录(默认/usr/local/apache2)。

  --enable-modules= 指定需要加载的模块。

  --enable-v4-mapped 支持ipv6的socket处理ipv4的连接。

  能够配置的参数很多,能够通过 -help察看需要的,一般情况下,默认配置就能够了。

  默认安装建立了/usr/local/apache2目录,下面介绍一下/usr/local/apache2的几个常用组成部分:

  /usr/local/apache2/bin 其中主要是有服务器的程式。常用的有deamon程式httpd,和控制脚本apachectl。

  /usr/local/apache2/conf 其中主要是服务器相关的配置文档。最主要的配置文档是httpd.conf。

  /usr/local/apache2/htdocs 默认的网站html文档根目录。

  /usr/local/apache2/cgi-bin 默认的cgi程式的存放目录。

  2.启动:

  [root@localhost root]# /usr/local/apache2/bin/apachectl start

  [root@localhost root]# ps aux

  [root@localhost root]# netstat -an

  假如不出什么问题,ps aux 应该能够查到httpd 的进程,或netstat -an 也能够看到80端口的服务已起来了。假如要配置开机自启动web server,只需在/etc/rc.d/rc.local中加入一行

  /usr/local/apache2/bin/apachectl start

  #!/bin/sh

  #

  # This script will be executed *after* all the other init scripts.

  # You can put your own initialization stuff in here if you don’t

  # want to do the full Sys V style init stuff.

  touch /var/lock/subsys/local

  /usr/local/apache2/bin/apachectl start

  四、软件的配置。

  /usr/local/apache2/conf/httpd.conf 默认安装,任何的配置都有其默认值,接下来我介绍介绍一些常用的配置项:

  # Listen: Allows you to bind Apache to specific IP addresses and/or

  # ports, instead of the default. See also the

  # directive.

  #

  # Change this to Listen on specific IP addresses as shown below to

  # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)

  #

  #Listen 12.34.56.78:80

  Listen 80

  设定apache 的侦听地址和端口。

  #

  # ServerAdmin: Your address, where problems with the server should be

  # e-mailed.

  This address appears on some server-generated pages, such

  # as error documents.

  e.g. admin@your-domain.com

  #

  ServerAdmin you@example.com

  设定apache 的管理员邮件地址。

  #

  # DocumentRoot: The directory out of which you will serve your

  # documents. By default, all requests are taken from this directory, but

  # symbolic links and aliases may be used to point to other locations.

  #

  DocumentRoot "/usr/local/apache2/htdocs"

  设定apache web server 的文档根目录,必须是绝对路径。

  

  #

  # Possible values for the Options directive are "None", "All",

  # or any combination of:

  #

  Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

  #

  # Note that "MultiViews" must be named *explicitly* --- "Options All"

  # doesn’t give it to you.

  #

  # The Options directive is both complicated and important.

  Please see

  # http://httpd.apache.org/docs-2.0/mod/core.html#options

  # for more information.

  #

  Options Indexes FollowSymLinks

  #

  # AllowOverride controls what directives may be placed in .htaccess files.

  # It can be "All", "None", or any combination of the keywords:

  #

  Options FileInfo AuthConfig Limit

  #

  AllowOverride None

  #

  # Controls who can get stuff from this server.

  #

  Order allow,deny

  Allow from all

  


  设定文档根目录的权限控制,必须和DocumentRoot "/usr/local/apache2/htdocs" 中指定的目录一致。

  #

  # The index.html.var file (a type-map) is used to deliver content-

  # negotiated documents.

  The MultiViews Option can be used for the

  # same purpose, but it is much slower.

  #

  DirectoryIndex index.html

  指定该目录下的索引文档,

  ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"

  映射cgi-bin的根目录,必须是绝对路径。

  

  AllowOverride None

  Options None

  Order allow,deny

  Allow from all

  


  设定cgi-bin目录的读写权限,该目录项必须和上一条的配置一致。

  五.安装使用的一些经验:

  1.apache 进程的有效用户id默认为nobody。

  出于安全面的考虑,apache 服务器进程的默认有效 id 被配置为nobody,这就意味着该进程只拥有nobody的权限,所以必须确保nobody对配置的DocumentRoot 有足够权限。或能够配置apache进程的有效id,但是推荐不要这样做。

  2.假如网站的访问量不是很大能够考虑用xinetd终极进程来启动apache

  (1)打开/usr/local/apache2/conf/httpd.conf,修改

  ServerType inetd

  (2)创建/etc/xinetd.d/apache,内容:

  # default: on

  # description: The Apache HTTP connections.

  service http

  {

  disable = no

  socket_type = stream

  wait = no

  user = root

  server = /usr/sbin/httpd

  port = 80

  # log_on_success += DURATION USERID

  # log_on_failure += USERID

  # nice = 10

  }

  (3)重新启动xinetd:

  #/etc/rc.d/init.d/xinetd restart

  3.对IPV6的支持

  随着电脑网络的不断发展和扩大,IPV6已越来越为人们所接受,apache自2.0之后的版本开始支持IPV6,下面我就简单介绍一下apache针对ipv6的配置:

  默认情况下,apache 使用映射到IPv4的IPv6地址,即安装配置时,默认./configure -enable-v4-map ,并且在配置文档http.conf中将是:

  Listen 80

  要使apache 区分对待IPV4和IPV6的连接,安装配置时,使用 ./configure -disable-v4-map , 对应配置文档中http.conf :

  Listen [::]:80

  这样 apache 就能够区分对待 IPV4 和IPV6的连接了。

  

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅