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地址

[[email protected] ~]# 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服务的过程主要包含解包、配置、编辑及安装。

[[email protected] mnt]# mount /dev/cdrom /mnt/   <!--挂载光盘 -->
[[email protected] mnt]# cd /mnt/   <!--进入mnt目录-->
[[email protected] mnt]# cp httpd-2.2.17.tar.gz /usr/src/     <!--备份httpd到/usr/src/ -->
[[email protected] mnt]# tar zxvf httpd-2.2.17.tar.gz -C /usr/src/ <!--解压缩httpd到/usr/src/-->
[[email protected] 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脚本程序支持,便于扩展网站的应用访问能力。
[[email protected] httpd-2.2.17]# make        <!--编译Apache-->
[[email protected] httpd-2.2.17]# make install      <!--安装Apache-->
[[email protected] ~]# 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服务的各种模块文件。
[[email protected] ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/       <!--优化执行路径-->
[[email protected] ~]# cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd<!--添加Apache系统服务-->
[[email protected] ~]# chmod +x /etc/init.d/httpd         <!--/etc/init.d/httpd添加执行权限-->
[[email protected] ~]# vim /etc/init.d/httpd       <!--修改Apache服务-->
#!/bin/sh
#chkconfig: 35 85 21 <!--服务识别参数,在级别3、5中启动;启动和关闭的顺序分别为85、21-->
#description:apache server       <!--服务描述信息-->
......             <!--省略部分内容-->
[[email protected] ~]# chkconfig --add httpd   <!--将httpd添加系统服务-->
[[email protected] ~]# systemctl start httpd    <!--启动httpd服务-->
[[email protected] ~]# systemctl enable httpd <!--设置httpd服务开机自启-->
httpd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig httpd on
[[email protected] ~]# systemctl is-enabled httpd.service <!--查看httpd服务开机自动启动状态-->
[[email protected] ~]# apachectl -t            <!--检查apache服务配置文件是否有错误-->
[[email protected] ~]# 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

修改网站主页内容
[[email protected] ~]# 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域名解析服务

[[email protected] ~]# umount /mnt/          <!--卸载光盘-->

切换光盘

[[email protected] ~]# mount /dev/cdrom /mnt/         <!--挂载光盘-->
[[email protected] ~]# mkdir /etc/yum.repos.d/bak/          <!--在yum根目录下创建一个bak目录-->
[[email protected] ~]# mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/
       <!--将yum目录里以Centos开头的文件剪切到bak目录-->
[[email protected] ~]# rm -rf /etc/yum.repos.d/Centos-*       <!--删除以Centos开头的所以文件-->
[[email protected] ~]# yum -y install bind bind-chroot<!--安装DNS-->
[[email protected] ~]# cp /etc/named.conf /etc/named.conf.bak        <!--备份DNS主配置文件-->
[[email protected] ~]# 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";        <!--正向解析区域配置文件名字-->
};
[[email protected] ~]# named-checkconf -z /etc/named.conf            <!--检查DNS主配置文件是否错误-->
[[email protected] ~]# 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
[[email protected] ~]# named-checkzone bdqn.com /var/named/bdqn.com,zone   <!--检查正向解析区域配置是否有错误-->
[[email protected] ~]# chown named:named /var/named/bdqn.com.zone    <!--修改属主属组-->
[[email protected] ~]# chmod +x /var/named/bdqn.com.zone     <!--添加执行权限-->
[[email protected] ~]# systemctl start named          <!--启动DNS服务-->
[[email protected] ~]# systemctl enable named.service      <!--设置为开机自动启动-->
[[email protected] ~]# vim /usr/local/httpd/conf/httpd.conf <!--修改Apache主配置文件-->
#ServerName www.bdqn.com:80    <!--修改Web站点的完整主机名(主机名+域名)-->
[[email protected] ~]# systemctl restart httpd           <!--重启Apache服务-->

客户端添加DNS

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

打开浏览器通过域名访问

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

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

原文地址:https://blog.51cto.com/14156658/2445639

时间: 2024-11-05 17:33:14

CentOS 7.4搭建Apache网站服务的相关文章

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

Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后开始准备安装: 1.为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载. 2.挂载系统镜像,切换至系统盘中的Packages目录,安装相关依赖包(注意,最好一个一个的依次安装,因为如果有些安装包已经安装了,一

基于Cent OS7搭建apache网站后的访问控制配置详解

在一台centos7上搭建apache网站后,一般都是允许所有人访问的,那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址.网段.主机名或域名.使用名称"all"时表示任意地址. 安装apache服务的参考博文:https://blog.51cto.com/14154700/2391114 1.客户机地址限制: 限制策略的常用格式有下面几种: Require all granted:

Apache网站服务基础

Apache网站服务基础 一.安装httpd服务器 1.      为了避免端口冲突,程序冲突,建议先卸载使用RPM方式安装的httpd rpm  -q | grep httpd rpm  -e httpd  --nodeps 2.      源码编译及安装 a)        解包 tar zxfhttpd-2.2.17.tar   -C /root cd  ~ b)        配置 根据服务器实际的应用需求,可以灵活设置不同的定制选项 各选项的含义: --prefix:指定将httpd服

搭建Apache网站基础服务

简介 Apache HTTP Server 是开源软件项目的代表,也是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上.因为它是自由的开源软件,所以不断有人来为它开发新的功能.新的特性.修改原来的缺陷. Apache的主要特点: 开源代码:这是它的重要特点之一,也是其他特性的基础 跨平台应用:apache服务器可以运行在绝大多数的平台上 支持各种web编程语言:Apache服务器可支持的网页编程语言包括Perl.PHP.Python.Java等. 模块化设计:Apa

APache网站服务配置访问控制和构建虚拟主机

博文目录一.Httpd服务的访问控制1.客户机地址限制2.用户授权限制二.构建虚拟Web主机三.配置基于域名的虚拟主机四.配置基于IP地址的虚拟主机五.配置基于端口号的虚拟主机 一.Httpd服务的访问控制 为了更好地控制对网站资源的访问.可以为特定的网站目录添加访问授权.主要分为客户机地址限制和用户授权限制,这两种访问控制方式都应用于httpd.conf配置文件中的目录区域范围内. 1.客户机地址限制 通过Require配置项,可以根据主机的主机名或IP地址来决定是否允许客户端访问.在http

部署Apache网站服务以及访问控制的实现

WebServer常用的有Apache.IIS.nginx.Tomcat Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上.其属于应用服务器.Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML.图片等,但可以通过扩展脚本.模块等支持动态页面等. IIS是一种web服务组件,其中包括Web服务器.FTP服务器.NNTP服务器和SMTP服务器,分别用于网页浏览.文件传输.新闻服务和邮件发送等方面,它使得在网络上发送信息成为一件

实战搭建 apache + svn 服务

SVN 作为版本控制软件是非常优秀的免费软件,现在想通过http://.. 访问,本文介绍一下搭建. 1.系统环境 [[email protected] ~]# uname -r 2.6.32-642.6.1.el6.x86_64 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.8 (Final) 系统IP:10.89.1.32 2.实战搭建 #安装所需要的软件 [[email protected] ~]# yum

搭建LNMP网站服务平台

一.安装及运行控制Nginx 1.编译安装Nginx Ngin的配置及运行需要pcre.zlib的软件包的支持,因此预先安装这些软件的开发包. 为Nginx创建专门的用户和组(默认是以nobody身份运行的) 编译安装Nginx 选项"--with-http_stub_status_module":表示启用该模块以支持状态统计. 为主程序nginx创建链接文件,优化执行路径. 2.Nginx的运行控制 配合选项"-t"检查配置文件(配置文件nginx.conf默认位

在Linux系统中搭建Nginx网站服务

关于Nginx 一款高性能.轻量级Web服务软件 稳定性高 系统资源消耗低 对HTTP并发连接的处理能力高 单台物理服务器可支持30000 ~ 50000个并发请求 Nginx编译安装 Nginx源码包下载 安装支持软件 [[email protected] opt] yum install gcc gcc-c++ make pcre-devel zlib-devel -y 创建运行用户.组 [[email protected] opt] useradd -M -s /sbin/nologin