Linux网络操作系统项目教程-项目13-配置与管理Apache服务器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Linux网络操作系统项目教程项目十三配置与管理Apache服务器2项目导入①认识Apache。②掌握Apache服务的安装与启动方法。③掌握Apache服务的主配置文件。④掌握各种Apache服务器的配置方法。⑤学会创建Web网站和虚拟主机。职业能力目标和要求某学院组建了校园网,建设了学院网站。现需要架设Web服务器来为学院网站安家,同时在网站上传和更新时,需要用到文件上传和下载,因此还要架设FTP服务器,为学院内部和互联网用户提供、FTP等服务。本项目先实践配置与管理Apache服务器。32.HTTP(1)客户端访问Web服务器的过程①Web浏览器使用HTTP命令向服务器发出Web请求(一般是使用GET命令要求返回一个页面,但也有POST等命令)。②服务器接收到Web页面请求后,就发送一个应答并在客户端和服务器之间建立连接。建立连接示意图如图13-1所示。③Web服务器查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。④Web浏览器接收到文档后,就将它解释并显示在屏幕上。传输相关内容示意图如图13-2所示。HTTP(HypertextTransferProtocol,超文本传输协议)可以算得上是目前国际互联网基础上的一个重要组成部分。而Apache、IIS服务器是HTTP协议的服务器软件,微软的InternetExplorer和Mozilla的Firefox则是HTTP协议的客户端实现。4图13-1Web客户端和服务器之间建立连接图13-2Web客户端和服务器之间进行数据传输⑤当客户端浏览完成后,就断开与服务器的连接。关闭连接示意图图13-3所示。图13-3Web客户端和服务器之间关闭连接5(2)端口HTTP请求的默认端口是80,但是也可以配置某个Web服务器使用另外一个端口(比如8080)。这就能让同一台服务器上运行多个Web服务器,每个服务器监听不同的端口。但是要注意,访问端口是80的服务器,由于是默认设置,所以不需要写明端口号。如果访问的一个服务器是8080端口,那么端口号就不能省略,它的访问方式就变成了:任务1安装、启动与停止Apache服务13.2.1子任务1安装Apache相关软件6[root@RHEL7-1~]#rpm-qhttpd[root@RHEL7-1~]#mkdir/iso[root@RHEL7-1~]#mount/dev/cdrom/iso[root@RHEL7-1桌面]#yumcleanall//安装前先清除缓存[root@RHEL7-1~]#yuminstallhttpd-y[root@RHEL7-1~]#yuminstallfirefox–y//安装浏览器[root@RHEL7-1~]#rpm–qa|grephttpd//检查安装组件是否成功启动或重新启动、停止Apache服务的命令如下:[root@RHEL7-1~]#systemctlstart/restart/stophttpd713.2.2子任务2让防火墙放行,并设置SELinux为允许需要注意的是,RedHatEnterpriseLinux7采用了SELinux这种增强的安全模式,在默认的配置下,只有SSH服务可以通过。像Apache这种服务,在安装、配置、启动完毕后,还需要为它放行才行。(1)使用防火墙命令,放行http服务。[root@RHEL7-1~]#firewall-cmd--list-all[root@RHEL7-1~]#firewall-cmd--permanent--add-service=httpsuccess[root@RHEL7-1~]#firewall-cmd--reloadsuccess[root@RHEL7-1~]#firewall-cmd--list-allpublic(active)target:defaulticmp-block-inversion:nointerfaces:ens33sources:services:sshdhcpv6-clientsambadnshttp………………8(2)更改当前的SELinux值,后面可以跟Enforcing、Permissive或者1、0。[root@RHEL7-1~]#setenforce0[root@RHEL7-1~]#getenforcePermissive13.2.3子任务3测试httpd服务是否安装成功启动Apache服务器,并设置开机自动加载Apache服务。[root@RHEL7-1~]#systemctlstarthttpd[root@RHEL7-1~]#systemctlenablehttpd[root@RHEL7-1~]#firefox所示的提示信息,则表示Apache服务器已安装成功。也可以在Applications菜单中直接启动firefox,然后输入在地址栏输入,测试是否成功安装。9图13-4Apache服务器运行正常13.3任务2认识Apache服务器的配置文件在Linux系统中配置服务,其实就是修改服务的配置文件,httpd服务程序的主要配置文件及存放位置如表13-1所示。10配置文件的名称存放位置服务目录/etc/httpd主配置文件/etc/httpd/conf/httpd.conf网站数据目录/var/访问日志/var/log/httpd/access_log错误日志/var/log/httpd/error_logApache服务器的主配置文件是httpd.conf,该文件通常存放在/etc/httpd/conf目录下。文件看起来很复杂,其实很多是注释内容。本节先作大略介绍,后面的章节将给出实例,非常容易理解。httpd.conf文件不区分大小写,在该文件中以“#”开始的行为注释行。除了注释和空行外,服务器把其他的行认为是完整的或部分的指令。指令又分为类似于shell的命令和伪HTML标记。指令的语法为“配置参数名称参数值”。伪HTML标记的语法格式如下:11Directory/OptionsFollowSymLinksAllowOverrideNone/Directory在httpd服务程序的主配置文件中,存在3种类型的信息:注释行信息、全局配置、区域配置。在httpd服务程序主配置文件中,最为常用的参数如表13-2所示。表13-2配置httpd服务程序时最常用的参数以及用途描述参数用途ServerRoot服务目录ServerAdmin管理员邮箱User运行服务的用户Group运行服务的用户组ServerName网站服务器的域名DocumentRoot文档根目录(网站数据目录)Directory网站数据目录的权限Listen监听的IP地址与端口号DirectoryIndex默认的索引页页面ErrorLog错误日志文件CustomLog访问日志文件Timeout网页超时时间,默认为300秒从表13-2中可知,DocumentRoot参数用于定义网站数据的保存路径,其参数的默认值是把网站数据存放到/var/目录中;而当前网站普遍的首页面名称是index.html,因此可以向/var/目录中写入一个文件,替换掉httpd服务程序的默认首页面,该操作会立即生效(在本机上测试)。[root@RHEL7-1~]#echoWelcomeToMyWeb/var/[root@RHEL7-1~]#firefox程序的首页面内容已经发生了改变,如图13-5所示。图13-5首页内容已发生改变提示:如果没有出现希望的画面,而是仍回到默认页面,那一定是SELinux的问题。请在终端命令行运行setenforce0后再测试。详细解决方法,请继续阅读本书的下一节寻求帮助!1413.4任务3常规设置Apache服务器的实例1.设置文档根目录和首页文件的实例【例13-1】默认情况下,网站的文档根目录保存在/var/中,如果想把保存网站文档的根目录修改为/home/,并且将首页文件修改为myweb.html,那么该如何操作呢?(1)分析文档根目录是一个较为重要的设置,一般来说,网站上的内容都保存在文档根目录中。在默认情形下,除了记号和别名将改指它处以外所有的请求都从这里开始。而打开网站时所显示的页面即该网站的首页(主页)。首页的文件名是由DirectoryIndex字段来定义的。在默认情况下,Apache的默认首页名称为index.html。当然也可以根据实际情况进行更改。(2)解决方案①在RHEL7-1上修改文档的根据目录为/home/,并创建首页文件myweb.html。[root@RHEL7-1~]#mkdir/home/[root@RHEL7-1~]#echoTheWeb'sDocumentRootTest/home/②在RHEL7-1上,打开httpd服务程序的主配置文件,将约第119行用于定义网站数据保存路径的参数DocumentRoot修改为/home/,同时还需要将约第124行用于定义目录权限的参数Directory后面的路径也修改为/home/将第164行修改为DirectoryIndexmyweb.htmlindex.html。配置文件修改完毕后即可保存并退出。15[root@RHEL7-1~]#vim/etc/httpd/conf/httpd.conf………………省略部分输出信息………………119DocumentRoot/home/:127Requireallgranted128/Directory………………省略部分输出信息………………163IfModuledir_module164DirectoryIndexindex.htmlmyweb.html165/IfModule………………省略部分输出信息………………16③让防火墙放行http服务,重启httpd服务。[root@RHEL7-1~]#firewall-cmd--permanent--add-service=http[root@RHEL7-1~]#firewall-cmd--reload[root@RHEL7-1~]#firewall-cmd--list-all④Client1测试(RHEL7-1和Client1都是VMnet1连接,保证互相通信)。[root@client1~]#firefox⑤故障排除。奇怪!为什么看到了httpd服务程序的默认首页面?按理来说,只有在网站的首页面文件不存在或者用户权限不足时,才显示httpd服务程序的默认首页面。更奇怪的是,我们在尝试访问页面时,竟然发现页面中显示“Forbidden,Youdon'thavepermissiontoaccess/index.htmlonthisserver.”,如图13-6所示。什么原因呢?是SELinux的问题!解决方法是在服务器端运行setenforce0,设置SELinux为允许:[root@RHEL7-1~]#getenforceEnforcing[root@RHEL7-1~]#setenforce0[root@RHEL7-1~]#getenforcePermissive17特别

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功