当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > LinuxApacheWeb服务器终极教程

Linux服务器
linux系统下的TC控制服务器流量全攻略
Linux系统快速定位web路径方法
实例解说Postfix服务配置
LINUX服务器:查看服务端口命令nmap
Linux服务器下的软件安装与卸载
Linux服务器教程:认识Linux系统目录
Linux服务器教程:安装apache和php
Linux学习教程:不同版本Mysql安装
Linux中samba服务器的基本配置
如何加强Linux系统在安全方面的管理
LInux服务器:squid的日志文件经常报错
Linux中的Screen命令使用技巧详解
Linux服务器被黑怎么查?
Linux下Apache+Proftpd构建虚拟主机的安全问题
Linux系统下安装VMware虚拟机
安装Ubuntu 7.10简明教程
如何在VMware上安装Linux系统
新手认识Linux系统
Apache SSL证书安装指南
深入学习Apache模块mod_rewrite

Linux服务器 中的 LinuxApacheWeb服务器终极教程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 40 ::
收藏到网摘: n/a


根据著名的WWW服务器调查公司所作的调查,世界上百分之五十以上的WWW服务器都在使用Apache,是世界排名第一的WEB服务器。Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了ApacheGroup,后来这个团体在NCSA的基础上创建了Apache。



Apache的主要特征是:

. 可以运行上所有计算机平台;

. 支持最新的HTTP1.1协议;

. 简单而强有力的基于文件的配置;

. 支持通用网关接口CGI;

. 支持虚拟主机;

. 支持HTTP认证;

. 集成Perl脚本编程语言;

. 集成的代理服务器;

. 具有可定制的服务器日志;

. 支持服务器端包含命令(SSI)

. 支持安全Socket层(SSL)

. 用户会话过程的跟踪能力;

. 支持FastCGI;

. 支持JavaServlets。



安装Apache

下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。




系统需求

运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MBRAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。

获取软件

你可以在http://www.apache.org中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。

需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。





安装软件

你可以通过以下三种方法安装Apache服务器。

1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。

2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。

下载软件包apache_1.2.4.e.tar.gz

tarxvzfapache_1.2.4.e.tar.gz

这就完成了安装工作,简单吧!

如果你使用的是RedHatLinux的话,你也可以下载apache_1.2.4.rpm软件安装包,然后使用rpm-ivhapache_1.2.4.rpm命令安装。

3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache定制其功能。

下载包含Apache源代码的软件包apache_1.2.4.tar.gz;然后用tar命令将它解开;将当前目录改变为Apache源代码发行版的src目录;将配置样本文件(Configuration.tmpl)复制为Configuration文件;

编辑Configuration文件中的配置选项:

Makefile配置选项:一些编译选项:

."CC="一行指定用什么编译软件编译,一般为"CC=gcc";

.如果需要将额外的标志(参数)指定给C编译软件,可以使用:

EXTRA_CFLAGS=

EXTRA_LFLAGS=

.如果系统需要特殊的库和包含文件,可以在这里指定它们:

EXTRA_LIBS=

EXTRA_INCLUDES=

.如果你要改变代码优化设置的话,你须将下面一句去掉注释,然

后改成你所需要的值:

#OPTIM=-O2

Rule配置选项:用来决定需要什么功能,一般情况下无需改变。

模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:

AddModulemodules/standard/mod_env.o

如果你需要Apache服务器具备什么功能,就将那个模块用AddModule语句加到配置文件Configuration中去。

下表列出了Apache的模块功能:

模块名功能缺省

mod_access提供基于主机的访问控制命令y

mod_actions能够运行基于MIME类型的CGI脚本或HTTP请求方法y

mod_alias能执行URL重定向服务y

mod_asis使文档能在没有HTTP头标的情况下被发送到客户端y

mod_auth支持使用存储在文本文件中的用户名、口令实现认证y

mod_auth_dbm支持使用DBM文件存储基本HTTP认证n

mod_auth_mysql支持使用MySQL数据库实现基本HTTP认证n

mod_auth_anon允许以匿名方式访问需要认证的区域y

mod_auth_external支持使用第三方认证n

mod_autoindex当缺少索引文件时,自动生成动态目录列表y

mod_cern_meta提供对元信息的支持n

mod_cgi支持CGIy

mod_dir能够重定向任何对不包括尾部斜杠字符命令的请求y

mod_env使你能够将环境变量传递给CGI或SSI脚本n

mod_expires让你确定Apache在服务器响应请求时如何处理Expiresy

mod_headers能够操作HTTP应答头标y

mod_imap提供图形映射支持n

mod_include使支持SSIn

mod_info对服务器配置提供了全面的描述y

mod_log_agent允许在单独的日志文件中存储用户代理的信息n

mod_log_config支持记录日志y

mod_log_referer提供了将请求中的Referer头标写入日志的功能n

mod_mime用来向客户端提供有关文档的元信息y

mod_negotiation提供了对内容协商的支持y

mod_setenvif使你能够创建定制环境变量y

mod_speling使你能够处理含有拼写错误或大小写错误的URL请求n

mod_status允许管理员通过WEB管理Apachey

mod_unique_id为每个请求提供在非常特殊的条件下保证是唯一的标识n


在src目录下执行:"./configure";

编译Apache:执行命令"make";

根据机器性能的不同,经历一段5-30分钟的编译,就大功告成了。

将编译好的可执行文件httpd复制到/etc/httpd/bin目录下;

将Apache发行版的配置文件:access.conf、httpd.conf、mime.types、srm.conf文件复制到/etc/httpd/conf目录下。到此为止,安装完成。


一些说明

在RedHatLinux6.0中,Apache将自己的所有配置文件和日志文件放在了"/etc/httpd"目录下,其中"/etc/httpd/conf"下为配置文件,"/etc/httpd/log"下为日志文件。

同时,它将建立"/home/httpd"目录,并在其下建立三个子目录:"html/":在这个目录下存放HTML(主页)文件;"cgi-bin/":在这个目录下可以存放一些CGI程序;"icons/":在这个目录下是服务器自带的一些图标。

配置Apache基础篇,让WWW服务器跑起来

Apache服务器软件的配置文件主要有:"access.conf":用于设置系统中的存取方式和环境;"httpd.conf":用于设置服务器启动的基本环境;"srm.conf":主要用于做文件资源上的设定;"mime.type":记录Apache服务器所能识别的MIME格式。

在具体讲解之前,我们必须告诉大家,Apache已经在安装时就采用了一系列的缺省值,已经让WWW服务器跑起来了。你只需要将装上Linux+Apache的主机联入Internet,然后将主页存放到"/home/httpd"目录下即可。

下面介绍一些最主要的配置选项的含义,以便大家用最小的精力、最小的配置准备好服务器。


httpd.conf

tpd.conf是主配置文件。它告诉服务器将如何运行。

一、最重要的配置选项ServerTypestandalone|inetd

这个配置选项指定如何运行WEB服务器。Apache可以使用两种方法来运行服务器:standalone(独立的)和inetd(由inetd运行的)。standalone参数表示WEB服务进程以一个单独的守候进程的方式在后台侦听是否有客户端的请求,如果有就生成一个子进程来为其服务。inetd参数表示WEB服务不是以一个单独的守候进程的形式支持。而是由Inetd这个超级服务器守候进程进行代劳,当它收到一个客户端的WEB服务请求的时候,再启动一个WEB服务进程为其服务。从功能的角度看,这两种方法几乎是相同的。但它们之间实际有很大区别,区别在于服务器的性能。一个由inted运行的服务器进程在它结束对请求服务的同时立刻退出。而在standalone模式下,子WWW服务器进程在退出之前要挂起一段时间,这就给它们提供了机会,可以重新用来服务新的请求。

在standalone模式下,不存在对每个请求启动新进程的开销,所以它的效率更高;而inetd模式被认