




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第15章 实现Web服务本章内容:n Web服务概述n Apache的安装和启动n 配置Apachen 实现动态站点学习目标:n 了解Web的工作过程n 熟悉apache的特点n 掌握apache的安装和配置由于Linux操作系统的高稳定性,世界上大部分的网站都架设在Linux系统上,有名的如Yahoo、Hotmail等网站。在Linux系统上架设Web服务器时使用最多和最广泛的软件是Apache,本章我们就以Red Hat Enterprise AS Linux AS 4.0系统为例介绍Apahce的安装及详细配置。15.1 Web服务概述目前,WEB服务已经成为计算机用户在互联网上查询和浏
2、览信息的主要的方法。WWW提供一种交互式图形界面的Internet服务,具有强大的连接功能和易于使用的特点。因此使得很多用户通过简单的图形界面就可以访问各个大学、组织和企业等机构和个人最新信息和服务等。 15.1.1 Web服务的工作过程http请求http响应http请求http响应Web客户机 Web服务器InternetWeb服务系统采用的是客户机/服务器的工作方式。服务器主要采用的是apache和windows的IIS;客户端常用的程序是浏览器(如 IE、netscape、Mozilla等)。这样用户就可以在地址栏输入统一资源定位符(URL)来访问Web页面。Web最基本的是超文本传输
3、协议和超文本标注语言。超文本传输协议即HTTP协议,是Web服务必须遵从的协议,默认的端口是80端口。整个通信流程如图15-1所示。图15-1 Web服务器通信过程(1)Web客户机建立到服务器的TCP连接(2)Web客户(浏览器)根据用户输入的URL把请求发送到相应的远程服务器,并等待远程服务器回送过来的响应(3)远程服务器接受客户端发送过来的请求,分析请求、处理请求而形成结果返回给客户端。(4)从指定的服务器端获得Web文档并断开与远程服务器的连接15.1.2 Apache的简介 Apache是目前使用最为广泛的WEB服务器,它可以运行在现有的各种平台上。Apache自1995年推出第一个
4、发行版之后,得到迅速的发展,先后推出1.1、1.2 和1.3等多个版本,目前最高版本2.0。选择WEB服务器,其运行的性能、速度、功能、安全、易扩展性是最为重要的因素,而apache 2.0的众多特性保证了apache可以高效、安全、稳定的运行。其主要特性如下:l 几乎可以运行在所有的计算机平台上. l 实现了动态共享对象(DSO),允许运行时动态装载功能模块。l 采用预生成模式的技术提高响应的速度。l 支持最新的HTTP/1.1协议 l 简单而且强有力的基于文件的配置l 支持通用网关接口(CGI)、JAVA Servlets和FastCGIl 支持虚拟主机和HTTP认证 l 集成perl和代
5、理服务器l 可通过WEB浏览器监视服务器的状态,可自定义日志l 支持服务器端包含命令(SSI)和安全SOCKET层(SSL)l 具有用户会话过程的跟踪能力l 支持Unix线程,可使Apache在混合的多进程、多线程模式下运行 l Apache API 提高模块的性能l 支持IPv6和多协议支持l 采用过滤器对内容进行有效的处理 l 支持多语种错误应答信息15.2 Apache的安装和启动在Linux系统中可以同时安装和运行多个不同版本的apache,本节将介绍在Red Hat Enterprise Linux AS 4.0系统中安装和启动apache 2.0的方法。15.2.1 apache的
6、安装Red Hat Enterprise Linux AS 4.0系统自带了Apache 2.0的软件包,可以在安装Linux系统过程安装该软件包。如果安装系统时没有选择Apache,则可以通过rpm命令安装,具体操作如下。/插入第2张安装光盘#mount /dev/cdrom#cd /media/cdrom/RedHat/RPMS/查看是否已安装#rpm qa|grep httpd # rpm ivh httpd-2.0.52-9.ent.i386.rpm /安装apache服务器软件包#rpm ivh httpd-manual-2.0.52-9.ent.i386.rpm /安装apache
7、的帮助手册软件包#rpm ivh httpd-suexec-2.0.52-9.ent.i386.rpm /安装apache的CGI支持软件包用户也可以到下载apache的源代码包,进行源代码的编译安装,具体操作过程如下。/解压缩源代码包#tar -xzvf httpd-2.0.52.tar.gz #cd httpd-2.0.52/配置编译参数#./configure -prefix=/usr/apache20 -enable-module=all -enable-shared=all -enable-module=so/编译和安装#make;make
8、 install安装Apache之后,Linux系统下会自动生成许多目录和文件。但RPM安装与编译方式安装之后,各文件分布的位置不同,下面列出RPM方式安装各文件的路径名称及功能描述。/etc/httpd/confapache 服务器配置文档的目录/etc/httpd/conf/httpd.confapache服务器的主配置文件/etc/httpd/modulesapache服务器模块的存放目录/etc/rc.d/init.d/httpdapache服务器守护进程的启动脚本/usr/bin/htpasswd 设置Web用户口令的实用程序/usr/sbin/apachectlapache控制程序
9、,可以启动和关闭apache /usr/sbin/httpd apache守护进程所对应的可执行程序/usr/share/doc/httpd-2.0.52apache服务器文档信息/usr/share/man/man1/apache服务器相关指令手册页目录/var/cache/mod_proxyapache服务器代理缓存文件的存储目录/var/log/httpdapache服务器日志文件的存放目录/var/wwwapache服务器文档主目录/var/www/cgi-binapache服务器CGI程序文件存放目录/var/www/errorapache服务器错误文档存放目录/var/www/ht
10、mlapache服务器web站点的文件/var/www/html/manualapache服务器WEB手册15.2.2 apache的启动安装完apache并设置好httpd.conf文件和相关项目之后,就可以启动apache服务了。Red Hat Enterpriser AS 4.0系统中默认httpd.conf文件是正确的,并且Apache以独立运行方式启动,下面是启动的具体方法。/利用RPM方式安装的apache,可以用service命令启动#service httpd start或#apachectl start/检查apache启动是否成功#pstree|grep httpd |-h
11、ttpd-8*httpd /表示启动成功/设置自动启动#chkconfig -level httpd on 启动apache服务时会读取httpd.conf文件中的设置,因此修改这个文件之后,需要重新启动apache服务才会生效。重启apache服务的方法如下。#service httpd restart15.3 配置apache在Red Hat Enterprise Linux AS 4.0中,apache的配置主要集中在/etc/httpd/httpd.conf文件中,本节将详细介绍如何配置apache的httpd.conf文件。15.3.1 默认httpd.conf文件Apache的默认
12、配置文件httpd.conf适应几乎所有种类操作系统、所有种类硬件下的设置,但不可能为特定平台和特定硬件进行配置。用户可根据需要针对特定平台对默认的httpd.conf进行修改。httpd.conf由全局环境设置、主服务器设置和虚拟服务器设置三部分构成,其中“#”开头的为注释行。1. 全局环境设置选项全局环境设置用于定义apache服务器的工作目录、预派生进程数和工作端口等参数。常用全局配置选项如下。(1)设置响应信息中包含操作系统信息设置服务器响应主机头(header)信息时,显示apache的版本和操作系统的名称,可以设置ServerTokens选项ServerTokens OS(2)设置
13、服务器的根目录ServerRoot /etc/httpd ServerRoot选项用于指定Apache服务器守护进程httpd的运行目录,httpd在启动之后自动将进程的当前目录改变为此目录。如果在配置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的目录之下。(3)设置ScoreBoardFileApache使用ScoreBoardFile来维护进程的内部数据,通常不设置这个选项,除非用户想在一台计算机上运行多个Apache服务器,这时每个Apache服务器都需要独立的配置文件httpd.conf,并使用不同的ScoreBoardFile。ScoreBoard
14、File run/httpd.scoreboard (4)设置PID文件位置PidFile run/httpd.pid 该选项用于指定Apache记录进程标准符的文件。由于httpd能自动复制其身,因此系统中同时可以有多个httpd进程,但只有一个初始进程,它是其他进程的父进程。(4)设置连接超时Timeout选项用以设置服务器接收到一个请求时,保持连接开启的时间。超过这个时间服务器会断开和客户端的连接。Timeout 300(5)设置HTTP 保持连接KeepAlive的值可以为On或Off,Off 表示连接不保持,即客户方发送一次请求,服务器方就响应一个文件。On表示连接保持,避免多次请求
15、与服务器方建立多次连接。建议此参数值设为OnKeepAlive Off (6)设置一次HTTP连接支持的最大请求数 当KeepAlive选项值为On时,该选项用于控制连接请求最大数。默认100,设置为0表示不限制。MaxKeepAliveRequests 100(7)设置请求之间的间隔时间KeppAliveTimeout用于设置当保持连接时,两次请求之间时间间隔,单位为秒。 KeepAliveTimeout 15 (8)设置服务器进程数Apache 2.0为了提高性能,增加了MPM(Multi-Processing Modules 多道处理模块)。MPM负责绑定本机网络接口,接受请求并调度子进
16、程来处理请求。Apache 2.0支持3种方式的MPM,分别是预派生(Prefork)MPM、工作者(Worker)MPM和独立子进程(Perchild)MPM。对于不同的操作系统,所应用MPM方式也是不同的,对于Linux系统下安装的Apache服务器,默认加载了Prefork MPM,如下所示为默认http.conf文件一段MPM配置内容。# prefork MPM/设置prefork MPM运行方式的参数 /判断apache是否内置prefork模块StartServers 8/设置服务器启动时运行进程数(8个httpd子进程)MinSpareServers 5/设置apache生成空闲
17、子进程数的最小值MaxSpareServers 20/设置apache生成空闲子进程数的最大值/限制同时连接的数目,因为同时连入过多的数目会降低系统的性能。MaxClients 150/控制每个子进程在终止处理请求之前能够提出的连接请求数量,0表示没有限制。MaxRequestsPerChild 1000 # worker MPM/设置worker MPM运行方式的参数 /判断是否内置worker模块StartServers 2MaxClients 150MinSpareThreads 25MaxSpareThreads 75 ThreadsPerChild 25/每个子进程可以生成多少个线程
18、,以处理客户对Web站点的请求。(MaxThreadsPerChild:限制每个子进程允许的线程数)MaxRequestsPerChild 0(9)设置地址绑定Linsten选项的作用是将Apache服务器绑定到指定的IP地址和端口上。在Linux系统下,一个主机可以有多个网络接口和IP地址,此时可以使用Linsten选项绑定Apache到指定的IP地址上,也可以同时监听所有的IP地址。Listen 80 /监听所有接口的80号端口Listen :80 /只监听的80号端口(10)配置DSO,加载模块Apache支持DSO功能,在编译apache的时
19、候,动态编译的模块在服务器运行过程中并不被调入内存。如果需要使用某个模块时,可以使用LoadModule选项指定模块名称和路径,实现动态加载。LoadModule access_module modules/mod_access.soLoadModule auth_module modules/mod_auth.soLoadModule auth_anon_module modules/mod_auth_anon.so.(11)加载子配置文件httpd.conf是apache的主配置文件,为了提高可读可用Include选项包含其他的子配置文件。Include conf.d/*.conf/包含存
20、放在/etc/httpd/conf.d下所有.conf结尾的文件(12)配置状态信息Apache服务器可以通过特殊的HTTP请求,来报告自身的运行状态。默认情况下只能生成基本的状态信息,如要生成完整的状态信息,需要使用ExtendedStatus,并设置参数值为On。ExtendedStatus On以上介绍的是常用全局配置选项,用户可根据自已的需要修改默认httpd.conf中全局选项,以实现自已的目标。2. 主服务器配置默认httpd.conf文件的第二部分用来设置主服务器,这部分的设置将应用于所有的Web站点,同时这部分的设置也是虚拟主机的默认设置。下面具体介绍默认httpd.conf中
21、包含的主服务器配置选项。(1)设置apache的运行用户和组用户在运行Apache的时候最好不要以root用户的身份来运行,配置选项User和Group分别用于指定运行apache的用户和用户组,默认配置如下。User apacheGroup apache(2)设置管理员的E-Mail地址ServerAdmin rootlocalhostServerAdmin选项的作用是设置在服务器出现问题时,把错误信息发送到指定的邮箱中去。这个E-Mail地址也会出现在服务器自动产生的Web页面上,当出现了HTTP错误的时候提示Web使用者用此E-Mail地址和管理员联系(3)设置服务器名默认情况下Aapa
22、che服务器会通过DNS来自动获取自身主机的名称。但有时候域名解析会出现问题,如域名反向解析不正确,则需要用ServerName来设置服务器名。通常一个Web服务器可以具多个名字,客户浏览器可以使用所有这些名字或IP地址来访问这台服务器,但在没有定义虚拟主机的情况下,服务器总是以自已在ServerName中定义的DNS名字回应浏览器。服务器名一定要设置正确,否则apache服务器无法正常启动。ServerName :80(4)设置正式名称UseCanonicalName选项的作用是设置服务器正式名称,该选项的值可以为Off或On。UseCanonicalName为Of
23、f时使用客户端提供的的主机名和端口, 为On时使用ServerName选项中指定的主机名和端口。UseCanonicalName Off(5)设置站点主目录DocumentRoot /var/www/htmlDocumentRoot选项定义服务器对外发布的文件所存放的路径,默认路径是/var/www/html,客户端请求的URL就被映射为该路径中。当然,被发布的目录属性必须允许访问用户读取和执行,否则客户端无法浏览器目录内容。如果需要客户端利用http协议向发布目录中上传内容,目录属性必须允许用户写入。(6)设置目录访问权限利用Directory容器可以配置目录的访问权限及目录选项,容器内由若
24、干个配置选项构成,常用的选项如表15-1所示。表15-1 常用的目录配置选项选项名说明Options +/- 特性值指令特定目录的特性,目录的特性值如下:l All除MultiViews之外的所有特性。这是默认设置。 l ExecCGI 允许使用mod_cgi执行CGI脚本。l FollowSymLinks服务器允许在此目录中使用符号连接l IncludesNOEXEC 允许服务器端包含,但禁用#exec cmd和#exec cgi。但仍可以从ScriptAlias目录使用#include virtual虚拟CGI脚本。l Indexes 如果一个映射到目录的URL被请求,而此目录中又没有Di
25、rectoryIndex(例如:index.html),那么服务器会返回由mod_autoindex 生成的一个格式化后的目录列表。l MultiViews 根据文件提供的语言进行内容协商的多重视图l SymLinksIfOwnerMatch 服务器仅在符号连接与其目的目录或文件的拥有者具有相同的uid时才使用它。l None 关闭所有的访问控制特性注意:可采用“+”和“”表示启用和取消某特性AllowOverride 参数利用目录访问控制文件,覆盖Directory中部分配置选项,AllowOverride的参数可以为:l All可以使用.htaccess文件的全部指令组l AuthConf
26、ig进行认证授权及安全相关的指令l FileInfo 控制文档类型的指令l Indexes 控制目录索引的指令l Limit 控制主机访问的指令(Allow, Deny, Order)l Options控制指定目录功能的指令l None禁止所有.htaccess文件中的指令组Order allow,deny/deny,allow用于指定执行访问规则和执行访问规则的先后顺序Deny All/ip地址定义拒绝访问主机列表Allow all/ip地址定义允许访问的主机列表下面是一段默认httpd.conf文件中的配置内容,该段内容设置了/和/var/www/html目录的访问控制和目录特性。Opti
27、ons FollowSymLinksAllowOverride None Options Indexes FollowSymLinksAllowOverride NoneOrder allow,deny Allow from all(7)设置用户目录如在Linux系统上运行apache服务器,在系统上的所有用户都可以创建自已的主页,保存到自已的指定目录中,此项功能称之为“个人主页”。在客户端可以用形如http:/servername/username的地址访问用户的主页,其中useraname代表服务器中的用户名称。默认httpd.conf文件禁止用户个人主页功能,如果需要启用个人主页功能可设
28、置UserDir选项。UserDir disable /禁止个人主页功能,如果想启用的话,可以在UserDir选项后面跟目录名(8)设置默认首页文件名DirectoryIndex index.html index.html.varDirectoryIndex选项用于建立文件列表,当客户端发出的连接请求是一个目录而不是一个文件时,需要使用这个列表。例如,客户端发了连接请求http:/servername/soft/,则服务器首先会在soft目录中依次查找在DirectoryIndex选项指定的文件index.html、index.html.var,把找到的第一个文件作为该目录中的默认文件,如果都
29、找不到便自动生成一个该目录的文件列表,然后提交给客户端。(9)指定目录访问控制文件名目录访问控制文件是用来设置目录的访问权限,该文件放在被控制的目录中,默认文件名为.htaccess。AccessFileName .htaccess /Files容器用于设置文件的访问权限Order allow,denyDeny from all(10)配置MIME类型文件Apache服务器利用MIME功能识别用户请求的文件类型。MIME是通过MIME类型文件实现文件映射的,可利用TypesConfig指定类型文件的路径。如果服务器无法从指定MIME类型文件确定用户访问的文件类型,则用默认类型来作为此文件的类型
30、。默认类型用DefaultType选项来定义。TypesConfig /etc/mime.types DefaultType text/plainApache可利用mod_mime_magic模块,根据文件的特征实现自动断文件的MIME类型,下面默认httpd.conf中的配置内容。 MIMEMagicFile conf/magic(11)设置Apche日志功能HostnameLookups选项用以配置Apache日志是记录连接客户机的IP地址,还是记录客户机的DNS名称。该选项可取值On或Off,Off表示记录客户的IP址,On表示记录客户机的DNS名称。HostnameLookups Of
31、f 可以在httpd.conf文件中利用ErrorLog选项指定错误日志文件的位置,利用LogLevel指定什么样的错误被记录到日志文件中,其参数值包括debug、info、warn、error、crit、alert和emerg。还可以利用LogFormat选项定义日志的格式,该选项可取以“%”开头的宏定义,常用的宏定义如表15-2所示。表15-2 LogFormat中的宏定义符号说明%a客户机的IP地址%b发送给客户端的字节数%VAR e环境变量的值%fURL请求引用的文件名%Header iHTTP请求中的标题行的内容%l守护进程记录在客户端上用户发出的请求%Note n来自一个不同模块的
32、信息.Note的内容%Header oHTTP响应中规定的标题行的内容%P接收到请求的端口号%p处理请求的服务器进程的PID%r来自客户端的实际请求%s由请求而产生的服务器响应码%t当地日期和时间%T完成用户请所需的秒数%u如果访问控制要求用户和密码认证,则此符号表示用户名%U客户请求的URL%v从DNS查询的服务器的主机名和域名%V从ServerName命令获取的处理请求的服务器的主机名和域名CustomLog选项可以定义何种类型的日志记录到哪个文件中去。下面是httpd.conf文件中的一段配置日志功能的内容。ErrorLog logs/error_logLogLevel warnLogF
33、ormat %h %l %u %t %r %s %b %Refereri %User-Agenti combinedLogFormat %h %l %u %t %r %s %b commonLogFormat %Refereri - %U refererLogFormat %User-agenti agentCustomLog logs/access_log combined(12)设置服务器的响应信息ServerSignature OnServerSignature选项用于选择是否在错误的响应文档后面加入签名。当ServerSignature为On时,Apache服务器会在自产生的页面上附加
34、服务器的版本信息和主机名称,为Off时什么都不附加,为EMAIL时附加服务器的版本信息、主机名称以及指令ServerAdmin中设置的邮件地址。(13)设置目录别名Apache服务器可以用Alias选项将URL与服务器文件系统中的真实位置进行直接映射,一般的文档将在DocumentRoot中的进行查询,而使用Alias定义的路径将直接映射到相应目录下,而不再到DocumentRoot下面进行查询。因此Alias主要用于发布共用资源。Alias /icons/ /var/www/icons/设置图标文件的访问别名/设置/var/www/icons目录的访问权限 Options Indexes M
35、ultiViews AllowOverride None Order allow,deny Allow from allAlias /manual /var/www/manual/设置apache手册页的访问别名/设置/var/www/manual目录的访问权限 Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyAllow from all(14)设置URL重定向Redirect选项可以将一个旧的URL映射到一个新的URL,该选项的格式为Redirect status URL-path URL,
36、下面配置示例。Redirect permanent /foo /bar(15)设置索引选项Apache服务器可以在文件列表中为目录索引中的不同种类的文件产生不同的图标。具体每种类型使用什么图标及如何显示,可使用IndexOptions、AddIconByEncoding、AddIconByType以及AddIcon选项来定义。下面是一段默认httpd.conf文件中的配置内容。/指定客户端浏览器如何显示目录中索引文件。FancyIndexing文件前附加图标说明文件的类/型,VersionSort对同一个软件的多个版本进行排序,NameWidth=*表
37、示目录中文件名的/宽度为“*”则自动根据文件名调整宽度。IndexOptions FancyIndexing VersionSort NameWidth=* AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzipAddIconByType (TXT,/icons/text.gif) text/* /设置不同类型文件的图标AddIconByType (IMG,/icons/image2.gif) image/*.AddIcon /icons/binary.gif .bin .exe /设置不同扩展名的文件图标AddIcon
38、/icons/binhex.gif .hqx.DefaultIcon /icons/unknown.gif/当上面没有指定的文件类型时则用此图标显示。(16)定义编码和语言AddEncoding选项定义一些压缩文件的MIME类型,有些浏览器可以根据这些定义来进行解压缩操作。AddEncoding x-compress ZAddEncoding x-gzip gz tgz一个HTML文档可以同时具备多个语言的版本,每种语言对应的后缀可以使用AddLanguage进行定义。这样服务器可以针对不同国家的客户,通过浏览器进行协商,发送不同的语言版本。而LanguagePriority定不同语言的优先级
39、,以便在浏览器没有特殊要求时,按照使用不同的语言版本回应客户端的请求。如果没有任何语言要求,则发送默认语言版本的文档,默认语言命令DefaultLanguage定义。DefaultLanguage nlAddLanguage nl .nlAddLanguage en .enAddLanguage et .et.AddLanguage zh-CN .zh-cnAddLanguage zh-TW .zh-twAddLanguage hr .hrLanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv twF
40、orceLanguagePriority Prefer FallbackAddDefault选项可以设置页面默认的字符集,也可以使用AddCharset添加字符集。AddDefaultCharset UTF-8 AddCharset ISO-8859-1 .iso8859-1 .latin1AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen.AddCharset ISO-8859-3 .iso8859-3 .latin3AddCharset GB2312 .gb2312 .gb (17)添加MIME类型和处理类型AddType选项可以为特定后缀的文件指定
41、MIME类型,这里的设置将覆盖mime.types中的设置。AddType application/x-tar .tgz AddHandler选项用于指定非静态的处理类型,定义文档为一个非静态的文档类型,需要进行处理,再向浏览器返回处理结果。AddHandler cgi-script .cgiAddHandler imap-file map(18)自定义错误响应在客户请求的网页不存在,或者没有访问权限等情况发生时,服务器将产生一个错误代码,同时将回应客户浏览器一个标识错误的网页。ErrorDocument就用于设置当出现哪种错误时应该回应客户浏览器哪些内容,ErrorDocument的第一个参
42、数为错误的序号,第二个参数为回应的数据,可以为简单的文本、本地网页、本地CGI程序或重定向到远程主机上的网页。ErrorDocument 500 The server made a boo boo.ErrorDocument 404 /missing.htmlErrorDocument 404 /cgi-bin/missing_handler.plErrorDocument 402 /subscription_info.html.(19)设置客户端的类型BrowserMatch选项为特定的浏览器和客户程序,设置特殊的参数,以保证对老版本浏览器的兼容性,
43、并支持新浏览器的新特性。 BrowserMatch Mozilla/2 nokeepaliveBrowserMatch MSIE 4.0b2; nokeepalive downgrade-1.0 force-response-1.0BrowserMatch RealPlayer 4.0 force-response-1.0.(20)设置Web代理Apache 2.0内置web代理功能,默认httpd.conf禁止了Web代理功能,Web代理的配置选项主要如下。ProxyRequests OnOrder deny,allowDeny from allAllow from .
44、ProxyVia On CacheEnable disk CacheRoot /var/cache/mod_proxy3. 虚拟主机配置Apache服务器可以支持基于IP地址和基于域名虚拟主机技术,可以在httpd.conf文件中利用NameVirtualHost指定虚拟主机的IP地址,这个IP地址将对应多个域名。虚拟主机的其他选项需要通过VirtualHost容器进行定义,下面是httpd.conf中的一段关于虚拟主机的配置内容。NameVirtualHost 4 ServerAdmin DocumentRo
45、ot /www/docs/ServerName ErrorLog logs/-error_logCustomLog logs/-access_log common15.3.2 基本配置默认配置为用户提供了一个良好的模板。基本的配置几乎不需要进行修改,但用户要根据自已的需要进行修改或添加如下的基本选项。1. KeepAliveKeepAlive的默认设置为Off,建议将该选项设为On,以便提高服务器的访问性能。2. Max
46、clients 设置Apache服务器可接受的并发连接数,管理员可以根据服务器的性能进行修改,默认为无限制。3. ServerAdmin定义Apache服务器管理员的E-Mail地址,应该设置一个可接收邮件的正确MAIL地址。4ServerNmae 设置服务器的正式主机名称,默认情况下该选项未设置,建立启用该选项。5DocuentRoot 指定站点的发布主目录位置,默认为/var/www/html,用户根据需要将Document指向正确的位置。6DirectoryIndex 指定发布目录的默认主页文件名7. DefaultLanguage zh_cn和AddDefaultCharset GB2
47、312设置默认语言,用户根据自已网页的语言,设置默认的页语言和字符集。上面所列出为配置Apache服务器的基本选项,用户定义最多的、最基本的就是这些选项,下面是一段基本的配置内容。KeepAlive OnMaxClients 150ServerAdmin ServerName Document /www/site1Options FollowSymLinksAllowOverride None Options Indexes FollowSymLinksAllowOverride NoneOrder allow,deny Allow fro
48、m allDirectoryIndex index.htm index.htmlDefaultLanguage zh_cn /设置默认语言为简体中文AddDefaultLanguage GB2312 15.3.3 配置访问控制和用户认证Apache服务器支持访问控制和访问用户的验证,本小节将介绍如何配置apache服务器对资源进行访问控制及用户认证。1访问控制访问控制是指限定哪些客户端对服务器资源的浏览,访问控制的相关配置选项如下。(1)Order用于指定执行允许访问控制规则和拒绝访问控制规则的先后顺序,它具有两种表示形式。Order allow,deny 表示先执行允许访问规则,后执行拒绝访
49、问规则,默认情况下将会拒绝所有未明确被允许的客户。Order deny,allow表示先执行拒绝访问规则,后执行拒绝访问规则,默认情况下将会允许所有未明确被拒绝的客户。(2)Deny from配置拒绝访问的用户列表,访问列表可以使用All(所有主机),客户机IP地址、域名、网络号,如下例所示。Deny from All(3)Allow from配置允许访问的用户列表,访问列表的表示形式与deny语句相同,如下例所示。Allow from all以上三个配置语句可以应用多种容器中,如:Location、Directory和Files等,下面给出一个应用在Location容器中的配置实例。#vi
50、/etc/httpd/conf/httpd.conf/修改下面内容,将行前的“#”去掉 SetHandler server-info Order deny,allow /拒绝所有的客户,只允许来自00客户机的访问 Deny from all Allow from 00#service httpd restart /重启apache服务器/在00主机进行访问,结果如图15-1所示。图15-1 允许访问的结果/在其他主机访问apache服务器的server-info,结果如图15-2所示。图15-2 拒绝访问的结果2. 用户认证用户
51、认证指的是Apache服务器识别访问用户身份的过程,Apache支持基本认证和摘要认证两种类型。摘要认证比基本认证更加安全,它采用加密方式传输用户口令,但是目前并非所有的浏览器都支持摘要认证,所以大多数情况下Apache只使用基本认证。用户认证应用在Directory、Location和Files等容器中,需要在httpd.conf中使用表15-2所列出的配置语句。表15-2 用户认证配置语句指 令说 明AuthName定义认证的区域名称,如:AuthName “ahhf”AuthType定义认证的类型,参数可取Basic或Digset,如:AuthType BasicAuthGroupFil
52、e定义认证组文件的位置,如:AuthGroupFile /www/passwd/groupsAuthUserFile定义认证用户口令文件的位置,如:AuthUserFile /www/passwd/usersRequire授权允许访问的用户或组,它具有三种表示形式。l Require user 用户名 用户名 。授权指定用户访问l Require group 用户名 用户名 。 授权指定的用户组访问l Require valid-user 授权允许所有用户访问Apache支持基于文本文件和基于数据库的两种口令存储形式,由于篇幅有限,下面只给出一个基于文本文件的配置实例。/配置主文件#vi /etc/httpd/conf/httpd.conf/添加如下内容 Options Indexes FollowSymlinks AllowOverride none AuthType Basic AuthName “admin” AuthUserFile /var/www/passwd/users Require valid-use
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 户表箱技术协议
- 官方租赁汽车合同模板(2025版)
- 工程项目转让合同模板2025年
- 国际贸易法律文书评析2025年
- 网络直播平台内容监管与行业自律发展的平台内容审核技术创新报告
- 二零二五年购物中心场地租赁合同终止及联合经营协议
- 二零二五年度海洋工程灌注桩施工劳务分包协议
- 二零二五年度环保型地板砖批量采购供货合同协议
- 2025版空地租赁场地风力发电项目合同
- 二零二五年度教育培训机构货款合同退款与教育质量监督协议
- 《电工技能与实训》校本教材
- 2025年数字化转型与企业管理培训考试卷及答案
- 安全生产考核巡查办法全文
- 支气管镜并发症应对护理
- 百世快运质量管理制度
- 国军标风险管理制度
- 气道阻塞急救处理方法
- 矿山环境修复新材料-洞察及研究
- 【宜宾】四川省宜宾市2024年下半年引进人才126人笔试附带答案详解
- 湖北省腾云联盟2024-2025学年高二下学期5月联考语文试卷(含答案)
- 2024年全国中学生生物学联赛(山东赛区)预赛试题
评论
0/150
提交评论