Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后开始准备安装:

1、为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载。
基于Linux搭建Apache网站服务配置详解

2、挂载系统镜像,切换至系统盘中的Packages目录,安装相关依赖包(注意,最好一个一个的依次安装,因为如果有些安装包已经安装了,一次安装下面的安装包的话,就会报错)

基于Linux搭建Apache网站服务配置详解

3、将httpd源码包进行解包,并指定释放目录,然后切换到展开后的源码目录中:

基于Linux搭建Apache网站服务配置详解

4、配置:

基于Linux搭建Apache网站服务配置详解

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

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

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

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

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

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

5、执行make && make install命令进行编译安装:
基于Linux搭建Apache网站服务配置详解

若在上面配置、编译、安装过程中报错,排除命令错误的前提下,那么一般是少了依赖包,检查依赖包有没有少装吧!

6、安装完成后,切换至安装成功的目录后,会看到以下几个目录:

基于Linux搭建Apache网站服务配置详解

各个主要子目录的用途如下:

  • bin:存放httpd服务的各种执行程序文件。包括主程序httpd、服务控制工具apachectl等。
  • cgi-bin:存放各种CGI程序文件。
  • logs:存放httpd服务的日志文件。
  • conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等。
  • htdocs:存放网页文档,包括默认首页文件index.html等。
  • module:存放httpd服务的各种模块文件。

7、优化执行路径(根据实际情况来定,可以不进行优化):

通过源码安装的httpd服务属于第三方服务,所以程序路径并不在默认的搜索路径中,如果现在要启动Apache的话,需要执行命令:/usr/local/httpd/bin/apachectl start,也就是安装完成后bin目录下的程序控制文件的绝对路径,加上需要进行的操作即可。

那么,为了使这个服务使用起来更加方便些,可以进行执行路径优化,过程如下:

为相关程序添加符号链接:

基于Linux搭建Apache网站服务配置详解

这样,再执行相关命令时,就不用输入很长的路径了,如若想要启动服务,直接执行/usr/local/bin/apachectl start即可,但这样依旧没有控制系统服务那么方便,那么,还可以继续操作,添加httpd系统服务,有以下两种方法:

方法1

复制apachectl文件到/etc/init.d/httpd,然后编辑该文件,:

基于Linux搭建Apache网站服务配置详解

按照下面进行修改,然后保存退出:

基于Linux搭建Apache网站服务配置详解

添加系统服务:

基于Linux搭建Apache网站服务配置详解

至此,即可跟控制系统服务一样,使用systemctl start/status/restart httpd来控制apache服务了。

还有一种方法可以将它添加为系统服务,不过还要编辑配置文件,比较麻烦,可能可以对服务进一步的定义,个人觉得了解即可吧,没有什么特殊要求的话,采用上面的那种方法即可。

方法2:

建立httpd.service配置文件(注意配置文件的路径,其中配置文件中写入的apachectl路径,需根据实际情况来定)
基于Linux搭建Apache网站服务配置详解

配置文件中的各配置项的作用如下所示:

基于Linux搭建Apache网站服务配置详解

两种方法各有各的好处,方法2可以对服务进行详细的控制定义,并且还可以使用systemctl enable httpd.service 来设置httpd服务开机自动启动,这是方法1无法实现的。

当服务的控制进行优化后,即可对httpd服务进行基本配置:

1、编辑httpd服务的主配置文件httpd.conf
在末行模式下执行/ServerName,在附近添加一行内容:ServiceName www.aaa.com ,用于设置网站对应的域名。如下:

基于Linux搭建Apache网站服务配置详解

进入末行模式查找ServerName

基于Linux搭建Apache网站服务配置详解

修改httpd.conf文件的配置内容后,可以使用命令apachectl -t或httpd -t对配置内容进行语法检测,如若没有错误,将会显示如下:

基于Linux搭建Apache网站服务配置详解

2、部署网页文档:

对于新编译安装的httpd服务,网站根目录位于/usr/local/httpd/htdocs下,需要将web站点的网页文档复制或上传到此目录下。

3、查看web站点的访问情况

httpd服务器使用了两种类型的日志:访问日志和错误日志。这两种日志的文件名分别为acces_log和error_log,都在/usr/local/httpd/logs目录下。可以使用命令tail -f /usr/local/httpd/logs/access_log来动态查看网站访问情况。
基于Linux搭建Apache网站服务配置详解

4、最为主要的httpd.conf主配置文件
httpd.conf中的注释行以“#”开头,剩下的则是设置行。根据配置所作用的范围不同,设置行又可分为全局配置、区域配置。每条全局配置都是一项独立的配置,不需要包含在其他任务区域中,常用的一些全局配置项作用如下:
基于Linux搭建Apache网站服务配置详解

除了全局配置项以外,httpd.conf文件中的大多数配置时包括在区域内的。区域配置使用一对组合标记,限定了配置项的作用范围,如下:

基于Linux搭建Apache网站服务配置详解