基于Apache的WEB服务器架构.ppt_第1页
基于Apache的WEB服务器架构.ppt_第2页
基于Apache的WEB服务器架构.ppt_第3页
基于Apache的WEB服务器架构.ppt_第4页
基于Apache的WEB服务器架构.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

学习情境二、WEB服务器的安装与配置,任务一、基于Apache的WEB服务器架构,2-2 Apache服务器,2.2.1 安装Apache 1. 获取软件 可以从获得Apache 的最新版。 Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是编译过的可执行文件压缩软件包(通常是RPM包),下载后只需解压到安装路径就可以使用。,2.2.1 安装Apache,2. 软件安装 三种方法安装Apache服务器。 (1) 在安装Linux时选择httpd服务,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。 (2) 安装可执行文件压缩软件包。 在RedHat Linux7.3 发行版的光盘的/RedHat/RPMS中找到apache-1.3.23-11.i386.rpm的软件包,使用以下命令安装。 #rpm -ivh apache-1.3.23-11.i386.rpm (3) 编译Apache,定制其功能后进行安装。,2.2.1 安装Apache,3. 定制安装 (1) 下载apache源代码包apache_1.3.29.tar.gz,复制到/tmp。 (2) 解开压缩文件: #tar -xvzf apache_1.3.29.tar.gz。 (3) 进入Apache源代码发行版目录。 #cd apache_1.3.29 (4) 执行组态配置文件: #./configure (5) 编译Apache的相关文件: #make (6) 将Apache服务器安装到系统上:#make install,2.2.1 安装Apache,4. Apache 的模块 模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要的功能,这也是Apache灵活性的表现。模块配置行格式如下: AddModule modules/standard/mod_env.o,2.2.1 安装Apache,5. 启动与停止Apache服务器 方法一: 启动 #/usr/sbin/apachectl start 停止 #/usr/sbin/apachectl stop 或: 立即重启 #/usr/sbin/apachectl restart,2.2.1 安装Apache,方法二: 启动 #service httpd start 停止 #service httpd stop 或 立即重启 #service httpd restart 方法三: 启动 #/etc/rc.d/init.d/httpd start 停止 #/etc/rc.d/init.d/httpd stop 或: 立即重启 #/etc/rc.d/init.d/httpd restart,2.2.1 安装Apache,6. 测试 (1)在Linux系统的X-Windows下,启动Netscape Communicator,在地址栏上输入“http:/localhost”(或); (2)在客户机的浏览器上,输入“” (3) 应用显示“Test Page for the Apache Web Server on Red Hat Linux”为标题的页面。,2.2.2 Apache服务器基本配置,在Red Hat Linux 7.3中,Apache将自己的所有配置文件和日志文件放在/etc/httpd目录下: conf下为配置文件,log下为日志文件,modules下为模块文件。 同时,它建立/var/www目录,并在其下建立三个子目录:html子目录下存放HTML(主页)文件;cgi-bin子目录下可以存放一些CGI程序;icons子目录下是服务器自带的一些图标。 httpd.conf是Apache的主配置文件,文件中的#为注释符,只有文件名和和路径与大小写有关。,2.2.2 Apache服务器基本配置,Apache服务器在运行时通过配置指令来完成配置,配置指令遵循这样的语法: directive option option. 每行可以指定一个指令。另外还有一些称为节(section)的特殊指令,它们就像HTML的标签一样,节指令由尖括号包围,就像这样。节通常包含一组指令,这一组指令只适用于由节所指定的目录,,2.2.2 Apache服务器基本配置,如: directive option option directive option option directive option option ,2.2.2 Apache服务器基本配置,1. 基本配置指令 (1) ServerType 指定服务器的启动方式。 (2) ServerRoot 设置服务器目录的绝对路径。 (3) PortPort 指定服务器运行侦听哪个端口。 (4) User和Group 设置用户ID(UID)和组ID(GID),服务器将使用它们来处理请求。,2.2.2 Apache服务器基本配置,(5) ServerAdmin ServerAdmin指令应该被设置为管理服务器的Web管理人员的有效E-mail地址或别名,当服务器出现问题时,这一地址将被返回给访问者。 (6) ServerName ServerName指令用来设置服务器将返回的主机名,它应该被设置为一个完全限定的域名(FQDN)。 (7) DocumentRoot 将该指令设置文档目录树的绝对路径,该路径是Apache提供文件的顶级目录。 (8) DirectoryIndex DirectoryIndex指定每个目录中的默认的索引文件名,同时可指定多个文件名,文件间用空格分隔。,2.2.2 Apache服务器基本配置,2. 配置示例 要求配置Apache服务器,使其主目录位于/home/www/html,服务器名为,默认索引文件为index.htm、index.html、default.htm和default.html。配置过程如下: (1) 按下面的内容要求修改httpd.conf文件: DirectoryIndex index.htm index. html DocumentRoot “/home/www/html“,2.2.2 Apache服务器基本配置, . DirectoryIndex index.html index.htm default.htm default.html ,2.3.3 主配置文件httpd.conf详述,2.3.3 主配置文件httpd.conf详述,1. 配置HTTP守护进程的运行参数 httpd.conf中首先定义了一些httpd守护进程运行时需要的参数来决定其运行方式和运行环境。 (1) ServerType (2) ServerRoot (3) LockFile (4) PidFile (5) ScoreBoardFile,2.3.3 主配置文件httpd.conf详述,(6) ResourceConfig 和AccessConfig (7) Timeout (8) KeepAlive (9) MaxKeepAliveRequests (10) KeepAliveTimeout (11) MinSpareServers和MaxSpareServers,2.3.3 主配置文件httpd.conf详述,(12) StartServers (13) MaxClients (14) MaxRequestsPerChild (15) Listen和BindAddress (16) 模块支持 (17) ExtendedStatus,2.3.3 主配置文件httpd.conf详述,2. 主服务器设置 Apache服务器需要各种设置,定义各种参数以提供Web服务。 (1) Port (3) Listen和Listen (3) User 和Group (4) ServerAdmin (5) ServerName,2.3.3 主配置文件httpd.conf详述,(6) DocumentRoot (7) AddHandler (8) AddType (9) AllowOverride (10) Options (11) Order 与Allow from all (12) UserDir,5.4.3 主配置文件httpd.conf详述,(13) DirectoryIndex (14) AccessFileName (15) CacheNegotiatedDocs (16) UseCanonicalName (17) TypesConfig (18) DefaultType (19) MIMEMagicFile,2.3.3 主配置文件httpd.conf详述,(20) HostnameLookups (21) CustomLog 和LogFormat (22) ServerSignature On (23) Alias (24) ScriptAlias (25) Redirect (26) IndexOptions (27) ErrorDocument,2.3.3 主配置文件httpd.conf详述,3. 虚拟主机配置 虚拟主机的配置是通过以下指令实现的。NameVirtualHost指令指定虚拟主机名,与段间的指令指定该主机的管理员邮件地址、文档根目录、服务器名和日志文件。 NameVirtualHost * ServerAdmin DocumentRoot /www/docs/ ServerName ErrorLog logs/-error_log CustomLog logs/-access_log common ,2.4.4 为用户建立个人主页空间,1. 基本配置 (1) 首先,为需要个人主页空间的员工在Linux上开设一个帐号。这样,它就拥有了一个用户主目录“/home/用户帐号名”。 #addusr tom #passwd tom (2) 在用户主目录下建立一个目录public_html,然后为其设置相应的权限。 #cd tom #mkdir public_html #chmod 711 /home/tom #chmod 755 /home/tom/public_html,2.4.4 为用户建立个人主页空间,(3) 确认在httpd.conf文件中的UserDir指令设置的是public_html目录,将下面的注释符删去。 # # UserDir public_html # # # # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec,2.4.4 为用户建立个人主页空间,# # Order allow,deny # Allow from all # # # Order deny,allow # Deny from all # #,2.4.4 为用户建立个人主页空间,(4) 将个人主页内容上传到用户主目录下的public_html目录中。 (5) 重新启动后,用“/tom”的形式来访问员工的个人主页。,2.4.4 为用户建立个人主页空间,2用户路径 通过UserDir指令指定被网络读取的用户特定的目录。此指令有几种不同的形式。 (1) 如果路径没有前导斜杠,则被当作该用户宿主目录下的子目录,就如下面的配置。 UserDir public_html 则URL /tom/file.html会被解释为文件路径/home/tom/public_html/ file.html。 (2) 如果路径有前导斜杠,则用此路径和用户名构造路径。如果有如下配置: UserDir /var/html 则URL /tom/file.html会被解释为文件路径/var/html/tom/file.html。,2.4.4 为用户建立个人主页空间,(3) 如果路径中有星号(*), 则星号部分会被用户名所取代。如果有如下配置: UserDir /var/www/*/docs 则URL /tom/file.html会被解释为文件路径/var/www/tom/docs/file.html。,2.4.4 为用户建立个人主页空间,3. 限定可以使用此功能的用户 使用UserDir可以限定被允许使用此功能的用户: UserDir enabled UserDir disabled root smith marry fish 可以禁止所有用户而允许部分用户使用此功能: UserDir disabled UserDir enabled tom jack,2.4.5 设置Web页面访问权限,Apache具备了限制用户访问Web页面的机制 (1) 修改http.conf 假设想控制/home/html/htdocs下各目录的不同访问权限,可以对该目录的属性设置为: Alias /doc/ “ /home/html/htdocs/“ Options Indexes FollowSymLinks MultiViews AllowOverride AuthConfig order deny,allow deny from all ,2.4.5 设置Web页面访问权限,则在/home/html/htdocs下不同目录的访问权限由该目录下的.htaccess文件来控制,而且不同目录的权限策略可互相覆盖。,2.4.5 设置Web页面访问权限,(2) 编辑想要控制的目录下的.htaccess文件 假设phpadmin目录在/home/html/htdocs下,可以在phpadmin目录下创建一个.htaccess文件,内容如下: AuthUserFile /etc/httpd/conf/pwdPhp #用户信息存放在/etc/httpd/conf/pwdPhp中 AuthType Basic #认证类型为基本型(此外还有一些其他 的加密类型) AuthName “Database Security Zone“ #认证类型为基本型(此外还有一些其他的加密类型) Require valid-user #认证方式为用户认证(valid-user,合法用户),组认证(valid-group,合法的组用户)以及指定用户user 和指定组group 。,2.4.5 设置Web页面访问权限,(3) 生成用户密码文件 通过一个用户密码生成程序htpasswd(在/usr/bin下),加入用户密码信息到指定的文件中,如/home/html/pass/pwdPhp。 #htpasswd -c /etc/httpd/conf/pwdPhp admin #htpasswd /etc/httpd/conf/pwdPhp admin 命令中的参数-c是要求创建文件。,2.4.5 设置Web页面访问权限,(4) 重启Apache。 #/usr/sbin/apachectl stop #/usr/sbin/apachectl start (5) 测试,2.4.6 配置CGI,1. 配置Apache以允许CGI 要让CGI程序能正常运作,必须配置Apache以允许CGI的执行,其方法有多种。 (1) ScriptAlias指令 ScriptAlias指令使Apache允许执行一个特定目录中的CGI程序。 (2) ScriptAlias目录以外的CGI 由于安全原因,CGI程序通常被限制在ScriptAlias指定的目录中,这样,管理员就可以严格控制用户使用CGI程序。但是,如果采取了恰当的安全措施,可以允许在其它目录中运行CGI程序。,2.4.6 配置CGI,指令可以指定用户宿主目录中的一个特定的目录为“允许cgi的(cgi-enabled)”,使每个用户拥有自己的cgi-bin目录。 Options +ExecCGI SetHandler cgi-script 下面的AddHandler指令告诉服务器所有带有cgi或pl后缀的文件是CGI程序: AddHandler cgi-script cgi pl,2.4.6 配置CGI,(3) .htaccess文件 Apache在提供一个资源时,会在此资源所在目录中寻找.htaccess文件,如果有,则使其中的指令生效。AllowOverride 指令决定了.htaccess文件是否有效,需要在httpd.conf中设置: AllowOverride Options 在.htaccess文件中,添加: Options +ExecCGI 以便使Apache允许在此目录中执行CGI程序。,2.4.6 配置CGI,2. 修改CGI程序的访问权限 #chmod 755 了在ScriptAlias目录以外执行CGI程序,需要启用该目录的ExecCGI选项。这可在httpd.conf文件或该目录中的.htaccess文件中完成该设置。 3. 测试 编写CGI程序test.pl,保存在CGI目录下,该程序用Perl编写,显示HTTP环境变量的值:,2.4.6 配置CGI,#!/usr/bin/perl print “Content-type: text/htmlnn“; print “This is a Simple CGI program.n“; for(keys %ENV) print “$_=$ENV$_n“; print “n“; 修改其访问权限: #chmod 755 test.pl 在浏览器中输入/cgi-bin/test.pl,浏览器上将显示HTTP环境变量信息。,2.4.7 创建虚拟主机,1. 基于IP地址的虚拟主机 在httpd.conf文件中为每个希望成为独立的Web站点的地址设置VirtualHost指令,在VirtualHost标签中使用IP地址(也可用主机名字)。如: NameVirtualHost 1 #虚拟主机的服务器IP地址 ServerAdmin #网管邮件地址 DocumentRoot /home//html #服务器页面目录 ServerName #服务器名称 ServerAlias *. ,2.4.7 创建虚拟主机,2. 基于名字的虚拟主机 要建立基于名字的虚拟主机,需配置多个域名,因为每个域名对应一个要服务的虚拟主机。因此需要更改DNS服务器的配置,为服务器增加多个CNAME选项,如: linux IN A 4 vhost1 IN CNAME linux vhost2 IN CNAME linux,2.4.7 创建虚拟主机,指明哪个IP地址有多个DNS名字: NameVirtualHost 1 需要为该地址上的每个名字建立一节,设置该名字的配置,必需设置ServerName指令。 假定要创建一个名为 的虚拟主机,其主目录为/home//html。,2.4.7 创建虚拟主机,(1) 编辑/etc/httpd/conf/httpd.conf,添加下列内容: Alias /www2/ “/home//html/“ Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all ,2.4.7 创建虚拟主机,NameVirtualHost 1 ServerAdmin #网管邮件地址 DocumentRoot /home//html #服务器页面目录 ServerName #服务器名称(虚拟主机) ,2.4.7 创建虚拟主机, ServerAdmin #网管邮件地址 DocumentRoot /home//html #服务器页面目录 ServerName #服务器名称 (2) 编辑/var/named/zone,添加下列内容: www2 IN A 1,2.4.7 创建虚拟主机,3. 利用URL重写功能实现基于名字的大规模虚拟主机配置 (1) Apache中URL重写功能 (2) 利用URL重写功能实现基于名字的大规模虚拟主机配置 域名服务器配置 Apache配置,5.4.8 URL重定向,1. 使用UserDir指令 如果在UserDir指令中,参数是一个URL,则客户的访问将被重定向。例如有这样的URL请求:/tom/one/first.html,则不同参数的UserDir指令,转向不同的路径。 UserDir /users /users/tom/one/first.html UserDir /*/usr /tom/usr/one/first.html UserDir /*/ /tom/one/first.html,2.4.8 URL重定向,2. 使用ReDirect指令 在配置文件中,设置如下指令: Redirect /service /service 如果客户端请求http:/myserver/service/readme.txt,则会被告知应该访问/service/readme.txt。,2.4.9 启动SSL协议支持,1. 安装SSL模块 在Redhat 7.3的发行版光盘中,带有SSL协议支持软

温馨提示

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

评论

0/150

提交评论