邪恶八进制信息安全团队技术讨论组's Archiver

EvilOctal 2005-5-11 00:38

[转载]Apache(2)

  文章作者:Mark Lomarinski 和 Cary Collett

Acess
你想要进入控制吗?

auth
检查Unix-style口令和组文件的基本的验证。

auth-anon
使用匿名的FTP-style usernames和口令。

auth-dbm
使用Berkeley db文件存储usernames,口令,和组信息。如果你有很多usernames并关心性能, 这是很有用的。

digest
使用HTTP文摘验证,这比基本的验证更安全。

expire(过期)模块让你定制Expire: 基于像进入时间或者修改时间一样的事情的各种各样的资源的标题。
 

如果你想要能够跟踪你站点的点击,不想要使用某种进入控制的方法,你能使usertrack激活。 它使用cookie值作为一个唯一的ID。
 
共用的模块通过so模块成为可用。 如上所述,共用的模块和DSO是实验性的,不推荐使用。

在Apache1.3中鼓励你通过客户log记录所有登录。 Apache提供复制标准的agent和refer报告格式的log格式。 这意味你将很有可能想要把log_config设置把为On,log_agent和log_refer为off,因为它们是多余的。

如果你不想要你的用户自动地有一个目录可以为HTML服务(通过[url]http://your.server.com/~user[/url]),你能使userdir模块禁用。

最后,如果你需要做URI-to-filename地图,你能够重写模块。 它可让你使用常规的表达式对要求做复杂(和简单!) 重写。

一个具体的例子: 我们如何构成Apache

当我们建立构成命令行,我们喜欢打开Xemacs缓冲器并且打出(或者拷贝和粘贴)命令并且为将来的再编译保存它。

我们当前Apache配置行看起来如下:

./configure--prefix=/home/httpd\
--enable-rule=WANTHSREGEX\
--activate-module=src/modules/PyApache/mod-pyapache.c\
--activate-module=src/modules/php3/libphp3.a\
--enable-module=headers

首先,我们告诉Apache使用捆绑的regex库; 然后,我们使两种第三方模块可用:PyApache的(在Apache中嵌入Python 解释器以消除Python CGI语句解释程序的启动时间)和PHP3(类C的HTML嵌入语言); 最后,我们打开标题模块,因为我们为登录目的使用某种专断的标题。

当我们运行配置,我们得到以下输出:

Configuring for Apache, Version 1.3.3
+ activated pyapache module (modules/PyApache/mod_pyapache.c)
+ activated php3 module (modules/php3/libphp3.a)
Creating Makefile
Creating Configuration.apaci in src
Creating Makefile in src
+ configured for Linux platform
+ setting C compiler to gcc
+ setting C pre-processor to gcc -E
+ checking for system header files
+ adding selected modules
o PyApache uses ConfigStart/End
o php3_module uses ConfigStart/End
+ doing sanity check on compiler and options
Creating Makefile in src/support
Creating Makefile in src/main
Creating Makefile in src/ap
Creating Makefile in src/regex
Creating Makefile in src/os/unix
Creating Makefile in src/modules/standard
Creating Makefile in src/modules/PyApache
Creating Makefile in src/modules/php3

所有坚苦的工作现在被完成! 键入:

make install

它应该建造二进制文件(httpd加一些帮助程序),建立目录树并且安装各种文件。

Apache1.3的缺省目录布局是:

./bin
帮助程序和原代码(htpasswd)

./etc/apache
Apache配置文件

./include/apache
Apache标题文件

./libexec
共用的对象文件

./man
man 页

./sbin
服务器二进制,apachectl原本,log rotator

./share/cgi-bin
缺省CGI原本/二进制的目录

./share/htdocs
缺省文件根

./share/htdocs/manual
Apache手册

./share/icon
包含各种图标GIFs的目录

./var/apache/log
log文件的目录

./var/apache/proxy
proxy缓存目录

./var/apache/run
httpd.pid(包含主要的httpd过程标识

符的文件)在此目录

与Apache1.3一样apachectl原代码也是新的,它让你停止、开始,得到服务器状态并且再装入.conf文件。从安装目录开始运行Apache键入

sbin/apachectl start.

运行sbin/apachectl(没有变元)将给你变元和简短描述的列表。

你现在有手工定制的Apache服务器运行并准备提供页面服务并且执行CGIs!

关于更多信息,你当然应该访问Apache的Web页面,在那里你总可以找到最新的信息、补丁和公告。 你也可以登记Apache邮件列表。([email]apache-anounce-request@apache.org[/email])或者阅读comp.infosystems.[url]www.servers.unix[/url] newsgroup。

我们下个月将从功能、安全、和性能等方面讨论Apache的运行配置。接下来的部分将讨论诸如mod-php3和mod-perl的各种第三方模块。

关于作者

Mark Komarinski是Waltham,MA的Auraora Technologies的系统管理人员。 他是以前Linux期刊LinuxCompanion的专栏作者和作者。 他和Cary Collett 共同发表了The Linux System Administration Handbook

页: [1]
© 1999-2008 EvilOctal Security Team