天天看点

apache 模块——扩展模块和实验模块mod_dav_fs mod_dav_lock

mod_auth_digest

loadmodule auth_digest_module modules/mod_auth_digest.so

说明

使用md5摘要认证(更安全,但是只有最新的浏览器才支持)

状态

实验(x)

模块名

auth_digest_module

mod_auth_digest模块提供了对http摘要认证的支持。 

=================================================================

mod_authn_alias

mod_authn_anon

mod_authn_dbd

mod_authn_dbm

mod_authnz_ldap

loadmodule authn_alias_module modules/mod_authn_alias.so

loadmodule authn_anon_module modules/mod_authn_anon.so

loadmodule authn_dbd_module modules/mod_authn_dbd.so

loadmodule authn_dbm_module modules/mod_authn_dbm.so

loadmodule authnz_ldap_module modules/mod_authnz_ldap.so

以上5个扩展模块,为mod_auth提供认证支持。

扩展模块。

使用ldap目录保存认证用户信息。

mod_authz_dbm

mod_authz_owner

mod_authz_dbm        使用dbm数据库文件为组提供授权支持

mod_authz_owner     基于文件的所有者进行授权

mod_cache

loadmodule cache_module modules/mod_cache.so

mod_cache需要一个或多个存储管理模块服务。在基本的apache发行版包括两个存储管理模块:mod_disk_cache和mod_mem_cache

mod_disk_cache

mod_mem_cache

mod_disk_cache    基于磁盘的缓冲管理器

mod_mem_cache   基于内存的缓冲管理器

mod_file_cache

实验模块。

mod_file_cache    提供文件描述符缓存支持,从而提高apache性能

mod_file_cache 模块是搭配 mod_mem_cache 模块使用的。

例子:基于disk的缓存

在httpd.conf 里配置:

---------------------------------------------------------------

<ifmodule mod_cache.c>

    cachedefaultexpire 86400

    <ifmodule mod_disk_cache.c>

    cacheenable disk /

    cacheroot /tmp/apachecache

    cachedirlevels 5

    cachedirlength 5

    cachemaxfilesize 1048576

    cacheminfilesize 10

    </ifmodule>

</ifmodule>

-------------------------------------------------------------------

cachedefaultexpire:设定缓存过期的时间(秒),默认是1小时,只有当缓存的文档没有设置过期时间或最后修改时间时这个指令才会生效

cacheenable:启用缓存,第1个参数是缓存类弄,第2个参数是要缓存的url路径,“/”是缓存所有的东西,如“/docs”则只缓存 /docs 下的所有文件

cacheroot:缓存文件所在的目录,运行 apache 的用户(如daemon 或 nobody)要能对其进行读写,请手动建立该目录并设置好访问权限

cachedirlevels:缓存目录的深度,默认是3

cachedirlength:缓存目录名的字符长度,默认是4

cachemaxfilesize 和 cachemaxfilesize:缓存文件的最大值和最小值(byte),当超过这个范围时将不再缓存

例子:基于mem的缓存

--------------------------------------------

    <ifmodule mod_mem_cache.c>

        cacheenable mem /

        mcachemaxobjectcount 20000

        mcachemaxobjectsize 1048576

        mcachemaxstreamingbuffer 65536

        mcacheminobjectsize 10

        mcacheremovalalgorithm gdsf

        mcachesize 131072

----------------------------------------------

cacheenable:启用缓存,使用基于内存的方式存储

mcachemaxobjectcount:在内存中最多能存储缓存对象的个数,默认是1009

mcachemaxobjectsize:单个缓存对象size的最大值,默认是10000bytes

mcachemaxstreamingbuffer:在缓冲区最多能够放置多少的将要被缓存对象的尺寸,该值通常小于100000或 mcachemaxobjectsize 设置的值

mcacheminobjectsize:单个缓存对象size最小值,默认为1bytes

mcacheremovalalgorithm:清除缓存所使用的算法,默认是 gdsf,灵异一个是lru

mcachesize:缓存数据最多能使用的内存,单位是 kb,默认是100kb

说明:

禁止缓存可以使用 cachedisable,如 cachedisable /private

如何测试是否成功缓存?

将loglevel设定到debug:

loglevel debug

errorlog /path/to/error.log

这样,所有过程都会输出到error的日志中。如果日志中出现了cache相关信息,则说明mod_cache已经正常工作了。

关于mod_file_cache 参考:

apache缓存mod_cache配置

缓冲指南

===========================================================

mod_cern_meta

loadmodule cern_meta_module modules/mod_cern_meta.so

模拟元文件语义,提供对元信息的支持。

例子:为/var/www/html/mypage.html的文件提供元头标

# mkdir /var/www/html/.web/mypage.html.meta

# vi  /var/www/html/.web/mypage.html.meta

------------------------------------------

expires:saturday,3-oct-98 12:00:00 gmt

anything=whatever

-------------------------------------------

在.htaccess中

-------------------------------

metafiles on

metadir .web

metasuffix .meta

---------------------------------

==========================================================

================================================================

mod_charset_lite

loadmodule charset_lite_module modules/mod_charset_lite.so

允许对页面进行字符集转换。

提供以下指令:

charsetdefault 指令 要转换的编码

charsetsourceenc 指令 文件的源编码

charsetoptions 指令 设置转换的参数

例子:

-----------------------------------------------

<directory /export/home/trawick/apacheinst/htdocs/convert>

charsetsourceenc utf-16be

charsetdefault      iso-8859-1

</directory>

------------------------------------------------

mod_dav

扩展模块

mod_dav  允许apache提供dav协议支持

mod_dav_fs 为mod_dav访问服务器上的文件系统提供支持

mod_dav_lock 为mod_dav锁定服务器上的文件提供支持

webdav(web分布式创作和版本控制)协议是一个基于http的新协议,利用这个协议用户可以通过web进行远程的基本文件操作,如拷贝、移动、删 除等。

用户对存储在webdav服务器上的文档进行编辑时,可以对该文档进行锁定以保证自己的修订不会被其他用户覆盖。webdav的版本控制还可以让用户明白文档的哪个版本是最新的,以减少不必要的混乱。

webdav的访问控制表提供了对每个文件的读、写和共享许可的高级控制,更进一步提高了系统的安全性,webdav的文件管理特性已经使它成为传统文档管理产品性价比很高的一个替代方案。

具体参考:实战攻略:为apache服务器配置webdav

mod_dbd

管理sql数据库连接,为需要数据库功能的模块提供支持。

mod_dbd使用apr_dbd管理管理sql数据库连接。它为需要数据库功能的模块提供了数据库连接支持,并且负责管理数据库,从而为线程和非线程型的mpm提供了最佳的性能和可伸缩性。

mod_deflate

mod_deflate是apache2中的标准过滤器模块,该模块的功能与mod_gzip的功能一样:压缩网页各类组件,加快网页下载速度。

例子

-------------------------

    <ifmodule mod_deflate.c>

    deflatecompressionlevel 9   #压缩的级别设置为最高

    #将html、文本、xml、php进行压缩

    addoutputfilterbytype   deflate text/html text/plain text/xml application/x-httpd-php

    # 将html、htm、xml、php、css、js进行压缩

    addoutputfilter         deflate  html  htm  xml  php  css  js

-----------------------------------

mod_dumpio

mod_dumpio允许你记录所有apache接收到的输入和发送的错误输出到错误日志(通常是error.log)中。

记录数据的时刻被设计为恰好发生在ssl解码(输入)之后和ssl编码之前(输出)。正如你所预料到的,这么做会导致在日志中写入及其海量的数据,只建议你在发现问题并进行调试的时候使用。

=============================================================

mod_echo

实验模块

一个很简单的协议演示模块

==============================================================

mod_example

一个很简单的apache模块api演示模块

mod_expires

loadmodule expires_module modules/mod_expires.so

允许通过配置文件控制http的"expires"和"cache-control"头内容。客户端会检查expires http头标信息来判断缓存文档是否过期,以此决定要不要重新请求文档。

<ifmodule expires_module>

expiresactive on

expiresbytype text/html "access plus 15 days 2 hours"

expiresdefault "access plus 1 month"

----------------------------------

expiresactive on|off  开启/关闭 expires 头标的生成。

expiresbytype 指定mime类型文档的过期时间。

-------------------------------------------------

所有文本文件在客户端缓存一小时后过期

expiresbytype text/plain a3600

所有gif文件从最后修改时间算起一个星期后过期

expiresbytype p_w_picpath/gif m604800

在客户访问该文件时后7天过期

expiresbytype text/html "access puls 7 days"

expiresbytype p_w_picpath/gif "modification plus 1 years 1 months 1 weeks 1 days 1 hours 1 minutes 1 seconds";

----------------------------------------------------

expiresdefault 缺省的过期时间。

--------------------------------------

expiresdefault m3600

expiresdefault "access plus 2 day"

---------------------------------------

查看浏览器和服务器交互比较好的工具是httpwatch pro,现在的版本4.1,支持ie7

mod_ext_filter

使用外部程序作为过滤器

提供文件描述符缓存支持,从而提高apache性能

mod_headers

允许通过配置文件控制任意的http请求和应答头信息

header 指令  配置http应答头

requestheader 指令 配置http请求头

mod_ident

实现rfc1413规定的ident查找

identitycheck 指令  启用对远端用户的rfc1413身份鉴定的日志

identitychecktimeout 指令 设置ident请求超时

mod_info

生成apache配置情况的web页面

addmoduleinfo 指令 为server-info处理器显示的模块增加额外信息

--------------------------------------------------

<location /server-info>

sethandler server-info

order deny,allow

deny from all

allow from yourcompany.com

</location>

mod_rewrite

loadmodule rewrite_module modules/mod_rewrite.so

======================================================

参考:

http://www.phpchina.com/manual/apache/mod/index.html