ホームページ  >  記事  >  運用・保守  >  Apache サービス構成の詳細説明

Apache サービス構成の詳細説明

王林
王林転載
2019-08-23 13:52:382922ブラウズ

Apahce 構成命令は、コア命令とサードパーティによって提供される命令の 2 つのブロックに分けることができます。 Apache では、各命令がモジュールに対応しており、すべてのモジュールの中で最も重要なものは core_module、so_module、http_module、mpm モジュールです。so_moudle を除き、他のモジュールをオフにしたり無効にしたりすることはできません。

1: httpd.conf

(1) メインサーバー部分

1、ServerName: Apache のデフォルトのホスト名を定義します。ドメインです。名前または IP アドレス

2、ServerRoot: サーバーが配置されているディレクトリを定義するために使用されます。このパスは通常、構成中に --prefix によって指定されます

3、DocumentRoot: Apache を指定するために使用されますページ サービスのルート ディレクトリを指定します。このパスは相対パスではなく絶対パスである必要があります。スペースがある場合は、引用符で囲む必要があります。

4. ServerAdmin: 送信するアドレス

5、ServerAlias と Alias: はすべてディレクトリのマップに使用されますが、ServerAlias はマップされたディレクトリを CGI スクリプト ディレクトリとして識別し、このディレクトリ内のすべてのファイルを扱いますCGI スクリプトとしてディレクトリに保存されます。ただし、Alias は通常のディレクトリにマッピングされているだけです

6、ユーザーとグループ: Apache 子プロセスの実行に使用されるユーザーとユーザー グループを定義するために使用されます

7、リッスン: に使用されますリスニングする Apache ポート番号を定義します

8、LoadModule コマンド: モジュールまたはターゲット ファイルをロードするために使用されますLoadModule cgi_module modules/mod_cgi.so_module

9、ErrorDocument: カスタム エラー ページ情報ErrorDocument 500 "不明なエラー" ErrorDocument 404 "/var/server/www/cgi-bin/missing_404.pl" ErrorDocument 402 http://www.nicky.com/error_402.html

10. オプション: これらを使用するディレクトリを決定します。

None: オプション コマンドは有効になりません

ExecCGI: 現在のディレクトリで CGI スクリプトの実行を許可します

includes: SSI 機能の使用

includeNOEXEC: SSI 機能は許可されますが、exec cgi および exec cmd 機能は無効になります。

Indexes: インデックス機能を有効にします。たとえば、リクエストが行われた場合ディレクトリ URLz にアクセスし、DirectoryIndex ディレクティブで指定されたインデックス ファイルがない場合、サーバーは要求されたディレクトリの内容のリストを自動的に返します。

FollowSymLinks: 現在の環境でのシンボリック リンクの使用を許可しますが、無視されます。 Location コンテナ内

#All: MultiViews を除くすべての機能とオプションを使用します。デフォルトのパラメーター

MultiViews: mod_negotiation モジュールによって提供されるマルチビュー機能を開始するために使用されます

11、ServerTokens: OS/Major/Full はエラー フッター情報の詳細に影響するため、通常は推奨されません。コンテナ: コンテナはモジュールに対して動作し、まずモジュールがロードされているかどうかを判定し、次にそれを処理するかどうかを決定します。つまり、判定結果が真の場合にのみ、コンテナ内の命令が実行されます。 false の場合はすべて無視されます。 または モジュールがロードされているかどうかを判断します


DirectoryIndexindex.html

ロードされている場合<br><br><IfModule! と入力して実行します。 mpm_netware_module> DirectoryIndexindex.html


ロードされていない場合は、<br>2 <IfDefine> コンテナ: 一連の条件が true の場合にのみカプセル化します。有効な命令はサーバーコンフィグ、仮想ホスト、ディレクトリ、.htaccessに作用しますが、IfModuleとの違いはモジュールが読み込まれているかどうかで判断するのに対し、IfDefineは条件で判断する点です<br>#Based on

LoadModule proxy_module modules/libproxy.so

##

3 <Directory> <DirectoryMatch> コンテナ:

ディレクトリ: カプセル化された命令を指定されたディレクトリまたはそのサブディレクトリで動作させます。このディレクトリは完全なパスである必要があります。もちろん、ワイルドカード * も使用しますか?ディレクトリと一致させるために、[] を使用して文字範囲を決定することも検討しましたが、どのタイプであっても /

## と一致させることはできません。

# 注文拒否、許可

すべて拒否

##

上記の例では、/var/apache/html ディレクトリへのアクセスを無効にします。 /var/apache/html へのリクエストはすべて拒否されます。

ディレクトリで正規表現を使用する場合は、~

注文拒否、許可

すべてから許可

DirectoryMatch: Directory と似ていますが、~ 記号を追加せずに通常の一致を直接受け入れることができる点が異なります。

## 注文拒否、許可

すべてから許可

<p>4 <Files> および <FilesMatch><br>Files: ファイルでのみ機能します。正規表現を使用するには、正規表現の前にワイルドカードと [] および ~ を使用することもできます<br><code>&lt ; ファイル "^\.css"><br> 注文拒否、許可<br>すべてから許可<br></Files>

FilesMatch: ~ 記号を追加しないファイル
<FilesMatch "\.(gif|jpe?g|png)$"><br>注文拒否、許可<br>すべてから許可<br></FilesMatch>

5 および : URL に対するアクセス制御のみを実行します

OrderAllow,Deny
Deny from All

URL が cgi で始まる場合は拒否されます
さらにたとえば、mod_status モジュールを使用して、URL リクエストを Apache モジュール ハンドラーにマップすることもできます:
<Location /server-status><br>SetHandler server-status<br></Location&gt ;

上記の構成を使用する場合。次に、/server-status にアクセスすると、Apache は処理のために mod_status モジュールに接続を渡し、Apache サーバー実行ステータス ページを返します。

コンテナ処理順序の問題:
Apache は、最初に処理します。 Directory コンテナ (ただし、正規表現を含む Directory と .htaccess は処理されません)、次に Files コンテナと FilesMatch コンテナ、次に Location コンテナと LocationMatch コンテナです。

<Location /var/ apache /html>

注文拒否、許可

## すべてから許可

#

##<ディレクトリ /var/apache/html>

# 注文の許可、拒否

# #すべてから許可

#www.jons.com から拒否

##

上記 たとえば, Apache は最初に コンテナを処理し、最後に処理された コンテナが以前の Directory 構成を上書きするため、ユーザーは www.json.com にアクセスできるようになります。 、辞書順にリストされます。短いものから長いものまで作業してください。

その他の関連する質問については、PHP 中国語 Web サイトをご覧ください: linux ビデオ チュートリアル

以上がApache サービス構成の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。