#Apache関連の暗記を行う
Apache関連は暗記が多いので、理解と暗記をはかる
##インストール作業
■パッケージを利用する方法と、ソースからコンパイルする方法がある
■ソースからの場合は、configure - make - make installの流れ
confitureスクリプトの代表的なオプション
|オプション|説明|
|:-----------:|:------------:|:------------:|
|prefix=ディレクトリ|インストール先ディレクトリ||
|--sysconfdir=ディレクトリ|設定ファイルのディレクトリ||
|--enable-module=モジュール|標準モジュールを組み込む||
|--disable-module=モジュール|標準モジュールを組み込まない||
|--enable-shared=モジュール|標準モジュールをDSOで組み込む||
|--disable-shared=モジュール|標準モジュールをDSOで組み込まない||
■apacheのメイン設定ファイル:https.conf
■ソースからのインストールの場合のPATH ↓
|ファイル・ディレクトリ|説明|
|:-----------:|:------------:|:------------|
|/usr/local/apache2/conf/httpd.conf|メイン設定ファイル|
|/usr/local/apache2/conf/extra/|補助設定ファイルを格納するディレクトリ|
|httpd-laungages.conf|言語・文字コードの設定|
|httpd-userdir.conf|一般ユーザーのホームディレクトリ設定|
|httpd-info.conf|server-inifo、server-statusの設定|
|httpd-vhosts.conf|バーチャルホストの設定|
|httpd-default.conf|デフォルトサーバー全般設定|
|httpd-ssl.conf|SSL/TLSの設定|
■設定ファイル(Red Hat系) ↓
|ファイル・ディレクトリ|説明|
|:-----------:|:------------:|:------------|
|/etc/httpd/conf/httpd.conf|メインの設定ファイル|
|/etc/httpd/conf.d/|補助設定ファイルを格納するディレクトリ|
|ssl.conf|SSL/TLSの設定|
|php.conf|PHPモジュールの設定|
|perl.conf|Perlモジュールの設定|
■設定ファイル(Debian系) ↓
|ファイル・ディレクトリ|説明|
|:-----------:|:------------:|:------------|
|/etc/apache2/apache2.conf|メインの設定ファイル|
|/etc/apache2/|補助設定ファイルを格納するディレクトリ|
|/etc/apache2/ports.conf|ポートの設定|
|/etc/apache2/sites-enabled/|サイトの定義ファイルへのリンク|
|/etc/apache2/sites-avaliable/|サイト定義ファイル|
##httpd.confの詳解
■適用範囲を指定可能
ファイル指定:<Files ファイル名>...</Files>
ディレクトリ指定:<Directory ディレクトリ名>...</Directory>
URLを指定:<Location URL>...</locarion>
■主な設定例
|書式|説明|
|:-----------:|:------------:|:------------|
|Server Tokens Prod/Major/Minor/Min/OS/Full|HTTPヘッダに出力される情報|
|ServerRoot パス|httpdが利用するトップディレクトリ|
|ServerName サーバーのホスト名|Apacheが稼働しているホスト名|
|ServerAdmin メールアドレス|サーバー管理者の連絡先メールアドレス|
|StartServers 子プロセス|起動時の子プロセスの数|
|MinSpareServers 子プロセス|待機子プロセスの最少数|
|MaxSpareServers 子プロセス|待機子プロセスの最大数|
|ServerLimits 子プロセス数|生成されるプロセスの上限を指定|
|MaxClients 同時接続数|同時接続数(Apache2.2)|
|MaxRequestWorkers 同時接続数|同時接続数(Apache2.4)|
|Timeout タイムアウト時間|クライアントからの接続がタイムアウトになるまでの時間|
|KeepAlive on/off|TCO接続をキープするか否か|
|MaxKeepAliveRequests |上限リクエスト数|
|KeepAliveTimeout|タイムアウト時間|
|Listen [IPアドレス;] ポート番号|待ち受けるポート番号(デフォ80)|
|user|httpd子プロセスの実行ユーザー(apache,nobodyなどの一般ユーザーで動作)|
|group|httpd子プロセスの実行グループ|
|DocumentRoot ディレクトリパス|ドキュメントルートとなるディレクトリ|
|userDir 公開ディレクトリ/disable|一般ユーザの公開ディレクトリを指定|
|DirectryIndex インデックファイル名|インデックスとして返すファイル名|
|ErrorLog|ログファイルのパス|
|LogLevel ログレベル|エラーログのログレベルを指定|
|LogFormat "フォーマット" 書式|記載する項目と書式名を定義|
|CustomLog ログファイル名 ログ書式名|ファイル名と、LogFormatで定義した書式を指定|
|HostnameLookups on/off|DNSの逆引きからホスト名を取得するか|
|Alias ディレクトリ パス|ドキュメントツリー以外の場所を参照させる(サーバー側が処理)|
|rediret|指定したURLへて転送(クライアント側が処理)|
|ScriptAlias|CGIスクリプト用ディレクトリの指定|
|ErrorDocument エラーコード ファイル名/文字列/URL|エラーの発生時に表示されるドキュメントor文字列|
|options|ディレクトリごとにオプション異能を設定|