Apache服务器配置常州信息职业技术学院Linux网络操作系统2本章内容Apache简介获取和安装Apache配置并运行Apache个人主页、访问控制和用户认证建立虚拟Web站点建立动态的Web站点建立安全传输的Web站点常州信息职业技术学院Linux网络操作系统31Apache简介Apache服务器的安装软件包把Redhat7.3的第二张安装光盘放入光驱中。把光盘挂载到/mnt/cdrom目录下。进入安装文件所在目录。安装Apache。常州信息职业技术学院Linux网络操作系统6以编译方式安装Apache解压缩安装文件包.运行编译脚本的配置文件:configure文件.#./configure--prefix=PREFIX(其中选项--prefix用来指定Apache的安装目录,变量PREFIX代表安装目录名)编译make安装makeinstall常州信息职业技术学院Linux网络操作系统73配置并运行Apache12.3.1配置文件12.3.2启动和停止Apache常州信息职业技术学院Linux网络操作系统8配置文件提示信息全局变量配置主服务器配置虚拟主机常州信息职业技术学院Linux网络操作系统9全局变量1.选择服务器启动类型2.设置服务器的根目录3.设置加锁文件4.设置ScoreBoardFile5.设置PidFile6.设置超时时间7.设置服务器进程数8.设置地址绑定9.选择模块10.配置状态信息常州信息职业技术学院Linux网络操作系统10配置主服务器1.设置用户和组2.设置Email地址3.设置服务器名4.设置正式名称5.设置文档目录6.设置访问选项和覆盖7.设置用户目录8.设置目录索引9.设置访问控制10.设置MIME类型文件11.配置日志文件12.设置服务器信息13.设置目录别名14.设置索引选项15.定义编码和语言16.添加MIME类型和处理类型17.自定义错误响应18.设置浏览器响应常州信息职业技术学院Linux网络操作系统11Apache的配置文件配置文件所在目录:/etc/httpd/conf/主配置文件:httpd.conf旧版本中的配置文件:资源配置文件:srm.conf访问许可权配置文件:access.conf常州信息职业技术学院Linux网络操作系统12AccessConfig和ResourceConfig为了对旧版本的Apache兼容,Apache服务器在每次启动时都查找并读取access.conf和srm.conf文件的内容。httpd.conf文件中的AccessConfig和ResourceConfig指令用于指定access.conf和srm.conf文件的位置,默认值为:AccessConfigconf/access.confResourceConfigconf/srm.conf出于安全性的考虑,可以设置为:AccessConfig/dev/nullResourceConfig/dev/null指定这两个文件为空设备文件“/dev/null”,这样可以避免恶意的修改access.conf和srm.conf文件对系统配置的影响。常州信息职业技术学院Linux网络操作系统13ServerTypeServerTypestandalone|inetdServerType用于定义apache服务器的运行模式,默认值standalone为独立运行的服务器,如设置为inetd则由xinetd服务器负责apache服务器的启动。常州信息职业技术学院Linux网络操作系统14ServerRootServerRoot/etc/httpdServerRoot用于指定apache服务器的配置文件及日志文件存放的根目录,默认为目录/etc/httpd。常州信息职业技术学院Linux网络操作系统15PidFilePidFile/var/run/httpd.pidPidFile用于指定记录httpd进程号(PID)的文件位置,默认值为“/var/run/httpd.pid”。常州信息职业技术学院Linux网络操作系统16TimeoutTimeout300指定站点响应的秒数。若超过这段时间仍未收到或送出数据,就断开连接。常州信息职业技术学院Linux网络操作系统17KeepAliveKeepAliveOn|Off启用此项,表示允许保持连接,让每次连接能提出多个请求。避免每请求一个文件就跟服务器建立一次连接。常州信息职业技术学院Linux网络操作系统18MaxKeepAliveRequestsMaxKeepAliveRequests100每次连接可提出请求的数量,设置为0表示数量不限,默认值为100。常州信息职业技术学院Linux网络操作系统19KeepAliveTimeoutKeepAliveTimeout15连续两个请求之间的时间如果超过15秒还未到达,则视为连接中断。常州信息职业技术学院Linux网络操作系统20SpareServersMinSpareServers5MaxSpareServers20提供浏览服务的httpd进程的数目需要随连接数目的多少而变化,因此需要随时保持几个闲置的httpd进程等候新的连接请求。若闲置的进程数少于5个(默认值),则表示闲置进程太少,需要将其增加到5个;若多于20个(默认值)则表示闲置进程太多,需将其减少到20个。常州信息职业技术学院Linux网络操作系统21StartServersStartServers8当apache服务器启动时,httpd进程的数目,默认值为8。常州信息职业技术学院Linux网络操作系统22MaxClientsMaxClients150同时接入的数目太多时会降低系统访问性能,设置此参数可限制同时连接的最大数值,默认值为150。常州信息职业技术学院Linux网络操作系统23ListenListen12.34.56.78:80Listen80用于设置apache服务器监听指定IP和(或)端口上的连接请求。常州信息职业技术学院Linux网络操作系统24PortPort80指定apache服务器监听的端口号。常州信息职业技术学院Linux网络操作系统25User&GroupUserapacheGroupapache设置httpd用哪个用户帐号和组来启动,默认使用apache用户和组。常州信息职业技术学院Linux网络操作系统26ServerAdminServerAdminroot@localhost服务器管理员的邮件地址,当服务器运行出错时将向此邮件地址发信。常州信息职业技术学院Linux网络操作系统27ServerNameServerNamelocalhost设置主机的名称,此名称会被送到远程连接程序,以取代安装Apache主机的真实名称。默认值是localhost,行首加#号,关闭此功能。常州信息职业技术学院Linux网络操作系统28DocumentRootDocumentRoot/var/“指定Apache服务器存放网页的文档根目录。常州信息职业技术学院Linux网络操作系统29DirectoryIndexDirectoryIndex指令用于指定目录中默认的索引文件名称,可同时指定多个文件名称,两两之间用空格分割。默认值为index.html。实例:DirectoryIndexindex.htmlindex.htmindex.shtmlindex.php常州信息职业技术学院Linux网络操作系统30UserDirUserDirpublic_htmlUserDir用于设定用户个人主页存放的目录,默认为“public_html”目录,即/home/anyuser/public_html。常州信息职业技术学院Linux网络操作系统31为每个用户配置个人主页例:为用户user1建立个人主页cd/home/user1mkdirpublic_htmlchownuser1.user1public_htmlcd..chmod711user1在/home/user1/public_html中建立index.html使用浏览器浏览~user1/常州信息职业技术学院Linux网络操作系统32AliasAlias用于设置路径别名Alias/doc//usr/share/doc/给“/usr/share/doc/”设置路径别名为“/doc/”常州信息职业技术学院Linux网络操作系统33载入模块指令Apache服务器采用动态共享对象(DSO,DynamicSharedObject)的机制,在启动Apache服务器时可根据实际需要载入适当的模块,使其具有相应的功能。载入模块的相关指令有:LoadModuleClearModuleListAddModule常州信息职业技术学院Linux网络操作系统34LoadModuleLoadModule指令用于动态载入模块,即将模块外挂在Apache服务器上。语法:LoadModule模块名称模块文件路径全名实例:LoadModulestatus_modulemodules/mod_status.so常州信息职业技术学院Linux网络操作系统35ClearModuleListClearModuleList指令用于清空Apache服务器内建的模块列表。通常先使用该指令清空列表,再使用AddModule指令向模块列表加入模块。语法:ClearModuleList常州信息职业技术学院Linux网络操作系统36AddModuleAddModule指令用于向模块列表加入新的模块名称。语法:AddModule模块实例:AddModulemod_status.c常州信息职业技术学院Linux网络操作系统37容器指令容器指令(containerdirective)通常包括在括号内,较容易识别。条件指令IfDefine和IfModule不是容器指令,他们是例外。常用的容器指令有:DirectoryFilesLocationVirtualHost常州信息职业技术学院Linux网络操作系统38Directory…/DirectoryDirectory/设置“/”根目录的访问权限OptionsFollowSymLinksAllowOverrideNone/Directory目录属性设置结束使用Directory…/Directory设置指定目录的访问权限,其中可包含:OptionsAllowOverrideOrderAllowDeny五个属性。常州信息职业技术学院Linux网络操作系统39Options属性OptionsFollowSymLinksIndexesMultiViewsOptions可以组合设置下列选项:All:用户可以在此目录中作任何事情。ExecCGI:允许在此目录中执行CGI程序。FollowSymLinks:服务器可使用符号链接指向的文件或目录。Indexes:服务器可生成此目录的文件列表。None:不允许访问此目录。常州信息职业技术学院Linux网络操作系统40AllowOverrideAllowOverrideNoneAllowOverride会根据设定的值决定是否读取目录中的.htaccess文件,来改变原来所设置的权限。All:读取.htaccess文件的内容,修改原来的访问权限。None:不读取.htaccess文件为避免用户自行建立.htaccess文件修改访问权限,http.conf文件中默认设置每个目录为:AllowOverrideNone。常州信息职业技术