Linux网络操作系统应用基础教程课件 项目十一 Apache服务器_第1页
Linux网络操作系统应用基础教程课件 项目十一 Apache服务器_第2页
Linux网络操作系统应用基础教程课件 项目十一 Apache服务器_第3页
Linux网络操作系统应用基础教程课件 项目十一 Apache服务器_第4页
Linux网络操作系统应用基础教程课件 项目十一 Apache服务器_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目十一Apache服务器能够配置和管理基于虚拟主机的Apache;

能够配置和管理基于认证的Apache;

能够进行Apache日志管理。知识与能力目标具有提高Web网站安全性的意识;

具有规范化配置Apache服务器的意识。素养目标项目相关知识---Apache服务器简介---配置基于虚拟主机的Apache---基于认证的Apache---Apache日志管理

项目实施---任务11-1访问控制

---任务11-2别名设置---任务11-3用户认证---任务11-4安装和管理MariaDB数据库

---任务11-5部署PHP应用

目录项目相关知识

Apache服务器简介

1.Apache起源与特性

Apache一般指ApacheHTTPServer,是Apache软件基金会的一个开源网页服务器软件。Apache一直是Internet上最流行的HTTP服务器之一。

Apache具有以下特性。

(1)跨平台性

(2)安全性

(3)可扩展性

(4)稳定性

项目相关知识

2.Apache服务器的安装与管理

Apache服务器上的Apache软件包是httpd,可以使用rpm方式、YUM方式或DNF方式进行安装。在RHEL9.5操作系统中,Apache服务名为httpd,通过如下命令httpd-v查看可知其版本号为Apache/2.4.62。

[root@localhosthttpd]#httpd-vServerversion:Apache/2.4.62(RedHatEnterpriseLinux)Serverbuilt:Aug3202400:00:00

在配置Apache服务器之前,需要先确定系统中是否已安装了Apache软件包,命令如下。

[root@localhost~]#rpm-aq|grephttpd

如果没有显示类似httpd-2*匹配的信息,则表明系统中没有安装Apache软件包项目相关知识

还可以使用命令systemctlstatushttpd查看Apache服务器是否存在。如下所示,输入命令systemctlstatushttpd后显示Unithttpd.servicecouldnotbefound,说明还未安装Apache服务器。

[root@localhost~]#systemctlstatushttpd

Unithttpd.servicecouldnotbefound.

在RHEL9.5操作系统中,用户可以把光盘放入光驱后进行挂载,设置本地YUM源或DNF源,然后安装Apache服务器软件httpd,命令如下所示。

[root@localhost~]#dnfinstallhttpd项目相关知识

安装完毕,可通过命令systemctlstatushttpd查看Apache服务器的状态。如下所示,输入命令systemctlstatushttpd后,显示信息“Loaded:loaded”,可知Apache服务器软件已安装。[root@localhost~]#systemctlstatushttpd○httpd.service-TheApacheHTTPServer

Loaded:loaded(/usr/lib/systemd/system/httpd.service;disabled;preset:d)Active:inactive(dead)Docs:man:httpd.service(8)lines1-4/4(END)项目相关知识

Apache的服务基本信息如下。

服务名称:httpd。

服务目录:/etc/httpd。

配置文件:/etc/httpd/conf/httpd.conf。

端口:80(http)、443(https)。

网站默认发布目录:/var/www/html。

管理httpd服务的命令如下。

[root@localhost~]#systemctlstarthttpd.service//启动Apache[root@localhost~]#systemctlstophttpd.service//停止Apache[root@localhost~]#systemctlrestarthttpd.service//重启Apache[root@localhost~]#systemctlenablehttpd.service//设置Apache开机启动项目相关知识3.Apache配置文件

通过编辑Apache的主配置文件/etc/httpd/conf/httpd.conf来配置Apache的运行参数。httpd.conf配置文件包含影响服务器运行的各种配置选项。配置文件的格式具有以下特点。

每一行的配置语句为“配置参数名称参数值”的格式,且可放在文件中的任何位置。

配置文件中的配置参数不区分大小写,但是参数值通常区分大小写。

以“#”开头的行被视为注解,在读取时会被忽略,可根据需要取消注释(删除#即可)项目相关知识

下面是配置文件中的一些常用的参数和参数值。

ServerRoot“/etc/httpd”:用于指定Apache服务器的根目录,默认为/etc/httpd。

Listen80:设置服务器的监听端口,默认监听端口80,可以根据需要绑定Apache服务器至特定的IP地址或端口。

ServerAdminroot@localhost:用于设置服务器返回给客户端的错误信息中包含的管理员邮箱地址,默认设置为root@localhost。

ServerName:80:用于设置访问服务器的域名和端口号,也可以设置为主机的IP地址。

DocumentRoot"/var/www/html":文档根目录,指定Apache服务器默认存放网页文件的目录位置,这个值可以根据自己的需要进行更改,默认为/var/www/html目录。

DirectoryIndexindex.html:默认主页的文件名称,默认为index.html。项目相关知识ErrorLog“logs/error_log”:用于指定Apache记录错误日志的文件路径,所有与Web服务相关的错误信息都会写入此文件。默认指定存放为logs/error_log。

CustomLog“logs/access_logcombined”:用于设置访问控制日志的路径及日志格式。项目相关知识

4.访问控制

在Apache服务器中有两种方法可以设置网站指定目录允许哪些IP地址访问,禁止哪些IP地址访问。(1)orderallow,deny语句orderallow,deny是Apache2.2及更早版本中常用的访问控制机制,主要用于控制哪些IP地址或网络可以访问特定的目录或资源。orderallow,deny:先检查allow规则,再检查deny规则。默认情况下拒绝所有客户端访问,如果既匹配allow字段又匹配deny字段,则deny字段生效。orderdeny,allow:先检查deny规则,再检查allow规则。默认情况下允许所有客户端访问,如果既匹配allow字段又匹配deny字段,则allow字段生效。项目相关知识

只允许所有客户端访问/var/www/html目录的示例如下。

<Directory"/var/www/html">OptionsIndexesFollowSymLinksAllowOverrideNone

orderallow,denyallowfromall</Directory>

项目相关知识

拒绝IP地址为0的客户端访问/var/www/html目录,其他客户端可以正常访问目录,示例如下。

<Directory"/var/www/html">OptionsIndexesFollowSymLinksAllowOverrideNone

orderdeny,allowdenyfrom0</Directory>项目相关知识

仅允许/24网段的客户端访问/var/www/html目录,其中的0无法访问目录,示例如下。

<Directory"/var/www/html">OptionsIndexesFollowSymLinksAllowOverrideNone

orderallow,denyallowfrom/24denyfrom0</Directory>项目相关知识

(2)Require指令

Require指令是Apache2.4及更高版本引入的简洁、灵活的访问控制机制,用于指定允许访问特定资源的用户或组。

常用语法如下。

Requireallgranted//允许所有访问

Requirealldenied//拒绝所有访问

RequireipIP_ADDRESS//允许特定IP地址或网段的访问

RequirehostHOSTNAME//只允许来自特定域名的主机的访问

在Apache2.4及更高版本中,尽管仍支持orderallow,deny指令,但推荐使用Require指令进行访问控制。

项目相关知识

Apache服务器的配置文件httpd.conf中包含Directory容器,其中的Require语句可以指定IP地址的访问权限。例如,Requirealldenied表示拒绝所有访问,这个语句在Directory容器中对根目录生效,所以Requirealldenied规定了所有用户都不能访问系统的根目录。

<Directory/>AllowOverridenone//禁止.htaccess文件中的指令覆盖httpd.conf中的指令

Requirealldenied</Directory>项目相关知识

只允许IP地址为

的客户端访问/var/www/html目录的示例如下。

<Directory"/var/www/html">OptionsIndexesFollowSymLinks//开启了目录浏览

AllowOverrideNoneRequireip//修改为IP地址

</Directory>

也可以以Requireip/24的形式设置

网段的客户端可以访问目录。

项目相关知识

拒绝

访问/var/www/html目录,其他客户端均可访问/var/www/html目录的示例如下:

<Directory"/var/www/html">OptionsIndexesFollowSymLinksAllowOverrideNone<RequireALL>Requireallgranted//允许所有客户端访问

Requirenotip//拒绝IP地址为

的客户端访问

</RequireAll></Directory>项目相关知识5.别名设置别名是一种将文档根目录以外的内容纳入站点访问范围的方法,其语法格式如下。

Alias/Webpath/full/filesystem/path//将以/Webpath开头的URL映射到/full/filesystem/path的文件中

项目相关知识配置基于虚拟主机的Apache

虚拟主机是当前常用的技术。如果一个服务器仅存放一个公司的网页,将造成资源浪费,因此通常一台服务器会存放多个公司的网页。服务器若要区分用户访问的是哪个网站,可以通过虚拟主机技术实现这一功能。

虚拟主机分为基于域名、基于IP地址、基于端口这3种实现方式。

基于域名:通过域名(也就是网址)来确定对应的网站。

基于IP地址:在同一台服务器上,通过设置不同的IP地址来分别管理多个网站。

基于端口号:在同一个IP地址中,利用不同的端口号来区分不同的网站,从而快速建立多个虚拟主机。

项目相关知识

虚拟主机的优点如下。

资源共享

独立配置

域名隔离

灵活性

项目相关知识

httpd.conf配置文件中对虚拟主机的配置通过<VirtualHost>容器实现,可在该容器内配置虚拟主机所需的参数,如DocumentRoot、ServerName等。虚拟主机配置示例如下。

<VirtualHost*:80>DocumentRoot"/var/www/html/example1"//文档根目录

ServerName//访问域名

#其他配置参数......</VirtualHost>

项目相关知识基于认证的Apache

只有通过服务器认证的用户才能以合法权限访问网站资源。

在进行认证时,需要用到Apache自带的htpasswd工具生成存放用户信息的文件。

命令格式:htpasswd[选项]文件名

用户名

htpasswd命令的常用参数及具体说明如下。

-c:创建一个新文件。

-m:用md5算法进行加密。项目相关知识

htpasswd工具创建xinxi用户并存放至etc/httpd/httppasswd文件,查看文件中的用户及密码的示例如下。

[root@localhost~]#htpasswd-cm/etc/httpd/httppasswdxinxiNewpassword:Re-typenewpassword:Addingpasswordforuserxinxi[root@localhost~]#cat/etc/httpd/httppasswdxinxi:$apr1$fTBMGxmw$564GN9qcjT5DgiJGRHRns/项目相关知识

在Apache的配置文件httpd.conf中,对/var/www/html/haha目录设置用户认证,经上述步骤创建的xinxi用户可以登录并访问/var/www/html/haha目录,示例如下。

<Directory"/var/www/html/haha">OptionsIndexesFollowSymLinksAllowOverrideNone

AuthName"haha"AuthTypeBasicAuthUserFile/etc/httpd/httppasswdRequirevalid-user</Directory>项目相关知识

如果认证的是一组用户,还需建立组文件,设置组名及组成员,并在Apache的配置文件httpd.conf中设置对应参数,示例如下。

使用vi编辑器新建组用户文件,在该组文件中设置如下内容。

组名:组成员1组成员2②

在Apache的配置文件httpd.conf中对/var/www/html/haha目录启用“组用户认证”机制,只有组中的用户(且输入正确用户名和密码)才能访问目录中的内容,示例如下。项目相关知识

<Directory"/var/www/html/haha">OptionsIndexesFollowSymLinksAllowOverrideNoneAuthName"haha"AuthTypeBasicAuthUserFile/etc/httpd/httppasswdAuthgroupfile组文件

Requiregroup组名

</Directory>项目相关知识Apache日志管理Apache的日

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论