Apache 安装
具体步骤:
1.准备工作
为了避免发生端口冲突、程序冲突等现象,建议将使用rpm方式安装的httpd及相关依赖包(如果有的话)卸载。如图所示:
2.源码编译及安装
插入安装光盘并挂载,进入到光盘目录中,将httpd源码包释放到/usr/src/目录下,并且切换到展开后的源码目录中。
根据服务器的实际应用需要,可以灵活设置不同的定制选项。
上述配置命令中,各选项的含义如下:
--prefix:指定将httpd服务程序安装到哪个目录。
--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。
--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。
完成配置以后,执行“make && make install”命令进行编译,将源代码装换为可执行的程序,然后完成最后的安装过程;将编译完的httpd程序及相关目录、文件复制到预设的安装目录(由配置时的“--prefix”选项指定)。
3.确认安装结果
由于指定了安装目录为/usr/local/httpd/,因此httpd服务的各种程序、模块、帮助文件等都将复制到此目录下。
在安装后的/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 方式
这样再执行相关命令时就不用输入冗长的路径了。例如:当执行“httpd -v”(用于查看程序版本)时,即相当于执行“/usr/local/httpd/httpd -v”。
“httpd -T”用于检测主配置文件是否配置错误。
5.添加httpd系统服务
若希望将httpd添加为系统服务,以便通过chkconfig进行管理,需要建立可控的服务脚本。
成功执行上述操作以后,每次Linux系统进入运行级别3、5时,httpd服务将会自动运行。在日常维护过程中,可以直接使用apachectl工具来控制httpd服务,也可以使用/etc/init.d/httpd脚本。
6.确定网站名称、IP地址
7.配置并启动httpd服务
1) 配置httpd服务
编辑httpd服务的主配置文件httpd.conf,查找配置项“ServerName”,在附近添加一行内容“ServerName www.benet.com”,用于设置网站名称。
修改httpd.conf文件的配置内容以后,建议使用带“-t”选项的apachectl命令对配置内容进行语法检查(或使用“httpd -t”命令)。如果没有语法错误,将会显示“Syntax OK”的信息,否则需要根据错误提示来修正配置。如图所示:
2) 启动httpd服务
使用脚本文件/usr/local/httpd/bin/apachectl或者/etc/init.d/httpd,分别通过start、stop、restart选项进行控制,可用来启动、终止、重启httpd服务。正常启动httpd服务以后,默认将监听TCP协议的80端口。
8. 部署网页文档
对于新编译安装的httpd服务,网站根目录位于/usr/local/httpd/htdocs/中,需要将Web站点的网页文档复制或上传到此目录中。httpd服务器默认已提供一个名为index.html的测试网页(可显示字串“It works!”),作为访问网站时的默认首页。
9. 在客户机中访问Web站点
在客户机的网页浏览器中,通过域名或IP地址访问httpd服务器,将可以看到Web站点的页面内容。如图所示:
10. 查看Web站点的访问情况
http服务器使用了两种类型的日志:访问日志和错误日志。这两种日志和文件名分别为access_log和error_log,均位于/usr/local/httpd/logs/目录下。
通过查看访问日志文件access_log,可以及时了解Web站点的访问情况。访问日志中的每一行对应一条访问记录,记录了客户机的IP地址、访问服务器的日期和时间、请求的网页对象等信息。如图所示:
通过查看错误日志文件error_log,可以为排查服务器运行故障提供参考依据。错误日志文件中的每一行对应一条错误记录,记录额发生错误的日期和时间、错误事件类型、错误事件的内容描述等信息。如图所示:
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文件中的大多数配置都是包括在区域中的。区域配置项使用一对组合标记,限定了配置项的作用范围。例如:最常见的目录区域配置的形式如下所示:
在以上区域定义中,设置了一个根目录的区域配置,其中添加的访问控制相关配置只对根目录有效,而不会作用于全局或其他目录区域。