Joseffu Online
Apache 配置文件 httpd.conf 使用简单中文标注
2005-10-27 Joseffu


我发现网上有一个 Win2000/XP/2003+Apche+PHP+MySQL+Perl 套件(点此下载,安装文件大小15MB,安装后共88MB)非常好用,傻瓜式安装,安装后完美支持PHP、CGI、MYSQL,套件使用程序版本为 Apache v1.3.29 for Win32 / PHP v4.3.4 for Win32 / Zend Optimizer v2.1.0 for Win32 / MySQL v4.0.17 for Win32 / ActivePerl v5.8.0.806 for Win32,各程式安装目录为:



D:\Usr                服务器总目录

    +--bin            ActivePerl 解释器目录

    +--local        程序目录

    +--apache    Apache 程序目录

    +--mysql    MySQL 程序目录

    +--php        PHP 解释器目录

    +--Zend        Zend Optimizer 程序目录

    +--www        网站目录

    +--html        网站根(/)目录

    +--cgi-bin    /cgi-bin/目录



本文件就是从 D:Usr 的总目录这里面抽取的。有如IIS对ASP的完美支持,Apache则是对PHP、CGI完美支持,如果调换了,不仅要另外安装并配置,且总是没效率,比如IIS运行Perl,效率低下,同样Apache默认并不支持ASP,当然这套HTTP服务配置也没有整合支持ASP的组件,所以要需要另外安装 IASP for Win32 和JDK,即JAVA组件,也要在这个 httpd.conf 中做好配置,Apache是HTTP服务的核心组件,其它都是一些支持程序语言的组件,如PHP、CGI等,httpd.conf 是Apache的核心配置文件。



为了使Apache的配置文件更好理解,特作简单中文标记,翻译不准确的地方敬请指教。基于 Apache v1.3.29 for Win32,安装目录: D:Usr





### 部分 1: 全局环境



# ServerType 定义为 inetd 或 standalone 之一,Inetd 模式只用于 Unix 平台

ServerType standalone



# 主机路径

ServerRoot "D:/usr/local/apache"



# PidFile 路径

PidFile logs/httpd.pid



#

# ScoreBoardFile: File used to store internal server process information.

# Not all architectures require this.  But if yours does (you'll know because

# this file will be  created when you run Apache) then you *must* ensure that

# no two invocations of Apache share the same scoreboard file.

#

ScoreBoardFile logs/apache_runtime_status



# 不使用 srm.conf 和 access.conf 文件

#ResourceConfig nul

#AccessConfig nul



# 超时(秒)

Timeout 300



# 持久连接

KeepAlive On



# 最大请求持久连接

MaxKeepAliveRequests 100



# 持久连接超时(秒)

KeepAliveTimeout 30



# 每个子进程最大请求(0=无限)

MaxRequestsPerChild 0



# 每个子进程线程

ThreadsPerChild 50



# 监听

#Listen 3000

#Listen 12.34.56.78:80



# 限制 IP

#BindAddress *



# 动态共享对象 (DSO) 支持



# 注意:模块加载顺序很重要,在没有专家建议的情况下不要随便改动。

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#LoadModule mime_magic_module modules/mod_mime_magic.so

#LoadModule status_module modules/mod_status.so

#LoadModule info_module modules/mod_info.so

#LoadModule speling_module modules/mod_speling.so

#LoadModule rewrite_module modules/mod_rewrite.so

#LoadModule anon_auth_module modules/mod_auth_anon.so

#LoadModule dbm_auth_module modules/mod_auth_dbm.so

#LoadModule digest_auth_module modules/mod_auth_digest.so

#LoadModule digest_module modules/mod_digest.so

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule cern_meta_module modules/mod_cern_meta.so

#LoadModule expires_module modules/mod_expires.so

#LoadModule headers_module modules/mod_headers.so

#LoadModule usertrack_module modules/mod_usertrack.so

#LoadModule unique_id_module modules/mod_unique_id.so



# [无论你上面改变了什么模块,在这里做同样改变!]

ClearModuleList

#AddModule mod_vhost_alias.c

AddModule mod_env.c

AddModule mod_log_config.c

#AddModule mod_mime_magic.c

AddModule mod_mime.c

AddModule mod_negotiation.c

#AddModule mod_status.c

#AddModule mod_info.c

AddModule mod_include.c

AddModule mod_autoindex.c

AddModule mod_dir.c

AddModule mod_isapi.c

AddModule mod_cgi.c

AddModule mod_asis.c

AddModule mod_imap.c

AddModule mod_actions.c

#AddModule mod_speling.c

AddModule mod_userdir.c

AddModule mod_alias.c

#AddModule mod_rewrite.c

AddModule mod_access.c

AddModule mod_auth.c

#AddModule mod_auth_anon.c

#AddModule mod_auth_dbm.c

#AddModule mod_auth_digest.c

#AddModule mod_digest.c

#AddModule mod_proxy.c

#AddModule mod_cern_meta.c

#AddModule mod_expires.c

#AddModule mod_headers.c

#AddModule mod_usertrack.c

#AddModule mod_unique_id.c

AddModule mod_so.c

AddModule mod_setenvif.c



# 扩展情况

#ExtendedStatus On



### 部分 2: 主机配置



# 端口

Port 80



# 主机管理员信箱

ServerAdmin admin@localhost.net



# 主机名

ServerName localhost



# 文档路径

DocumentRoot "D:/usr/www/html"



# 绝对限制许可

<Directory />

    Options FollowSymLinks

    AllowOverride None

</Directory>



# 文档路径权限设置

<Directory "D:/usr/www/html">

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny

    Allow from all

</Directory>



# 用户路径

<IfModule mod_userdir.c>

    UserDir "D:/usr/local/apache/users/"

</IfModule>



# Control access to UserDir directories.  The following is an example

# for a site where these directories are restricted to read-only.

#

#<Directory "D:/usr/local/apache/users">

#    AllowOverride FileInfo AuthConfig Limit

#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

#    <Limit GET POST OPTIONS PROPFIND>

#        Order allow,deny

#        Allow from all

#    </Limit>

#    <LimitExcept GET POST OPTIONS PROPFIND>

#        Order deny,allow

#        Deny from all

#    </LimitExcept>

#</Directory>



# 索引文件

<IfModule mod_dir.c>

    DirectoryIndex index.html index.htm index.php

</IfModule>



# 访问控制文件名

AccessFileName access.ht



#

# 防止访问控制文件被访问者察看

<Files ~ "^access.ht">

    Order allow,deny

    Deny from all

    Satisfy All

</Files>



# 缓存协议

#CacheNegotiatedDocs



#

# 使用规范名称

UseCanonicalName On



# 类型设置

<IfModule mod_mime.c>

    TypesConfig conf/mime.types

</IfModule>



#

# 默认协议

DefaultType text/plain



# 魔术设置

<IfModule mod_mime_magic.c>

    MIMEMagicFile conf/magic

</IfModule>



# 主机名查找

HostnameLookups Off



# 错误记录

ErrorLog logs/error.log



# 记录等级,包括:debug, info, notice, warn, error, crit, alert, emerg.

LogLevel error



# 记录格式

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

LogFormat "%h %l %u %t "%r" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent



# 访问记录

#CustomLog logs/access.log common



# 服务器签名

# 选择一个: On &line; Off &line; EMail

ServerSignature On



# CGI 脚本解释路径

#!D:/usr/bin/perl



# 以 CGI 模式运行 PHP 脚本

ScriptAlias /php/ "D:/usr/local/php/"

AddType application/x-httpd-php .php

Action application/x-httpd-php "/php/php.exe"



# 别名开始

<IfModule mod_alias.c>

    Alias /icons/ "D:/usr/local/apache/icons/"



    <Directory "D:/usr/local/apache/icons">

        Options Indexes MultiViews

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>



    # 脚本路径别名

    ScriptAlias /cgi-bin/ "D:/usr/www/cgi-bin/"



    <Directory "D:/usr/www/cgi-bin">

        AllowOverride None

        Options None

        Order allow,deny

        Allow from all

    </Directory>



</IfModule>

# 别名结束



# 自动索引目录下所有文件

<IfModule mod_autoindex.c>



    IndexOptions FancyIndexing



    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip



    AddIconByType (TXT,/icons/text.gif) text/*

    AddIconByType (IMG,/icons/image2.gif) image/*

    AddIconByType (SND,/icons/sound2.gif) audio/*

    AddIconByType (VID,/icons/movie.gif) video/*



    AddIcon /icons/binary.gif .bin .exe

    AddIcon /icons/binhex.gif .hqx

    AddIcon /icons/tar.gif .tar

    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv

    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip

    AddIcon /icons/a.gif .ps .ai .eps

    AddIcon /icons/layout.gif .html .shtml .htm .pdf

    AddIcon /icons/text.gif .txt

    AddIcon /icons/c.gif .c

    AddIcon /icons/p.gif .pl .py

    AddIcon /icons/f.gif .for

    AddIcon /icons/dvi.gif .dvi

    AddIcon /icons/uuencoded.gif .uu

    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl

    AddIcon /icons/tex.gif .tex

    AddIcon /icons/bomb.gif core



    AddIcon /icons/back.gif ..

    AddIcon /icons/hand.right.gif README

    AddIcon /icons/folder.gif ^^DIRECTORY^^

    AddIcon /icons/blank.gif ^^BLANKICON^^



    DefaultIcon /icons/unknown.gif



    # Readme 文件名及 Header 文件名

    ReadmeName README.txt

    HeaderName HEADER.txt



    IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t



</IfModule>

# 结束自动索引



# 文档类型

<IfModule mod_mime.c>



    AddType application/x-tar .tgz



    AddEncoding x-compress .Z

    AddEncoding x-gzip .gz .tgz



    # 语言

    AddLanguage da .dk

    AddLanguage nl .nl

    AddLanguage en .en

    AddLanguage et .ee

    AddLanguage fr .fr

    AddLanguage de .de

    AddLanguage el .el

    AddLanguage he .he

    AddCharset ISO-8859-8 .iso8859-8

    AddLanguage it .it

    AddLanguage ja .ja

    AddCharset ISO-2022-JP .jis

    AddLanguage kr .kr

    AddCharset ISO-2022-KR .iso-kr

    AddLanguage nn .nn

    AddLanguage no .no

    AddLanguage pl .po

    AddCharset ISO-8859-2 .iso-pl

    AddLanguage pt .pt

    AddLanguage pt-br .pt-br

    AddLanguage ltz .lu

    AddLanguage ca .ca

    AddLanguage es .es

    AddLanguage sv .sv

    AddLanguage cs .cz .cs

    AddLanguage ru .ru

    AddLanguage zh-CN .zh-cn

    AddLanguage zh-TW .zh-tw

    AddCharset GB2312       .Gb2312  .gb

    AddCharset Big5         .Big5    .big5

    AddCharset WINDOWS-1251 .cp-1251

    AddCharset CP866        .cp866

    AddCharset ISO-8859-5   .iso-ru

    AddCharset KOI8-R       .koi8-r

    AddCharset UCS-2        .ucs2

    AddCharset UCS-4        .ucs4

    AddCharset UTF-8        .utf8



    # 语言优先顺序

    <IfModule mod_negotiation.c>

        LanguagePriority cn en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw

    </IfModule>



</IfModule>

# 文档类型结束



# 定制浏览器特征

<IfModule mod_setenvif.c>



    BrowserMatch "Mozilla/2" nokeepalive

    BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0



    BrowserMatch "RealPlayer 4.0" force-response-1.0

    BrowserMatch "Java/1.0" force-response-1.0

    BrowserMatch "JDK/1.0" force-response-1.0



</IfModule>

# 定制浏览器特征结束



### 部分 3: 虚拟主机



# 基于名称的虚拟主机示例:



#<VirtualHost *:80>

#    ServerAdmin webmaster@dummy-host.example.com

#    DocumentRoot /www/docs/dummy-host.example.com

#    ServerName dummy-host.example.com

#    ErrorLog logs/dummy-host.example.com-error_log

#    CustomLog logs/dummy-host.example.com-access_log common

#</VirtualHost>

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容