【Linux系统】第13节 CentOS系统中采用Apache发布网站以及访问控制配置详解

news/2024/5/12 19:19:11/文章来源:https://blog.csdn.net/m0_64378913/article/details/123232705

目录

  • 1 CentOS系统中Apache的安装
    • 1.1 安装前检查
    • 1.2 配置IP地址
    • 1.3 安装及检查
  • 2 主页建立与编辑
  • 3 Apache主配置文件分析
  • 4 访问控制设定
    • 4.1 客户机地址限制
      • 4.1.1 客户机地址限制原理
      • 4.1.2 客户机地址限制示例1
      • 4.1.3 客户机地址限制示例2
    • 4.2 用户授权限制
  • 5 归纳
  • 参考文章

1 CentOS系统中Apache的安装

本节只介绍CentOS系统中如何安装及启动Apache服务。而对于kali系统,apache在kali虚拟机中已自带,需要使用命令启动Apache2服务,并查看其状态,具体可参考《 《Kali Linux系统利用Apache发布网站并设置访问限制》》。

1.1 安装前检查

(1)使用root用户登陆系统,并打开终端。
(2)查询系统是否已安装过Apache。因为在Linux系统中,不同方式安装的软件其查询命令不一致,建议使用以下命名查询系统中是否已安装过Apache,在该系统中名称是httpd。查询结果如图所示,均查不到内容。

rpm -qa | grep httpd
yum list installed | grep httpd

在这里插入图片描述

1.2 配置IP地址

本实验采用yum方式安装软件,而yum方式安装软件需要联网下载安装包,所以需要保证电脑能够上网。因此需要首先配好IP并将CentOS虚拟机桥接到真实网络中。配置IP的具体步骤如下,具体过程还可以参考《 Linux系统网络信息查看与配置(包括CentOS和Kali)》。
(1)将CentOS虚拟机的网络桥接到真实网络,如下。
在这里插入图片描述
(2)查看真实机网络信息。已知真实机IP地址为192.168.1.2,网关为192.168.1.1,DNS地址为192.168.1.1。
(3)查看相关配置文件, cd /etc/sysconfig/network-scripts/ ,该目录下有两个文件存放对应网卡的网络配置信息。
在这里插入图片描述
(4)配置网卡ens33。使用VIM编辑器打开ifcfg-ens33文件和进行配置,命令为 vim /etc/sysconfig/network-scripts/ifcfg-ens33 。打开配置文件后,按ins进入插入模式,可以输入命令。在该文件中的配置如下。vim编辑器的具体操作可参考《Linux系统vim编辑器简单应用》。之后按ESC键退出编辑模式,然后输入命令:wq保存并退出该网络配置文件.
在这里插入图片描述

(4)重新启动network服务使文件生效,输入命令/etc/init.d/network restart或者service network restart启动network服务管理该文件。然后输入ip addr查看IP地址是否配置完成,发现已配置完成。
在这里插入图片描述

(5)此时配置完毕,检验一下是否可以上外网,输入命令ping www.baidu.com,Linux的ping命令不同于Windows默认发4次包,Linux的ping命令会一直发,我们可以按Ctrl+C中止命令,如下图:
在这里插入图片描述

1.3 安装及检查

本实验apache的安装采用yum方式安装,具体步骤如下:
(1)输入yum install httpd* -y用这个命令来安装apache。其中,输入-y之后不用一直回复。
在这里插入图片描述
(2)需要一小会的等待……提示安装完完毕。
在这里插入图片描述

(3)输入命令systemctl start httpd.service启动Apache,并输入命令systemctl status httpd.service查看启动后的状态。看到已成功启动。
在这里插入图片描述
(4)通过查看端口验证。输入命令ss -antpl | grep 80查看是否已开启80端口,发现已正常开启。其中ss表示查询已开启端口号、a表示所有、n表示不用尝试解析服务名称、t表示TCP协议、p表示process进程、l表示监听状态、grep 80表示按80过滤。(也可以采用netstat -antpl | grep 80命令)。
在这里插入图片描述
(5)打开浏览器,输入IP地址访问网站,成功访问说明apache已安装完成。
在这里插入图片描述

2 主页建立与编辑

(1)新建主页及编辑。默认主页目录为/var/www/html,进入到主页所在目录/var/www/html下,输入命令vim /var/www/html/index.html新建主页并编辑。按ins键插入模式下输入以下命令,按Esc键回到命令模式,按:进入末行模式,输入wq保存并退出。
在这里插入图片描述

(2)打开win7虚拟机,将win7与CentOS虚拟机桥接到同一个网络且为win7配置IP地址(192.168.1.9),保证win7与CentOS虚拟机能互相ping通。
(3)CentOS虚拟机需要关闭防火墙和关闭selinux防火墙。输入命令systemctl stop firewalld.service关闭防火墙,之后输入命令firewall-cmd --state查看防火墙状态,此时可以看到防火墙已关闭。使用命令setenforce 0关闭selinux防火墙。另外,若想关闭防火墙开机自启动,可以使用命令systemctl disable firewalld.service
在这里插入图片描述
在这里插入图片描述
(4)用win7虚拟机去访问CentOS虚拟机网页。在浏览器输入IP地址进行访问,可以看到访问成功。
在这里插入图片描述

3 Apache主配置文件分析

在CentOS系统中,Apache主配置文件的路径为/etc/httpd/conf/httpd.conf,使用命令 vim /etc/httpd/conf/httpd.conf打开Apache主配置文件。文件较长,在末行模式下输入 :set nu 显示行号,方便查看或编辑。注意,在Kali系统中,Apache主配置文件的路径为/etc/apache2/apache2.conf 。该主配置文件主要规定了以下内容:
(1)配置文件规定了服务的根目录,也就是软件装在哪,其他子目录均在此根目录下展开。

# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path.  If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used.  If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
ServerRoot "/etc/httpd"

在这里插入图片描述

(2)配置文件规定了服务端口号为80.

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

在这里插入图片描述

(3)配置文件说明了加载的功能模块

# To be able to use the functionality of a module which was built as a DSO y    ou
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
Include conf.modules.d/*.conf

在这里插入图片描述

(4)配置文件说明了服务使用的用户身份。

# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User apache
Group apache

在这里插入图片描述

(5)配置文件说明了网站主页存放的目录,同时也有对目录中各种功能使用说明。

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

(6)配置文件对网站的访问权限进行了说明。

# Relax access to content within /var/www.
#
<Directory "/var/www">AllowOverride None# Allow open access:Require all granted
</Directory>

(7)配置文件对主页下文件的功能进行了规定,如是否共享、访问权限等。(什么叫做文件共享呢?假如/var/www/html目录下还有其他目录(文件也可以)为share,访问者通过输入http://192.168.1.8/share,则可以下载share下的文件,达到文件共享的目的)若需要关闭文件共享功能,则按下图所示删除indexes后保存即可,注意,要想编辑后的文件生效,需要重启Apache服务(输入命令systemctl restart httpd.service重启)

# Further relax access to the default document root:
<Directory "/var/www/html">## Possible values for the Options directive are "None", "All",# or any combination of:#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* --- "Options All"# doesn't give it to you.## The Options directive is both complicated and important.  Please see# http://httpd.apache.org/docs/2.4/mod/core.html#options# for more information.#Options Indexes FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:#   Options FileInfo AuthConfig Limit#AllowOverride None## Controls who can get stuff from this server.#Require all granted
</Directory>

在这里插入图片描述

4 访问控制设定

4.1 客户机地址限制

在一台centos7上搭建apache网站后,一般都是允许所有人访问的,如下图所示,在主配置文件中规定了允许所有人访问。那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址、网段、主机名或域名。使用名称“all”时表示任意地址。
在这里插入图片描述

4.1.1 客户机地址限制原理

对客户机地址限制的常用格式有下面几种:

  • Require all granted:表示允许所有主机访问(也是默认的);
  • Require all denied:表示拒绝所有主机访问;
  • Require local:表示仅允许本地主机访问;
  • Require [not] host <主机名或域名列表>:表示仅允许或拒绝指定主机或域名访问;
  • Require [not] ip <地址或网段列表>:表示仅允许或拒绝指定IP地址或网段访问;

定义限制策略时,多个不带not的require配置语句之间是或的关系,就是满足任意一条require配置语句就可以访问;若即有不带not的require配置语句,又出现了带not的require配置语句,则语句之间是与的关系,即同时满足所有require配置语句才可访问。注意,只要更改了服务的配置文件,必须重启Apache服务才可生效,重启服务的命令为systemctl restart httpd.service

4.1.2 客户机地址限制示例1

要求:仅允许ip地址为192.168.1.10的主机能够访问网页目录下的内容,
具体步骤
(1)使用命令 vim /etc/httpd/conf/httpd.conf打开Apache主配置文件。
(2)进入网站主配置文件httpd.conf后,在末行模式下输入:/Directory,按n查找到相应的位置,并在输入模式下按如下修改配置文件,最后保存并退出。其中vim编辑器的具体操作可参考《【Linux系统】第7节 Linux系统vim编辑器简单应用》

<Directory "/var/www/html">................   #省略部分内容Require ip 192.168.1.10           #仅允许192.168.1.10的主机访问网站服务
</Directory>

在这里插入图片描述

(3)输入命令systemctl restart httpd.service重启apache服务。
(4)用上述的win7虚拟机浏览器去访问CentOS虚拟机网页(此时win7的IP地址为192.168.1.9).,可以看到,没有看到真正的主页,访问失败。
在这里插入图片描述
(5)将win7虚拟机的IP地址修改为192.16.1.10,再去访问CentOS虚拟机网页,访问成功。
在这里插入图片描述

4.1.3 客户机地址限制示例2

要求:192.168.1.0网段的主机不能访问网站,但是别的网段的主机都可访问。
具体步骤
(1)使用命令 vim /etc/httpd/conf/httpd.conf打开Apache主配置文件。
(2)进入网站主配置文件httpd.conf后,在末行模式下输入:/Directory,按n查找到相应的位置,并在输入模式下按如下修改配置文件,最后保存并退出。注意,在下面的配置中,只要访问规则中出现了not语句,那么必须把规则放在 <RequireAll> </RequireAll>标签中。

<Directory "/var/www/html">................   #省略部分内容<RequireAll>Require   all  granted                      #允许所有主机访问Require  not  ip  192.168.1.0/24            #但192.168.1.0网段不可访问</RequireAll>
</Directory>

在这里插入图片描述
(3)输入命令systemctl restart httpd.service重启apache服务。
(4)win7虚拟机浏览器去访问CentOS虚拟机网页(此时win7的IP地址为192.168.1.10).,可以看到,没有看到真正的主页,访问失败。
在这里插入图片描述
(4)若win7虚拟机浏览器一定要访问CentOS虚拟机index.html主页,可以在浏览器中输入http://192.168.1.8/index.html。可以看到,网站拒绝显示此网页。
在这里插入图片描述

4.2 用户授权限制

基于用户的访问控制包含认证和授权两个过程,httpd服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式。使用摘要认证的话需要在编译http之前添加“–enable-auth-digest”选项,但并不是所有的浏览器都支持摘要认证,所以不推荐使用;而基本认证是httpd服务的基本功能,不需要预先配置特别的选项。以下介绍基本认证方式,具体步骤如下:
(1)创建用户和设置密码的数据文件,代码如下:

htpasswd -c /etc/httpd/conf/httpuser tom  #使用htpasswd工具创建用户,-c表示创建,/etc/httpd/conf/httpuser为所创建的用户的存放路径及文件名,tom为创建的用户名。
New password:                                   #输入密码
Re-type new password:                           #确认密码
Adding password for user webadmin               #提示添加成功

在这里插入图片描述

(2)查看该用户文件的权限及用户信息。
在这里插入图片描述
(3)另外建议将该文件的所属者改为apache,且只有apache用户可读。
在这里插入图片描述
(4)添加用户授权配置。输入命令vim /etc/httpd/conf/httpd.conf编辑网站主配置文件,网站主配置文件中添加用户授权配置代码如下,修改完后并保存退出。需要注意的是,用户访问授权与客户机地址访问控制同时设置时,设置的主机访问控制优先生效。所以在进行用户授权限制时,需要删除掉其中的require语句。要不然,用户访问授权不会生效。

 
<Directory "/var/www/html">authtype basic                   #设置认证类型,basic表示基本认证,即弹框的类型authname "please input username and password"       #定义弹框后的提示信息,不能写中文authuserfile /etc/httpd/conf/httpuser               #设置用于保存用户账号、密码的认证文件路径require valid-user                                  #要求只有认证文件中的有效用户才可访问。
#        其中valid-user表示所有合法用户,若只授权给单个用户,可改为指定的用户名,如tom。

在这里插入图片描述

(5)输入命令systemctl restart httpd.service重启apache服务。
(6)用win7虚拟机浏览器去访问CentOS虚拟机网页(此时win7的IP地址为192.168.1.10)。此时弹框,需要输入用户和密码。
在这里插入图片描述
(7)输入正确的用户和密码后可以访问。
在这里插入图片描述

5 归纳

(1)掌握CentOS Linux系统下部署apache网站的方法。
(2)熟悉CentOS Linux系统下apache网站的主配置文件。
(3)掌握CentOS Linux系统下apache网站访问控制的配置,包括客户机地址地址限制和用户授权限制。

参考文章

[1] 《Kali Linux系统利用Apache发布网站并设置访问限制》
[2]《基于Cent OS7搭建apache网站后的访问控制配置详解》
[3] 视频传送门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_740858.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【(SQL+HTML+PHP)综合】一个简单论坛网站的综合开发案例(具有用户注册、登录、注销、修改信息、留言等功能)

目录1 实验环境2 网站页面功能规划2.1 论坛首页2.2 个人中心2.3 实现留言功能2.4 数据库及连接数据库3 实验阶段一&#xff1a;实现注册、登录、注销和更新头像等功能3.1 数据库3.2 论坛首页./index.php3.3 个人中心注册页面./member/register.php3.4 接收来自注册页面的表单数…

【蚁剑工具-01】网站管理工具之中国蚁剑安装过程详解以及应用实例

目录1 中国蚁剑安装及设置1.1 下载1.2 安装1.3 相关设置2 中国蚁剑应用实例2.1 操作环境2.2 具体步骤3 总结参考文章任何人不得将其用于非法用途以及盈利等目的&#xff0c;也禁止未经允许私自修改打包进行发布&#xff0c;否则后果自行承担并将追究其相关责任&#xff01;中国…

【文件包含漏洞-04】经典面试题:已知某网站仅存在本地文件包含漏洞时,如何GetShell?

目录1 实验介绍2 实验环境3 实验步骤3.1 包含日志文件getshell拓展4 总结1 实验介绍 实验要求&#xff1a;假设攻击者已经知道某网站存在且仅存在本地文件包含漏洞&#xff0c;并且没有文件上传漏洞点及其他漏洞&#xff0c;如何GetShell。 实验目的&#xff1a;利用本地文件包…

php记录网站访问,PHP简单实现记录网站访问量功能示例

本文实例讲述了PHP简单实现记录网站访问量功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a;tongji/index.php文件&#xff1a; $file dirname(__FILE__)./tongji.db; //$data unserialize(file_get_contents($file)); $fpfopen($file,r); $content; if (flock($f…

PHP毕业设计旅游网站,基于PHP旅游网站的开发与设计(含录像)

基于旅游网站的开发与设计(含录像)(程序代码,数据库,毕业论文25000字)随着Internet的普及&#xff0c;越来越多的企业建立了自己的WWW网站&#xff0c;电子商务应时而生。本论文主要讨论如何建立一个简单的旅游电子商务网站。本网站主要包括4大系统&#xff1a;注册模块&#x…

如何实现ASP.NET中网站访问量的统计

如何实现ASP.NET中网站访问量的统计 2009-07-30 15:50 佚名 网翼教程网 字号&#xff1a;T | T本文介绍了如何在asp.net中进行网站访问量的统计。 AD&#xff1a;51CTO 网 第十二期沙龙&#xff1a;大话数据之美_如何用数据驱动用户体验 下面介绍如何进行ASP.NET中网站访问量的…

css ico图标不显示,网站后台ico图标不显示的解决方法

文汇软件小编在进行霖可改版项目时&#xff0c;完成中文站后创建了英文站点&#xff0c;将英文站点的配置域名改为了英文站的域名&#xff0c;但是进入英文站后台时&#xff0c;网站的ico图标都不显示了&#xff0c;通过审查代码得知ico图标文件地址还是中文站的地址&#xff0…

asp IIS网站的配置(Win7下启用IIS7配置ASP运行环境)

其实win7下的IIS7配置过程是非常简单的。下面让seo博客来详细的介绍一下win7下配置IIS7环境运行ASP网站的方法&#xff0c;以供初接触者参考第一次在windows7下配置IIS&#xff0c;虽然有丰富的xp下配置IIS的经验&#xff0c;但还是会遇到不少的问题。特别是对入门者来说&#…

来了解并防范一下CSRF攻击提高网站安全

看一下我从网上找的原理图&#xff0c;结合举例描述&#xff0c;多看一遍你就知道怎么回事了。 CSRF是什么呢&#xff1f;CSRF全名是Cross-site request forgery&#xff0c;是一种对网站的恶意利用&#xff0c;CSRF比XSS更具危险性。想要深入理解CSRF的攻击特性我们有必要了解…

web程序设计asp.net实用网站开发源码_新网站开发要选择哪种数据库?这几种类型,你需要了解...

来自网易号&#xff0c;作者&#xff0c;云计算那点事在如今的互联网大背景下&#xff0c;网站开发成为了一个大热门&#xff0c;而网站开发离不开数据库的支持。对于开发人员来说&#xff0c;数据库日渐成为IT管理人员的得力助手。简单来讲&#xff0c;数据库(DataBase)就是一…

如何维护关键字_【品牌优化】网站品牌如何优化,效果怎样

点击上方蓝字关注我吧&#xff01;建立网站品牌并非一夜之间就能形成的&#xff0c;它需要日积月累的口碑、服务、品质等一点点积累。而且网站品牌相当于一个行走在互联网上的符号&#xff0c;有了它可以让更多的消费者加深认识&#xff0c;对企业的发展起到至关重要的作用。那…

linux下lnmp域名绑定,lnmp安装ngnix配置多域名或多个网站

ngnix 配置默认情况下&#xff0c;ngnix下域名的绑定都是通过ngnix.conf文件来配置的&#xff0c;但是有时候我们有多个域名或子域名的情况下要怎么绑定呢&#xff1f;或者有子域名指定不同的目录的时候我们又应该怎么设置呢&#xff1f; 其实很简单&#xff0c;以下就以我的网…

tdk怎么设置_网站不收录应该怎么办,这几招是最好的解决

今年从3月份开始&#xff0c;做网站运营的站长朋友都发现&#xff0c;收录变慢了&#xff0c;然后逐渐不收录了。遇到问题后&#xff0c;我们要做的不是在这里怨天尤人&#xff0c;而是第一时间去发现问题&#xff0c;从而找到解决的办法。今天&#xff0c;冬镜就和大家一起来聊…

怎么注册tk域名_域名注册后怎么做网站?有了域名如何搭建网站?

域名注册后怎么做网站?有了域名如何搭建网站?很多人在聚名网注册域名后都不知道怎么使用&#xff0c;对于站长来说&#xff0c;域名注册后建站是第一要素&#xff0c;那么注册域名后如何建好网站呢?接下来聚名网小编就为大家介绍一下域名注册后怎么做网站和有了域名如何搭建…

如何申请新浪SAE,发布自己的网站

你是否会看见诸如(***.sinaapp.com)类的域名?是否和新浪有什么关系?抑或想要一个免费的空间展示自己的个人主页;没问题,下面我来分享一下SAE的申请流程吧! 首先,打开SAE(http://sae.sina.com.cn/): 第二步,进入后使用新浪帐号登录;然后点击右上角的“我的应用”-“应用列表”…

大型网站技术架构 大型网站架构演化

何谓大型网站 大型网站系统特点&#xff1a; ps&#xff1a;符合这些要求的所谓大型网站真的很少&#xff0c;可遇而不可求也。 说到大型网站&#xff0c;就要先理一下大型网站的特点&#xff1a;高并发&#xff0c;大流量&#xff0c;高可用&#xff0c;海量数据等&#xff0c…

个人电脑网站的创建与发布

个人电脑网站的创建与发布 01、启动IIS管理器 IIS&#xff1a;即Internet Information Service&#xff0c;网络信息服务。一般情况下该服务是关闭的&#xff0c;需要打开&#xff0c;步骤如下&#xff1a; 点击"确定"后&#xff0c;重启电脑即可启用IIS管理器&…

php网站后台密码忘记,phpweb忘记后台密码

1.保存以下代码&#xff0c;将文件名修改为findpass.php &#xff0c;并上传到站点程序如www目录&#xff1a;if(isset($_GET[‘password’])) {require(“config.inc.php”);$linkmysql_connect($dbHost,$dbUser,$dbPass);mysql_select_db($dbName);$usernametrim($_GET[‘use…

威联通nas可以做网站服务器吗,家用NAS服务器,威联通和群晖使用感受对比

目前NAS市场品牌繁多&#xff0c;价格不一&#xff0c;体验也有很大差别。那么威联通和群晖相比&#xff0c;使用体验方面&#xff0c;家用选哪款呢&#xff1f;客观的说&#xff0c;两者差不多&#xff0c;铁威马性价比稍高点&#xff0c;威联通与群晖差不多&#xff0c;价略高…

支付宝网站支付demo运行教程

一、前言 在一些商城网上中&#xff0c;必不可少的是支付&#xff0c;支付宝和微信比较常见&#xff0c;最近小编也是在研究这一块&#xff0c;看看支付宝怎么进行支付的&#xff0c;支付宝给我们提供了demo和沙箱测试。减少我们的申请的麻烦&#xff0c;公钥和秘钥也比之前方…