[an error occurred while processing this directive] [APACHE DOCUMENTATION]

Apache Core Features

These configuration parameters control the core Apache features, and are always available.
検索文字

AccessConfig命令

Syntax: AccessConfig filename
Default: AccessConfig conf/access.conf
Context: server config, virtual host
Status: core

サーバはResourceConfigファイルを実行してからこの命令を実行します。
FilenameServerRootの相対パスとなります。 この特徴は以下の様に設定すると無効出来ることです。:

AccessConfig /dev/null
これまではこのファイルは<Directory>セクションにだけで設定されています。;実際にこのファイルは現在server c onfigで許可されたいくつかのサーバの設定含むことが出来ます。


AccessFileName命令

Syntax: AccessFileName filename
Default: AccessFileName .htaccess
Context: server config, virtual host
Status: core

サーバがクライアントにドキュメントを表示させるとき、もしアクセスコントロールファイルがそのディレクトリに対してアクセスすることを可能にしているならば、サーバはドキュメントに指定されたディレクトリパスにこの名前でアクセスコントロールファイル(.htaccess)を探します。 例:

AccessFileName .acl
サーバは/usr/local/web/index.html,を表示させる前に、もし以下の様な記述がなければ、/.acl, /usr/.acl, /usr/local/.acl and /usr/local/web/.aclを実行します。
<Directory />
AllowOverride None
</Directory>


AddModule命令

Syntax: AddModule module module ...
Context: server config
Status: core
Compatibility: AddModuleはApache1.2以降のみ使用可能です

サーバは普段使用していないコンパイルされたモジュールを使用することが可能です。この命令はそれらのモジュールを使用可能にするために使用されます。サーバはあらかじめロードされた実行可能なモジュールのリストを実行します。このリストはClearModuleList命令によってクリアーされます。


AllowOverride命令

Syntax: AllowOverride override override ...
Default: AllowOverride All
Context: directory
Status: core

サーバが.htaccessファイル(AccessFileNameによって指定されたファイル)を見つけると、サーバはより早くアクセス情報を上書き出来るファイルに設定された命令を知ろうとします。

OverrideはNoneに設定することが出来ます。それはサーバがそのファイル(.htaccess)を実行しないように設定する場合と、サーバが全ての命令を許す場合とあるいは次の様な場合です。

AuthConfig
認証設定の使用を許可します。 (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile and require).
FileInfo
ドキュメントタイプをコントロールする命令の使用を許可します (AddEncoding, AddLanguage, AddType, DefaultType and LanguagePriority).
Indexes
ディレクトリインデクスをコントロールする命令の使用を許可します (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions and ReadmeName).
Limit
ホストへのアクセスをコントロールする命令の使用を許可します (allow, deny and order).
Options
特定のディレクトリの設定をコントロールする命令の使用を許可します (Options and XBitHack).


AuthName命令

Syntax: AuthName auth-domain
Context: directory, .htaccess
Override: AuthConfig
Status: core

この命令はディレクトリに対する認証の範囲の名前を設定する。この認証が与えられるユーザは許可されるユーザーネームとパスワードを知っているクライアントに対して与えられます。実行するためには、AuthTyperequire の命令、AuthUserFileAuthGroupFile のような命令を伴わなければなりません。


AuthType命令

Syntax: AuthType type
Context: directory, .htaccess
Override: AuthConfig
Status: core

この命令はあるディレクトリに対する認証機構の種別を選択します。Basic だけが今のところ実行することが出来ます。実行されるためには、AuthNamerequire の命令、AuthUserFileAuthGroupFile のような 命令が伴わなければなりません。


ClearModuleList命令

Syntax: ClearModuleList
Context: server config
Status: core
Compatibility:ClearModuleListはApache 1.2以降から使用可能です

サーバは既に組み込まれた実行可能なモジュールを実行します。この命令はそのリストをクリアします。AddModule命令によってそのリストが実行されていることが前提です。


BindAddress命令

Syntax: BindAddress saddr
Default: BindAddress *
Context: server config
Status: core

UNIX の http サーバは、接続のためにサーバマシンの全ての IP アドレスか、またはサーバマシンの唯一のIPアドレスのどちらかを読み込むことができる。saddr は以下の通りである。

  • *
  • An IP address
  • A fully-qualified internet domain name
  • 値が * のとき、サーバはあらゆる IP アドレスにコネクションするでしょう。その他のときは特定の IP アドレスを読み込みます。

    このオプションは<VirtualHost>のセクションを使う代わりに、virtual hostsをサポートするための代わりの方法として使用されます。

    参考: Setting which addresses and ports Apache uses


    DefaultType命令

    Syntax: DefaultType mime-type
    Default: DefaultType text/html
    Context: server config, virtual host, directory, .htaccess
    Override: FileInfo
    Status: core

    MIMEタイプで定義されていないタイプのドキュメントを提供することをサーバが求められるときがあります。

    サーバはそのドキュメントのcontent-typeをクライアントに知らせなければなりません。例えば :

    DefaultType image/gif
    これは .gif の拡張子がないgifイメージのファイルを含んだディレクトリに適用されます。


    <Directory> 命令

    Syntax: <Directory directory> ... </Directory>
    Context: server config, virtual host
    Status: Core.

    <Directory>と</Directory>はそのディレクトリで指定されたディレクトリとサブディレクトリに対してのみ適用される命令のグループ化ために使用されます。そのディレクトリ内では許可された命令のみが使用可能となります。Directoryは相対パスか、またはワイルドカードのどちらかです。ワイルドカードの中で「?」はある一文字に一致し、「*」はある連続した文字列に一致します。例えば:

       <Directory /usr/local/httpd/htdocs>
       Options Indexes FollowSymLinks
       </Directory>
    

    Apache 1.2かそれ以上: 拡張した正規表現は「~」文字もまた使用することが出来ます。 例えば:

       <Directory ~ "^/www/.*/[0-9]{3}">
    
    上記は/www/にある3つの数字から成るディレクトリ名に一致します。

    もし複数のディレクトリがドキュメントを含んだそのディレクトリ(またはその親ディレクトリ)に一致するときは、点在する.htaccessファイルからの命令で、いちばん最初の最も短い命令に対して適用される。例えば

    <Directory />
    AllowOverride None
    </Directory>

    <Directory /home/*>
    AllowOverride FileInfo
    </Directory>
    /home/web/dir/doc.html へアクセスするための設定は:
  • AllowOverride None 命令を適用する。 (.htaccess は使用不可).
  • AllowOverride FileInfo 命令を適用する。 (/home/web に対して).
  • /home/web/.htaccess で、なんらかのFileInfo命令を適用する。
  • そのdirectoryの項目は一般的にaccess.conf ファイルで使用されるが、それらはいくつかの configurationファイルの中でも使用することが出来る。<Directory>命令は、ネストを行なうことが出来ず、<Limit>の項目の中で使用することも出来ません。


    DocumentRoot命令

    Syntax: DocumentRoot directory-filename
    Default: DocumentRoot /usr/local/etc/httpd/htdocs
    Context: server config, virtual host
    Status: core

    この命令は、httpd がファイルを提供するディレクトリを設定します。もし Aliasの命令によって一致しなければ、サーバまでのパスを設定するために、要求されたURLからドキュメントルートへのパスを付加します。例えば:

    DocumentRoot /usr/web
    このときhttp://www.my.host.com/index.htmlへのアクセスが/usr/web/index.htmlへのアクセスを示しています。

    DocumentRootがスラッシュで終わっているとき(すなわち "DocumentRoot /usr/web/")、 mod_dirに問題を引き起こすバグが存在します。ですからそれを避けて下さい。


    ErrorDocument命令

    Syntax: ErrorDocument error-code document
    Context server config, virtual host, directory, .htaccess
    Status: core
    Compatibility:ディレクトリと.htaccessではApache 1.1以降で使用可能

    トラブルやエラーが発生したとき、Apache は四つの内の一つを実行するように設定することが可能です。

    1. NCSA 1.3 のように動作する
    2. カスタマイズされたメッセージを出力する。
    3. problem/error を処理するために、内部のURLに対して再実行する。
    4. problem/error を処理するために、外部のURLに対して再実行する。

    2-4は HTTP のレスポンスコード、メッセージかあるいはURLに従ってErrordocument を使って構成されます。

    このcontextのMessagesはシングルクォート(")で始まり、メッセージ自体の部分を構成していません。Apache は時々problem/errorの点で付加的な情報を提供する。

    URLは内部URLに対してスラッシュ(/)で始まるか、クライアントが決定できるフルURLで始まる。例:

    ErrorDocument 500 /cgi-bin/tester
    ErrorDocument 404 /cgi-bin/bad_urls.pl
    ErrorDocument 401 http://www2.foo.bar/subscription_info.html
    ErrorDocument 403 "Sorry can't allow you access today
    参考:documentation of customizable responses.


    ErrorLog命令

    Syntax: ErrorLog filename
    Default: ErrorLog logs/error_log
    Context: server config, virtual host
    Status: core

    エラーログ命令は、サーバに発生したエラーを記録するファイル名を設定する。 もしファイル名がスラッシュ(/)で始まっていなければ、ServerRoot に対して相対的位置にあると仮定される。 例:

    ErrorLog /dev/null
    これは事実上、エラーの記録を中止する。


    <Files>

    Syntax: <Files filename> ... </Files>
    Context: server config, virtual host, htaccess
    Status: core
    Compatibility: only available in Apache 1.2 and above.

    <Files>命令は、ファイルネームによるアクセスコントロールを設定します。<Directory>命令や、<Location>命令に匹敵します。</Files>命令と対応させます。与えられたファイルネームに対して適用される命令は内部でリストになっている。 </Files>セクションは<Directory>セクションと .htaccessファイルが読み込まれた後、<Location>セクションの前にコンフィグレーションファイルに存在する命令を処理します。

    filenameはあるファイルネームまたは、ワイルドカード文字を含みます。「?」はある一文字に一致し、「*」はある連続した文字列に一致します。通常の表記よりも拡張された正規表現もまた「~」文字を付加して使用する事が出来ます。例えば:

       <Files ~ "\.(gif|jpe?g|png)$">
    
    最も一般的なインターネットのグラフィックのフォーマットに一致するでしょう。 .htaccessファイルの内部で使われる<Directory>セクションは、<Location>セクションと<Files>セクションとは違うことに注意してください。これはユーザーにファイルごとのレベルで彼ら自身のファイルへのアクセスをコントロールすることを許可します。.htaccess ファイル内で使われる時に、もしfilenameがスラッシュ(/)で始まっていなければ、適用されるディレクトリは自動的にルートへ置かれます。


    Group命令

    Syntax: Group unix-group
    Default: Group #-1
    Context: server config, virtual host
    Status: core

    Group命令は、サーバがコマンドに答えるグループを設定する。この命令を使用するためにはスタンドアローンサーバがルートとして初期に作動していなければならない。 Unix-groupは以下の内の一つである:ys

    A group name
    名前によって与えられたグループを指す
    # followed by a group number.
    その番号によるグループを指す

    作動しているサーバに特別に新しいグループをセットアップすることを推奨します。管 理者はユーザーを使いませんが、これが常に可能で、望ましいわけではありません。 注意:もしルートでないユーザーとしてサーバを立ち上げたのなら、指定したものに変更するのを失敗するか、代わりにオリジナルユーザーのグループとして実行し続けることになります。

    特記:<VirtualHost>にあるこの命令の使用は、適切に configure されたSUEXEC wrapperを必要とする。

    SECURITY:セキュリティーについては User を参照して下さい。


    IdentityCheck命令

    Syntax: IdentityCheck boolean
    Default: IdentityCheck off
    Context: server config, virtual host, directory, .htaccess
    Status: core

    この命令はそれぞれのコネクションに対してリモートユーザネームのRFC931-compliantログを可能にします。そのクライアントマシーンはinetdで起動するか何か類似したもので起動します。この情報はaccess logに記録されます。Booleanはonかoffのどちらかです。

    その情報は基本的なトラッキングの使用以外には、信頼するべきではない。


    <IfModule>

    Syntax: <IfModule [!]module-name> ... </IfModule>
    Default: None
    Context: all
    Status: Core Compatibility: ScriptLog is only available in 1.2 and later.

    <IfModule test>...</IfModule>セクションは条件を表す命令を示すために使用されます。IfModuleセクション内部の命令は、もしtestが本当なら、処理だけが行われる。もしテストが間違っていれば、スタートとエンドマーカーの間にある全ては無視される。

    <IfModule>セクションの命令のtestは二つの形式のうちの一つが使用可能です。

    前者の場合、もしmodule nameと名付けられたモジュールがApacheでコンパイルされると、スタートとエンドマークの間の命令は処理だけが行われる。もしmodule nameがコンパイルされないと、二番目の場合、テストを逆にして、命令の処理だけを行なう。

    module nameのargumentはモジュールのファイルネームによって与えられたモジュールネームであり、その時にコンパイルされていた。例えば、mod_rewrite.c.

    <IfModule>セクションは nest-ableで、単に multiple-module テストの手段として使われる。


    KeepAlive

    Syntax: KeepAlive max-requests
    Default: KeepAlive 5
    Context: server config
    Status: Core
    Compatibility: KeepAliveはApache 1.1以上で使用可能

    この命令はKeep-Alive のサポートを可能にする。リクエストごとに許可する、あなたがApacheに要求するリクエストの最大数をmax-requestsに設定してください。限界値はクライアントがあなたのサーバリソースを一人占めしようとするのを防ぎます。サポートを無効にするにはこれを0に設定してください。


    KeepAliveTimeout

    Syntax: KeepAliveTimeout seconds
    Default: KeepAliveTimeout 15
    Context: server config
    Status: Core
    Compatibility: KeepAliveTimeoutはApache 1.1以降から使用可能

    そのコネクションを終了する前に、Apacheが次のリクエストを待つ秒数です。一度コマンドを受け取ると、Timeout命令が適用されることにより、タイムアウトの値が指定されます


    Listen

    Syntax: Listen [IP address:]port number
    Context: server config
    Status: core
    Compatibility: ListenはApache1.1以上で使用可能

    Listen命令は、一つ以上の IP アドレスやポートを認識するように Apache に指示します。デフォルトでは全てのIPインターフェイスのリクエストに応答しますが、Port命令によって与えられたポートのみに応答します。

    参考: Setting which addresses and ports Apache uses


    <Limit>命令

    Syntax: <Limit method method ... > ... </Limit>
    Context: any
    Status: core

    <Limit>と</Limit>はアクセスをコントロールする命令をグループ化するために使用されます。そしてそれはmethodが有効なHTTPの方法である特定のアクセス方法にのみ適用されます。 もう一つ他に<Limit>や、 <Directory>を除いたいくつかの命令を使用することが可能です。ほとんどはによって影響を受けません。例えば:

    <Limit GET POST>
    require valid-user
    </Limit>
    もしアクセスをコントロールする命令が<Limit>命令の外部に存在するなら、全てのアクセ方法に対して適用されます。


    <Location>

    Syntax: <Location URL> ... </Location>
    Context: server config, virtual host
    Status: core
    Compatibility: LocationはApache 1.1以降で使用可能

    <Location>命令は、URL によるアクセス制御を供給する。それは<Directory>命令と同等で、</Location>に対応しています。与えられた URL に適用される命令は、内部で読み込まれます。<Location>セクションは<Directory>セクションと.htaccessファイルが読まれた後にコンフィグレーションファイルに存在するその他で処理されます。

    HTTP 機能の方法の結果として、URL prefixは proxy からのリクエストを保存するし、/path/形式になるはずですが、http://servername は含みません。ディレクトリ(個人ファイルやファイル数)を保護する必要はなく、ワイルドカードを含むことができる。ワイルドカードは"?"が一文字、"*"が一 続きの数文字を表しています。

    Apache 1.2以降:文字を追加することで、通常よりも拡張された表記を行なうことが出来る。例えば:

       <Location ~ "/(extra|special)/data">
    
    上記は "/extra/data" か "/special/data" を含んだ URL と一致する。

    Location 機能は特に SetHandler命令とセットで使うと有効である。例えば、statusの命令を可能にし、foo.com のブラウザからの命令のみを許可するためには以下のように記述してください:

        <Location /status>
        SetHandler server-status
        
        order deny,allow
        deny from all
        allow from .foo.com
        
        </Location>
    

    MaxClients命令

    Syntax: MaxClients number
    Default: MaxClients 256
    Context: server config
    Status: core

    MaxClients命令は同時にリクエスト数の限度数を設定します;作成される子サーバプロセスの数以下です。


    MaxRequestsPerChild命令

    Syntax: MaxRequestsPerChild number
    Default: MaxRequestsPerChild 0
    Context: server config
    Status: core

    MaxRequestsPerChild命令は個々の子サーバプロセスが取り扱うリクエストの範囲を設定する。MaxRequestPerChild が設定されると、その子プロセスは停止します。もしMaxRequestsPerChild が0だと、そのプロセスは停止しません。

    MaxRequestsPerChild を0以外に設定すると、2つの有益な効果があります。


    MaxSpareServers命令

    Syntax: MaxSpareServers number
    Default: MaxSpareServers 10
    Context: server config
    Status: core

    MaxSpareServers命令はidleの子サーバプロセスの最大数を設定します。idleプロセスはリクエストを処理しないものの一つです。もし MaxSpareServers の idleよりも多い場合には、親プロセスは、過剰な処理を停止するでょう。

    このパラメータの設定は非常に混雑したサイトにのみ実行すべきです。このパラメータの数を大きく設定することは大抵の場合良いアイデアとはいえません。

    MinSpareServersStartServersも参照してください。


    MinSpareServers命令

    Syntax: MinSpareServers number
    Default: MinSpareServers 5
    Context: server config
    Status: core

    MinSpareServers命令はidle子サーバプロセスの最少値を設定します。 idle プロセスはリクエストを処理しないものの一つです。もし MinSpareServers の idle よりも少ない場合には、上位の処理が、一秒ごとの最大速度で新しい下位の処理を実行します。

    このパラメータの設定は非常に混雑したサイトにのみ実行すべきです。このパラメータの数を大きく設定することは大抵の場合良いアイデアとはいえません。

    MaxSpareServersStartServersも参照してください。


    Options命令

    Syntax: Options [+|-]option [+|-]option ...
    Context: server config, virtual host, directory, .htaccess
    Override: Options
    Status: core

    Options命令はサーバ制御を特定のディレクトリ内でのみ有効にする命令です。

    optionがNoneに設定されている場合は特別な制御は使用不可であるかあるいは、次のような場合がある。

    All
    MultiViewsを除いた全てのものが利用可能です。
    ExecCGI
    CGIの実行が認められます。
    FollowSymLinks
    サーバはこのディレクトリにシンボリックリンクを許可します。
    Includes
    サーバ側インクルード機能を許可します。
    IncludesNOEXEC
    サーバ側インクルード機能を許可しますが、#exeコマンドとCGIスクリプトの#include は含みません。
    Indexes
    もしディレクトリにマップしているURLがリクエストされ、そのディレクトリに DirectoryIndex(例:index.html)がない場合には、サーバがそのディレクトリ以下のファイルを表示することを許可します。
    MultiViews
    Content negotiated MultiViewsを許可します。
    SymLinksIfOwnerMatch
    サーバは、対象とするファイルとディレクトリがリンクしているとき同様のユーザIDに従ってシンボリックリンクを許可する。
    通常、もし複数の Option があるディレクトリに対して適用された時、大抵特定の一つが実行されます。;option は2つ以上を実行することができません。しかし、もしOptions命令のallに + か - の記号がallの前に書かれている場合は、option はマージされます。+ が書かれたoptionは一般に、有効にoptions に加えられ、- が書かれたoption は効果のあるoption から除外されます。 例えば, + と - の記号なしでは:
    <Directory /web/docs>
    Options Indexes FollowSymLinks
    </Directory>
    <Directory /web/docs/spec>
    Options Includes
    </Directory>
    上記は Includes だけが /web/docs/spec ディレクトリに設定される。Options命令が + と - の記号を使っていれば、:

    <Directory /web/docs>
    Options Indexes FollowSymLinks
    </Directory>
    <Directory /web/docs/spec>
    Options +Includes -Indexes
    </Directory>
    これによってFollowSymLinks と Includes が /web/docs/spec ディレクトリに設定される。

    PidFile命令

    Syntax: PidFile filename
    Default: PidFile logs/httpd.pid
    Context: server config
    Status: core

    PidFile 命令はデーモンのプロセスidをサーバが記録するファイルを設定します。もしファイルネームがスラッシュ(/)で始まっていなければ、ServerRootが親ディレクトリであると仮定されます。PidFileはstandaloneモードでのみ使用されます。

    サーバにシグナルを送るためにしばしば使われ、サーバが閉じていると、ErrorLogとTransferLogを再び開き、configuration ファイルを再び読み込む。これはPidFileにリストされた プロセスidにSIGHUP(kill -1) シグナルを送ることで実行される。


    Port命令

    Syntax: Port number
    Default: Port 80
    Context: server config
    Status: core

    Port命令はサーバが起動するときのネットワークポート番号を設定します。 numberは0から65535までです。いくつかのポート番号は(特に1024以下)特別なプロトコルのために使用されます。いくつかのポート番号が定義されているリストである/etc/servicesを参照してください。httpdプロトコルのための標準ポート番号は80です。

    ポート番号80はUnixの特定のポートの1つです。1024以下のポート番号はすべてシステムが使用するために確保されています。例えば、通常(non-root)のユーザはそれらを使用する事が出来ません。; 代わりに彼らはそれ以上のポート番号を使用することが出来ます。

    ポート番号80を使用するためにあなたはルートでサーバを起動しなければならない。ポートにバインドした後とリスエストを受ける前に、ApacheはUser命令令によって設定されたより低い権限を持ったユーザに変更します。

    もしあなたがポート番号80を使用することが出来ないならば、使用されていない他のポート番号を選んでください。 Non-rootユーザは1023より大きいポート番号を選択しなければなりません。例えば8000のような。

    SECURITY: もしあなたがrootでサーバを起動するならば、Userにrootを設定することは信頼性がありません。もしあなたがrootでサーバを起動するならコネクションしている間あなたのサイトは主要なセキュリティーへの攻撃に対してオープンであるかもしれない。


    require命令

    Syntax: require entity-name entity entity...
    Context: directory, .htaccess
    Override: AuthConfig
    Status: core

    この命令は、認証されたユーザがあるディレクトリにアクセスできるかどうかを選択します。許可されたsyntaxesは:

    もしrequire<Limit>セクションに存在するとき指定された方法でのアクセスを制限します。<Limit>になければ全ての方法に対するアクセスを制限します。例:

    AuthType Basic
    AuthName somedomain
    AuthUserFile /web/users
    AuthGroupFile /web/groups
    Limit <GET POST>
    require group admin
    </Limit>
    Requireは正確に動作させるために(ユーザーやグループを定義するためには)はAuthNameAuthTypeAuthUserFileAuthGroupFileのような命令を伴わなければならない。


    ResourceConfig命令

    Syntax: ResourceConfig filename
    Default: ResourceConfig conf/srm.conf
    Context: server config, virtual host
    Status: core

    サーバは httpd.confファイルを実行した後、このファイルを実行します。FilenameServerRootと相対パスをとります。この特徴は以下のように設定すると無効に出来ることです。:

    ResourceConfig /dev/null
    一般的にこのファイルはサーバのコンフィグレーションの設定 と<Directory>セクション以外のほとんどの設定が含まれます。 sections;実際、server configで許可されたサーバの設定をいくつか含むことができる

    AccessConfig も参照して下さい。


    RLimitCPU命令

    Syntax: RLimitCPU # or 'max' [# or 'max']
    Default: Unset uses operating system defaults
    Context: server config, virtual host
    Status: core
    Compatibility: RLimitCPUはApache 1.2以降で使用可能

    1か2のパラメータを取ります。最初のパラメータは全ての処理に対するソフトリソース制限を設定し、2番目のパラメータはリソース制限の最大値を設定する。パラメータは数字か、サーバに示されているmaxのどちらかです。その制限はオペレーティングシステムのコンフィグレーションによって許可された最大値が設定されます。'最大リソース制限を設定するのはーバがルートとして作動している時か、起動時である。

    CPUリソース制限はプロセス毎に秒単位で表示されます。

    RLimitMEMRLimitNPROCも参照してください


    RLimitMEM命令

    Syntax: RLimitMEM # or 'max' [# or 'max']
    Default: Unset uses operating system defaults
    Context: server config, virtual host
    Status: core
    Compatibility: RLimitMEM is only available in Apache 1.2 and later

    1か2のパラメータを取る。最初のパラメータは全てのプロセスのソフトリソース制限を設定し、2番目のパラメータはリソース制限の最大値を設定する。パラメータは数字か、サーバに示されているmaxのどちらかです。その制限はオペレーティングシステムのコンフィグレーションによって許可された最大値が設定されます。最大リソース制限を行なうのはサーバがルートとして作動している時か、起動時である。

    メモリーリソースはプロセス毎にバイト単位で表示される。

    RLimitCPURLimitNPROCも参照してください。


    RLimitNPROC directive

    Syntax: RLimitNPROC # or 'max' [# or 'max']
    Default: Unset uses operating system defaults
    Context: server config, virtual host
    Status: core
    Compatibility: RLimitNPROC is only available in Apache 1.2 and later

    1か2のパラメータを取る。最初のパラメータは全てのプロセスに対するソフトリソース制限を設定し、2番目のパラメータはリソース制限の最大値を設定する。パラメータは数字か、サーバに示されているmaxのどちらかです。その制限はオペレーティングシステムのコンフィグレーションによって許可された最大値が設定されます。最大リソース制限を行なうのはサーバがルートとして作動している時か、起動時である。

    プロセス制限はユーザごとにプロセス数を制限する。

    Note: もしCGIプロセスがwebサーバのユーザIDではないユーザIDで動作しているならば、この命令はサーバ自身が作成出来るプロセス数を制限します。この痕跡はerror_log の中のcannot forkメッセージによって確認出来ます。

    RLimitMEMRLimitCPUも参照してください。


    Satisfy

    Syntax:
    Context: server config, virtual host, directory, .htaccess
    Status: core
    Compatibility: SatisfyはApache 1.2以降で使用可能


    SendBufferSize

    Syntax: SendBufferSize bytes
    Context: server config, virtual host
    Status: core

    サーバは明示されたバイト数に対して、TCPバッファーサイズを設定する。非常に有益な過去の標準OSは high speed high latency を履行しません。(例:100msかまたは大陸横断高速線のようなもの)


    ServerAdmin directive

    Syntax: ServerAdmin email-address
    Context: server config, virtual host
    Status: core

    The ServerAdmin sets the e-mail address that the server includes in any error messages it returns to the client.

    ServerAdmin はサーバがクライアントへ返送するエラーメッセージに含まれるe-mail アドレスを設定する。このための専用のアドレスを設定する必要があるかもしれない。例えば

    ServerAdmin www-admin@foo.bar.com
    ユーザとしてサーバに関して話していることについていつも話してはいけない。


    ServerAlias命令

    Syntax: ServerAlias host1 host2 ...
    Context: virtual host
    Status: core
    Compatibility: ServerAliasはApache 1.2以降で使用可能

    ServerAlias 命令はホストとHost-header based virtual hosts使用に対する名前の交換を設定する。


    ServerName命令

    Syntax: ServerName fully-qualified domain name
    Context: server config, virtual host
    Status: core

    ServerName 命令はサーバのホスト名を設定する;これは URLをすリダイレクトるときにのみ使われる。もし明確にされていなければ、サーバは自身の IP アドレスから推測しようとする。;しかしながら、これは確実ではないかもしれないし、好ましいホストネームを返さないかもしれない。例えば:

    ServerName www.wibble.com
    上記は実際にマシンの正当(メイン)の名前が monster.wibble.com であるなら使用されるでしょう。


    ServerPath命令

    Syntax: ServerPath pathname
    Context: virtual host
    Status: core
    Compatibility: ServerPath is only available in Apache 1.1 and later.

    ServerPath命令はホストとHost-header based virtual hostsでの使用に対して受け継いだURLのパス名を設定する。


    ServerRootの設定

    Syntax: ServerRoot directory-filename
    Default: ServerRoot /usr/local/etc/httpd
    Context: server config
    Status: core

    ServerRootの設定はシステムが存在するディレクトリを設定します。 一般的に、それはconf/ とlogs/ のサブディレクトリを含みます。他のコンフィグレーションファイルの相対パスは、このディレクトリとの相対パスになります。


    ServerType命令

    Syntax: ServerType type
    Default: ServerType standalone
    Context: server config
    Status: core

    ServerType命令はサーバがシステムによって実行される方法を設定します。Typeには

    inetd
    サーバはinetdのシステムプロセスから起動します。; サーバを起動するコマンドは/etc/inetd.confに加えられます。
    standalone
    サーバはデーモンプロセスで起動します。; サーバを起動するためのコマンドはシステムスタートアップスクリプト(/etc/rc.local or /etc/rc3.d/....)に加えられます。
    Inetdは2つのオプションの中ではあまり使用されません。httpコネクションが受け取るたびに、サーバの新たなコピーがゼロからスタートします。そのコネクションが完了した後、このプログラムは終了します。コネクション毎の高い代償がありますが、セキュリティー上の理由からいくつかのadminsはオプション(Inetd)の方を好みます。

    Standaloneは、はるかに効率的であるためServerTypeにおいて最も一般的な設定です。サーバ一度スタートされ、引き続いて実行される全てのコネクションをサービスします。もしbusyなサイトで Apacheを起動させるつもりなら、 standaloneはおそらく唯一のオプションです。

    SECURITY:もしあなたがセキュリティーにこだわるなら、 inetdモードで実行しなさい。セキュリティーはどちらの場合( inetdとStandalone)でも保証は出来ません。しかし、ほとんどの人々がstandaloneを使用することでHappyならばinetdはおそらく使用されなくなるでしょう。


    StartServers命令

    Syntax: StartServers number
    Default: StartServers 5
    Context: server config
    Status: core

    StartServers 命令は起動時に作られる子サーバプロセスの数を設定する。プロセス数はロードによって変動するので、通常この変数を調整する必要はない。

    MinSpareServersMaxSpareServersも参照してください。


    TimeOut命令

    Syntax: TimeOut number
    Default: TimeOut 1200
    Context: server config
    Status: core

    TimeOut命令はサーバが秒単位にリクエストを受けるのを待つあるいは完了するのを待つ最大の時間を設定します。それでもしリクエストがクライアントに対してリクエストを返すまたはレスポンスを受ける時間がTimeOutの秒数以上になるとサーバはコネクションをきります。従ってこのTimeOutは転送出来る範囲を制限します。大きいファイルと遅いネットワークは転送時間を大きく出来ます。


    User命令

    Syntax: User unix-userid
    Default: User #-1
    Context: server config, virtual host
    Status: core

    User 命令はサーバがリクエスト答えるユーザID を設定します。この命令を使うために、スタンドアローンサーバはルートとして起動時に作動する。Unix-useridは次の内に一つである:

    A username
    名前によって与えられたユーザであることを示す
    # followed by a user number.
    番号によって与えられたユーザであることを示す
    ユーザには読むことのできないようにしてあるファイルにアクセスする特権はない。同様に、httpd の要求に対応していないコードを実行することはできない。特に作動し ているサーバの新しいユーザとグループに設定することを推奨する。管理のいくつかは ユーザを必要としないが、これが常に可能で望ましいわけではない。

    Notes: もしサーバをルートでないユーザとして起動するなら、少ない特権のあるユーザ への変更に失敗し、代わりにオリジナルユーザとして実行し続けるだろう。もしルート としてサーバを起動するなら、ルートとして普通に上位の処理を行なうことができる。

    Special note: <VirtualHost>でのこの命令の使用は、適当に configure された SUEXEC wrapperを必要とする。

    SECURITY: あなたが何をしていて、何が危険なのかを正確に知っている場合以外にはルートに対して User (or Group)の設定はしないで下さい。


    <VirtualHost>命令

    Syntax: <VirtualHost addr[:port]> ... </VirtualHost>
    Context: server config
    Status: Core.

    <VirtualHost>と</VirtualHost>は特定のに対してのみ適用されるグループを囲むために使用されます。virtual host内で許可された命令を使用出来ます。サーバが特定の virtual host 上で document の要求を受け取ると、<VirtualHost>の中でグループ化された configration命令を使います。Addr は、 <VirtualHost> and </VirtualHost> are used to enclose a gro

  • virtual host のIP アドレス
  • virtual hostのIP アドレスに対して認証されたドメインのフルネーム
  • 例:
    <VirtualHost host.foo.com>
    ServerAdmin webmaster@host.foo.com
    DocumentRoot /www/docs/host.foo.com
    ServerName host.foo.com
    ErrorLog logs/host.foo.com-error_log
    TransferLog logs/host.foo.com-access_log
    </VirtualHost>
    一般に、それぞれの VirtualHost はサーバとは異なった IP アドレスに対応していなければならず、サーバ機は複数のアドレスの IP パケットを受け取るためにconfigureされていなければならない。もしそのマシーンが複数のネットワークのインターフェースを持っていなければ、サーバ機は ifconfig alias コマンド(OSがそれをサポートしている場合)かまたは、VIFのような kernel patch (SunOS(TM) 4.1x の場合)で達成することが出来ます。

    参考: Information on Virtual Hosts. (multihome)
    参考: Non-IP address-based Virtual Hosts


    検索文字
    このJAPACHE!ニュースグループへ
    ( japache.core ) | JAPACHE!ニュースについて | JAPACHE!ホームページへ

    このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。


    The English original manual is here.

    Index Home