Linux操作系统配置与管理第16章.ppt
Linux操作系统配置与管理主编 严学军 鲁立 中国水利水电出版社第16章 Apache服务的配置和管理学习要点lApache的基本概念lApache的安装方法l服务器的配置方法16.1 Apache概述关于WWW和URL的基本概念nWeb服务器是可以向发出请求的浏览器提供文档的程序。n服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。n最常用的Web服务器是Apache和Microsoft的Internet信息服务器(Internet Information Server,IIS)。nInternet上的服务器也称为Web服务器,是一台在Internet上具有独立IP地址的计算机,可以向Internet上的客户机提供WWW、Email和FTP等各种Internet服务。n当Web浏览器(客户端)连到服务器上并请求文件时,Web服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。http:/ Apache概述16.1.2 Apache简介 Apache是世界上最流行的Web服务器软件之一。它可以运行在几乎所有广泛使用的计算机平台上。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。16.2 Apache软件的安装在RHEL5系统中,提供了版本的Apache软件,其服务名为httpd。只有同时安装httpd和system-config-httpd的RPM软件包后才可以使用http图形配置工具。在“应用程序”“附件”“终端”中,用命令:rpm qa|grep httpd来 查看当前系统中是否安装Apache相关软件包。如果没有安装,则需预安装。16.2 Apache软件的安装 我们可以从RHEL5.0安装光盘中自带的RPM软件包中选择安装。默认的查询结果如下图17-1所示。图16-1所16.2 Apache软件的安装所有软件包安装完成后,查询结果如下图所示。图16-2所http:/ Apache软件的安装 单击“系统”“管理”“服务器设置”“服务”,在服务配置界面中启用httpd服务。如下图所示。图16-316.3 Apache图形配置 单击“系统”“管理”“服务器设置”“HTTP”,可以启用Apache图形配置工具进行Web服务器的图形化配置。图16-416.4 Apache命令行配置16.4.1 配置文件httpd.conf下面我们来看一下httpd.conf中的几条指令,“#”后加入了注释说明。nPort 80#定义了web服务器的侦听端口,默认值为80,它是TCP网络端口之一。若写入多个端口,以最后一个为准。nUser apache#一般情况下,以nobody用户和nobody组来运行web服务器,因为webnGroup apache(Unix平台最流行的WEB服务器平台)#服务器发出的所有的进程都是以root用户身份运行的,存在安全风险。nServerAdmin rootlocalhost#指定服务器管理员的E-mail地址。服务器自动将错误报告到该地址。nServerRoot/etc/httpd#服务器的根目录,一般情况下,所有的配置文件在该目录下。nServerName new.host.name:80#web客户搜索的主机名称。nKeepAliveTimeout 15#规定了连续请求之间等待15秒,若超过,则重新建立一条新的TCP连接。16.4 Apache命令行配置nMaxKeepAliveRequests 100#永久连接的HTTP请求数nMaxClients 150#同一时间连接到服务器上的客户机总数nErrorLog logs/error_log#用来指定错误日志文件的名称和路径nPidFile run/httpd.pid#用来存放httpd进程号,以方便停止服务器。nTimeout 300#设置请求超时时间,若网速较慢则应把值设大。nDocumentRoot/var/www/html#用来存放网页文件的目录。http:/ Apache命令行配置16.4.2 Apache基本配置具体步骤如下。(1)打开网络配置工具,给系统分配一个静态IP地址。要让客户端正常访问Web服务器,我们需要给Web服务器设置一个静态的IP地址。这里,我们假设IP地址为:。(2)修改配置文件:vi /etc/httpd/conf/httpd.conf找到ServerName这一行,并修改为:ServerName:192.168.0.101:80(3)启动Apache服务,用Service命令,重启httpd服务,让修改后的配置文件生效:Service httpd restart(4)关闭防火墙或放开http端口,为了让客户端正常访问Web服务器,需开放http端口,这里,我们选择关闭防火墙,用命令:setup可以通过选项,关闭防火墙。16.4 Apache命令行配置图16-516.4 Apache命令行配置图16-6http:/ Apache命令行配置(5)检验安装是否成功在web浏览器中输入:,显示 Apache Test页面。至此,Apache服务器可以正常工作了。图16-716.4 Apache命令行配置16.4.3 访问Apache的静态网页为了能在客户端正常访问静态网页,我们进一步修改Apache的配置文件httpd.conf。(1)修改配置文件:vi /etc/httpd/conf/httpd.conf 将一行改为您的邮箱地址16.4 Apache命令行配置图16-816.4 Apache命令行配置主配置文件中的DocumnetRoot 选项可以控制将要发布的网页文件存放在哪个目录下。DocumentRoot“/home/httpd/html/”此处为html文件主目录 为了让客户端有权限访问网页存放的目录,我们需要放开访问权限,修改,设置Allow from all。16.4 Apache命令行配置图16-916.4 Apache命令行配置(2)编写一个简单的html网页,放入apache对应的目录,远程访问该网页 自己写一个html文件,“my apache works!”放入/var/www/html/中,并命名为index.html;在web浏览器中输入:;即可成功访问index.html页面。图16-1016.4 Apache命令行配置扩展设置:增加用户验证功能 Apache服务器已经内置用户验证机制,只要适当加以设置,便可以控制网站的某些部分要用户验证。1在Linux桌面上单击鼠标右键,从弹出的快捷菜单中选择【打开终端】命令,打开Linux的终端输入窗口。2在/var/www(Apache的主页根目录)下创建一个test目录。由于使用的是命令行创建方式,下面所示的命令就是创建该目录所使用的命令。mkdir/var/www/test3编辑httpd.conf文件。打开该文件后,在里面添加以下代码:Alias/test/var/www/testOptions Indexes MultiViewsAllowOverride AuthConfig#表示进行身份验证Order allow,denyAllow from all 其中,#AllowOverride AuthConfig表示进行身份验证,是整个代码中最为关键的设置。16.4 Apache命令行配置4使用vi命令在/var/www/test目录中创建一个.htaccess文件,并在其中添加如下代码:AuthName frank share webAuthType BasicAuthUserFile/var/www/test/.htpasswdrequire valid-user 其中,#AuthName用于描述当前任务的目的,用户可以任意输入;#AuthUserFile/var/www/test/.htpasswd#require valid-user或者require user frank限制是所有合法用户还是指定用户。此外,#密码文件推荐使用.htpasswd,因为Apache默认系统对.ht开头的文件默认不允许外部读取,安全系数会高一些。16.4 Apache命令行配置5下面可以创建Apache的验证用户了,在shell提示下输入以下代码:htpasswd-c/var/www/test/.htpasswd frank 在创建时需要注意:第一次创建用户要用到-c参数,当第二次添加用户时,则可以省去该参数。如果需要修改密码,可以输入以下命令:htpasswd-m.htpasswd frank 6重启Apache服务,然后访问http:/你的网站地址/test,看到一个用户验证的弹出窗口,只要填入第4步创建的用户名和密码,即可进入网站。此外,为了服务器的性能,一般不推荐使用AllowOverride AuthConfig或AllowOverride ALL,因为这会使服务器会不断寻找.htaccess,从而影响服务器的效能,一般一些后台管理界面或其他特殊目录可能需要加验证这个需求。16.5项目实训:Apchae服务器架设论坛网站项目需求:安装Apache服务包,并安装PHP环境,使之支持搭建PHP论坛,并创建论坛。http:/