CentOS 7.4搭建Apache网站服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7.4搭建Apache网站服务相关的知识,希望对你有一定的参考价值。

博文目录
一、Apache是什么?
1、Apache的起源
2、Apache的主要特点
二、Apache的主要版本
三、安装httpd服务器
1、挂载光盘
2、源码编译及安装
3、Apache全局配置项
4、安装DNS域名解析服务

一、Apache是什么?

Apache HTTP Server是广泛应用的Web应用系统之一,要运用好它,必须先了解它的特点及其编译安装过程。

Apache HTTP Server是来源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半数的份额。Apache服务器可以运行在Linux、UNIX、Windows等多种操作系统平台中。

1、Apache的起源

Apache服务器是针对之前出现的若干个Web服务器程序进行整合、完善后形成的软件,其名称来源于“A Patchy Server”,意思是“基于原有Web服务程序的代码进行修改(补丁)后形成的服务器程序”。
Apache是由ASF负责管理和维护的,ASF是非营利性质的组织,最初只负责“Apache Web”服务器项目的管理,随着Web应用需求的不断扩大,ASF逐渐增加了许多与Web技术相关的开源软件项目。因此,Apache现在不仅代表着Web服务器,而且更广泛地代表着ASF管理的众多开源软件项目。ASF的官方网站是ASF官方网站
“Apache HTTP Server”是ASF旗下著名的软件项目之一,其正式名称是“Httpd”,也就是历史上的Apache网站服务器。

2、Apache的主要特点

Apache服务器在功能、性能和安全性等方面的表现都是比较突出的,可以较好地满足Web服务器用户的应用需求。其主要特点包括以下几方面:
开放源代码:这是Apache服务器的重要特性之一,也是其他特性的基础。

  • 跨平台应用:这个特性得益于Apache的源代码开放。Apache服务器可以运行在绝大多数软硬件上,所以UNIX操作系统都可以运行Apache服务器,还可以运行在大多数Windows系统平台中。

  • 支持各种Web编程语言:Apache服务器可支持的网页编程语言包括Perl、php、Python、Java等,甚至微软的ASP技术也可以在Apache服务器中使用。

  • 模块化设计:Apache并没有将所有的功能集中在单一的服务程序内部,而是尽可能地通过标准的模块实现专有的功能,这为Apache服务器带来了良好的扩展性。

  • 运行非常稳定:Apache服务器可用于构建具有大负载访问量的Web站点,很多知名的企业网站都使用Apache作为Web服务软件。

  • 良好的安全性:Apache服务器具有相对较好的安全性,这是开源软件共同具有的特性。并且,Apache的维护团队会及时对已发现的漏洞提供修补程序,为Apache的所有使用者提供尽可能安全的服务器程序。

二、Apache的主要版本

Apache服务器目前包括1.x和2.x两个版本,并且对其分别进行维护。两个版本具有一定的差异,也具有各自的特性。

  • 1.x系列的最高版本是1.3,该版本继承了Apache服务器1.0版本以来的优秀特性和配置管理风格,具有非常好的兼容性、稳定性。

  • 从2.0版开始,Apache服务器加入了许多新的功能,使用的配置语法和管理风格也有所改变。

三、安装httpd服务器

ISO提取位置:https://pan.baidu.com/s/1Cuy1NrdpQrnQkVZEmECS3g
提取码:b6qd

此环境如果有不明白的可以参考博文:制作Centos 7.4操作系统模板机

1、挂载光盘

技术图片

开启虚拟机
技术图片

配置IP地址

[root@centos01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32   <!--编辑网卡-->
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static  
DEFROUTE=yes    
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.10    <!--配置为100.10-->
NATEMASK=255.255.255.0    <!--子网掩码-->

2、源码编译及安装

源码编译安装httpd服务的过程主要包含解包、配置、编辑及安装。

[root@centos01 mnt]# mount /dev/cdrom /mnt/   <!--挂载光盘 -->
[root@centos01 mnt]# cd /mnt/   <!--进入mnt目录-->
[root@centos01 mnt]# cp httpd-2.2.17.tar.gz /usr/src/     <!--备份httpd到/usr/src/ -->
[root@centos01 mnt]# tar zxvf httpd-2.2.17.tar.gz -C /usr/src/ <!--解压缩httpd到/usr/src/-->
[root@centos01 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi      <!--配置Apache-->

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

  • --prefix:指定将httpd服务程序安装到那个目录下,如/usr/local/httpd。
  • --enable-so:启用动态加载模块支持,使用httpd具备进一步扩展功能的能力。
  • --enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
  • --enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
  • --enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。
[root@centos01 httpd-2.2.17]# make        <!--编译Apache-->
[root@centos01 httpd-2.2.17]# make install      <!--安装Apache-->
[root@centos01 ~]# ls /usr/local/httpd/       <!--确认安装结果-->
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules

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

  • /usr/local/httpd/bin:存放httpd服务的各种执行程序文件,包括主程序httpd、服务控制工具apachectl等。
  • /usr/local/httpd/cgi-bin:存放各种CGI程序文件。
  • /usr/local/httpd/logs:存放httpd服务的日志文件。
  • /usr/local/httpd/conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等。
  • /usr/local/httpd/htdocs:存放网页文档,包括默认首页文件index.html等。
  • /usr/local/httpd/modules:存放httpd服务的各种模块文件。
[root@centos01 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/       <!--优化执行路径-->
[root@centos01 ~]# cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd<!--添加Apache系统服务-->
[root@centos01 ~]# chmod +x /etc/init.d/httpd         <!--/etc/init.d/httpd添加执行权限-->
[root@centos01 ~]# vim /etc/init.d/httpd       <!--修改Apache服务-->
#!/bin/sh             
#chkconfig: 35 85 21 <!--服务识别参数,在级别3、5中启动;启动和关闭的顺序分别为85、21-->
#description:apache server       <!--服务描述信息-->
......             <!--省略部分内容-->
[root@centos01 ~]# chkconfig --add httpd   <!--将httpd添加系统服务-->
[root@centos01 ~]# systemctl start httpd    <!--启动httpd服务-->
[root@centos01 ~]# systemctl enable httpd <!--设置httpd服务开机自启-->
httpd.service is not a native service, redirecting to /sbin/chkconfig. 
Executing /sbin/chkconfig httpd on 
[root@centos01 ~]# systemctl is-enabled httpd.service <!--查看httpd服务开机自动启动状态-->
[root@centos01 ~]# apachectl -t            <!--检查apache服务配置文件是否有错误-->
[root@centos01 ~]# netstat -anptu | grep 80           <!--监听80端口号查看是否正常监听-->
tcp        0      0 127.0.0.1:25            0.0.0.0:*        LISTEN     980/master         
tcp6       0      0 :::80                   :::*            LISTEN      54014/httpd         
tcp6       0      0 ::1:25                  :::*            LISTEN      980/master      

Apache服务搭建完成,现在开启一台客户端设置同一块网卡同网段用浏览器进行访问

开启客户端(网卡设置和Centos同一块网卡)
技术图片

客户端设置IP地址
技术图片

打开浏览器访问http://192.168.100.10
技术图片

修改网站主页内容
[root@centos01 ~]# vim /usr/local/httpd/htdocs/index.html <!--修改网页首页内容-->
<html><body><h1>www.bdqn.com</h1></body></html>

客户端重新访问
技术图片

3、Apache全局配置项

技术图片
在上述设置行中,各全局配置项的含义如下:

  • ServerRoot:设置httpd服务器的根目录,该目录下包括了允许Web站点必需的子目录和文件。默认情况下,httpd服务器的根目录为httpd的安装目录。默认的根目录为/usr/local/httpd,与编译安装时所指定的httpd安装目录相同。在httpd.conf配置文件中,如果指定目录或文件位置时不使用绝对路径,则该目录或文件位置都认为是在服务器的根目录下。
  • Listen:设置httpd服务器监听的网络端口号,默认为80。
  • User:设置运行httpd进程时的用户身份,默认为daemon。
  • Group:设置运行httpd进程时的组身份,默认为daemon。
  • ServerAdmin:设置httpd服务器的管理员E-mail地址,可以通过此E-mail地址及时联系Web站点的管理员。
  • ServerName:设置Web站点的完整主机名(主机名+域名)。
  • DocumentRoot:设置网站根目录,即网页文档在系统中的实际存放路径。
  • Directoryindex:设置网站的默认索引页(首页),可以设置多个首页文件,以空格分开,默认的首页文件为index.html。
  • ErrorLog:设置错误日志文件的路径,默认路径为logs/error_log。
  • LogLevel:设置记录日志的级别,默认级别为warn(警告)。
  • GustomLog:设置访问日志文件的路径、日志类型,默认路径为logs/access_log,使用的类型为common(通用格式)。
  • PidFile:设置用于保存httpd进程号(PID)的文件,默认保持地址为logs/httpd.pid,logs目录位于Apache的服务器根目录下。
  • AddDefaultCharset:设置站点中的网页默认使用的字符集编码,如utf-8,gb2312等。
  • Include:包含另一个配置文件的内容,可以实现将一些特殊功能的配置放到一个单独的文件中,再使用Include配置项将其包含到httpd.conf文件中,这样便于独立进行配置功能的维护而不影响主配置文件。

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

4、安装DNS域名解析服务

[root@centos01 ~]# umount /mnt/          <!--卸载光盘-->

切换光盘
技术图片

[root@centos01 ~]# mount /dev/cdrom /mnt/         <!--挂载光盘-->
[root@centos01 ~]# mkdir /etc/yum.repos.d/bak/          <!--在yum根目录下创建一个bak目录-->
[root@centos01 ~]# mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/     
       <!--将yum目录里以Centos开头的文件剪切到bak目录-->
[root@centos01 ~]# rm -rf /etc/yum.repos.d/Centos-*       <!--删除以Centos开头的所以文件-->
[root@centos01 ~]# yum -y install bind bind-chroot<!--安装DNS-->
[root@centos01 ~]# cp /etc/named.conf /etc/named.conf.bak        <!--备份DNS主配置文件-->
[root@centos01 ~]# vim /etc/named.conf   <!--编辑主配置文件-->
options {                      <!--全局配置文件-->
        listen-on port 53 { 192.168.100.10; };   <!--53号端口监听IP地址-->
        directory "/var/named";                   <!--区域配置文件位置-->
        allow-query { 192.168.100.0/24; };  <!--允许100.0网段使用DNS-->
};
zone "bdqn.com" IN     {      <!--正向解析区域名字为bdqn.com-->
        type master;                  <!--主DNS服务器-->
        file "bdqn.com.zone";        <!--正向解析区域配置文件名字-->
};
[root@centos01 ~]# named-checkconf -z /etc/named.conf            <!--检查DNS主配置文件是否错误-->
[root@centos01 ~]# vim /var/named/bdqn.com.zone  <!--编辑正向解析区域配置文件-->
$TTL            86400             <!--解析资源记录有效时间24小时-->
@               SOA               bdqn.com.      root.bdqn.com (       <!--域名为bdqn.com-->
                2019081610              <!--更新序列号-->
                1H                             <!--刷新时间1小时-->
                15M                           <!--重试时间15分钟-->
                1W                            <!--失效时间为1周-->
                1D                             <!--无效解析记录保持时间1天-->
)
@               NS      centos01.bdqn.com.        <!--权威服务器是DNS的完全合格域名-->
centos01        A       192.168.100.10      
www             A       192.168.100.10
[root@centos01 ~]# named-checkzone bdqn.com /var/named/bdqn.com,zone   <!--检查正向解析区域配置是否有错误-->
[root@centos01 ~]# chown named:named /var/named/bdqn.com.zone    <!--修改属主属组-->
[root@centos01 ~]# chmod +x /var/named/bdqn.com.zone     <!--添加执行权限-->
[root@centos01 ~]# systemctl start named          <!--启动DNS服务-->
[root@centos01 ~]# systemctl enable named.service      <!--设置为开机自动启动-->
[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf <!--修改Apache主配置文件-->
#ServerName www.bdqn.com:80    <!--修改Web站点的完整主机名(主机名+域名)-->
[root@centos01 ~]# systemctl restart httpd           <!--重启Apache服务-->

客户端添加DNS
技术图片

运行cmd,输入nslookup bdqn.com是否正常解析
技术图片

打开浏览器通过域名访问
技术图片

至此客户端可以通过IP地址访问也可以通过域名进行访问。

—————— 本文至此结束,感谢阅读 ——————

以上是关于CentOS 7.4搭建Apache网站服务的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7.4——Apache应用之一,构建Web虚拟目录

centos 7.4 源码安装最新版本的lamp架构及搭建phpMyadmin

Linux精华篇—CentOS 7.4下源码编译构建LAMP架构

CentOS 7.4搭建DNS服务器实现主从同步

Centos 7.4上搭建sftp服务

centos 7.4 搭建分离解析的DNS服务器