Apache 安装

具体步骤:

1.准备工作

为了避免发生端口冲突、程序冲突等现象,建议将使用rpm方式安装的httpd及相关依赖包(如果有的话)卸载。如图所示:

clip_p_w_picpath002

2.源码编译及安装

插入安装光盘并挂载,进入到光盘目录中,将httpd源码包释放到/usr/src/目录下,并且切换到展开后的源码目录中。

clip_p_w_picpath004clip_p_w_picpath006

根据服务器的实际应用需要,可以灵活设置不同的定制选项。

clip_p_w_picpath008

上述配置命令中,各选项的含义如下:

--prefix指定将httpd服务程序安装到哪个目录。

--enable-so启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

--enable-rewrite启用网页地址重写功能,用于网站优化及目录迁移维护。

--enable-charset-lite启动字符集支持,以便支持使用各种字符集编码的网页。

--enable-cgi启用CGI脚本程序支持,便于扩展网站的应用访问能力。

完成配置以后,执行“make && make install”命令进行编译,将源代码装换为可执行的程序,然后完成最后的安装过程;将编译完的httpd程序及相关目录、文件复制到预设的安装目录(由配置时的“--prefix”选项指定)。

clip_p_w_picpath010

3.确认安装结果

由于指定了安装目录为/usr/local/httpd/,因此httpd服务的各种程序、模块、帮助文件等都将复制到此目录下。

clip_p_w_picpath012

在安装后的/usr/local/httpd/目录下,主要子目录的用途如下所述:

/usr/local/httpd/bin/存放httpd服务的各种执行程序文件,包括主程序httpd、服务控制工具apachectl等。

/usr/local/httpd/conf/存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra/等。

/usr/local/httpd/htdocs/存放网页文档,包括默认首页文件index.html等。

/usr/local/httpd/logs/存放httpd服务的日志文件。

/usr/local/httpd/modules/存放httpd服务的各种模块文件。

/usr/local/httpd/cgi-bin/存放各种CGI程序文件。

4.优化执行路径

通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接。

也可以使用:echo PATH=$PATH:/usr/local/httpd/bin/ >> /etc/profile && . /etc/profile && echo $PATH 方式

clip_p_w_picpath014

这样再执行相关命令时就不用输入冗长的路径了。例如:当执行“httpd -v”(用于查看程序版本)时,即相当于执行“/usr/local/httpd/httpd -v”。

httpd -T”用于检测主配置文件是否配置错误。

clip_p_w_picpath016

5.添加httpd系统服务

若希望将httpd添加为系统服务,以便通过chkconfig进行管理,需要建立可控的服务脚本。

clip_p_w_picpath018clip_p_w_picpath020clip_p_w_picpath022

成功执行上述操作以后,每次Linux系统进入运行级别3、5时,httpd服务将会自动运行。在日常维护过程中,可以直接使用apachectl工具来控制httpd服务,也可以使用/etc/init.d/httpd脚本。

clip_p_w_picpath024

6.确定网站名称、IP地址

7.配置并启动httpd服务

1) 配置httpd服务

编辑httpd服务的主配置文件httpd.conf,查找配置项“ServerName”,在附近添加一行内容“ServerName www.benet.com”,用于设置网站名称。

clip_p_w_picpath026

修改httpd.conf文件的配置内容以后,建议使用带“-t”选项的apachectl命令对配置内容进行语法检查(或使用“httpd -t”命令)。如果没有语法错误,将会显示“Syntax OK”的信息,否则需要根据错误提示来修正配置。如图所示:

clip_p_w_picpath028

2) 启动httpd服务

使用脚本文件/usr/local/httpd/bin/apachectl或者/etc/init.d/httpd,分别通过start、stop、restart选项进行控制,可用来启动、终止、重启httpd服务。正常启动httpd服务以后,默认将监听TCP协议的80端口。

clip_p_w_picpath030

8. 部署网页文档

对于新编译安装的httpd服务,网站根目录位于/usr/local/httpd/htdocs/中,需要将Web站点的网页文档复制或上传到此目录中。httpd服务器默认已提供一个名为index.html的测试网页(可显示字串“It works!”),作为访问网站时的默认首页。

clip_p_w_picpath032

9. 在客户机中访问Web站点

在客户机的网页浏览器中,通过域名或IP地址访问httpd服务器,将可以看到Web站点的页面内容。如图所示:

clip_p_w_picpath034

10. 查看Web站点的访问情况

http服务器使用了两种类型的日志:访问日志和错误日志。这两种日志和文件名分别为access_log和error_log,均位于/usr/local/httpd/logs/目录下。

通过查看访问日志文件access_log,可以及时了解Web站点的访问情况。访问日志中的每一行对应一条访问记录,记录了客户机的IP地址、访问服务器的日期和时间、请求的网页对象等信息。如图所示:

clip_p_w_picpath036

通过查看错误日志文件error_log,可以为排查服务器运行故障提供参考依据。错误日志文件中的每一行对应一条错误记录,记录额发生错误的日期和时间、错误事件类型、错误事件的内容描述等信息。如图所示:

clip_p_w_picpath038

l httpd.conf配置文件

1. 全局配置项

ServerRoot设置httpd服务器的根目录,该目录中包括了运行Web站点必需的子目录和文件。默认的根目录为/usr/local/httpd/,与httpd的安装目录相同。

Listen设置httpd服务器监听的网站端口号,默认为80

User设置运行httpd进程时的用户身份,默认为daemon。

Group设置运行httpd进程时的组身份,默认为daemon。

ServerAdmin设置httpd服务器的管理员E-mail地址,可以通过此E-mail地址及时联系Web站点的管理员。

ServerName设置Web站点的完整主机名(即:主机名+域名)。

DocumentRoot设置网站根目录,即网页文档在系统中的实际存放路径。此配置项比较容易和ServerRoot混淆,需要格外注意。

DirectoryIndex设置网站的默认索引页(首页),可以设置多个首页文件,以空格分开,默认的首页文件为index.html。

ErrorLog设置错误日志文件的路径,默认路径为logs/error_log。

LogLevel设置记录日志的级别,默认级别为Warn(警告)。

CustomLog设置访问日志文件的路径、日志类型,默认路径为logs/access_log,使用的类型为common通用格式。

PidFile设置用于保存httpd进程号(PID)的文件,默认保存地址为logs/httpd.pid,“logs”目录位于Apache的服务器根目录中。

CharsetDefault设置站点中的网页默认使用的字符集编码,如UTF-8、gb2312等。

Include包含另一个配置文件的内容。可以将实现一些特殊功能的配置放到一个单独的文件里,再使用Include配置项将其包含到httpd.conf文件中,这样便于独立进行配置功能的维护而不影响主配置文件。

以上配置项是httpd.conf文件中最主要的全局配置项。

2. 区域配置项

除了全局配置项以外,httpd.conf文件中的大多数配置都是包括在区域中的。区域配置项使用一对组合标记,限定了配置项的作用范围。例如:最常见的目录区域配置的形式如下所示:

clip_p_w_picpath040

在以上区域定义中,设置了一个根目录的区域配置,其中添加的访问控制相关配置只对根目录有效,而不会作用于全局或其他目录区域。