pgintro.net

Apache

作成日時:2018/05/18

更新日時:2018/05/18

スポンサーリンク

ログファイル

以下ディレクトリに各種ログファイルが格納されています。

/var/log/httpd/

また、以下が「/var/log/httpd」へのシンボリックリンクになっているため、こちらでもログファイル格納ディレクトリにアクセス可能です。

/etc/httpd/logs/

設定ファイル

/etc/httpd/conf/httpd.conf

以下コマンドのいずれかで設定ファイルの構文チェックが行えます。

$ apachectl configtest
$ apachectl -t
$ httpd -t

設定ファイルに設定可能な項目一覧表示

$ httpd -L

設定ファイルに記述可能なディレクティブ

設定ファイルに以下のディレクティブを設定することにより、動作を変更可能です。

設定ファイルに記述が無い場合はデフォルトの設定値が適用されます。

ディレクティブ 説明
Timeout 通信のタイムアウト秒数を指定します。
デフォルト値:300
Timeout 300
KeepAlive HTTP接続の持続有効化を指定します。
引数にはOnまたはOffを設定。
デフォルト値:On
MaxKeepAliveRequests KeepAliveが有効な場合の許可リクエスト数を指定します。
デフォルト値:100
KeepAliveTimeout 持続的な接続で、接続を閉じるまでのタイムアウト秒数を指定します。
デフォルト値:5
Listen サーバがlistenするIPアドレス、ポート番号を指定する
User リクエスト応答の際に使用するユーザを指定します。
ユーザ名または、#の後にユーザ番号で指定可能です。
Group リクエスト応答の際に所属しておくグループを指定します。
グループ名または、#の後にグループ番号で指定可能です。
ServerAdmin エラーメッセージ等でクライアントに返す問い合わせアドレスを設定します。
メールアドレスまたはURLを指定可能です。
デフォルト値:root@localhost
ErrorLog エラーログの格納先を指定します。相対パスの場合はServerRootからの相対パスとしてみなされます。
デフォルト値:logs/error_log
LogLevel エラーログへ記録するメッセージの冗長性を指定します。
引数には以下の値が設定可能です。
  • emerg
  • alert
  • crit
  • error
  • warn
  • notice
  • info
  • debug
デフォルト値:warn
ServerRoot サーバが存在するディレクトリを設定します。他の設定の相対パスはこのパスからの相対パスになります。
ServerTokens 応答ヘッダに含める情報を設定します。
指定可能な値は以下
  • Prod(ProductOnly)
  • Major
  • Minor
  • Min(Minimal)
  • OS
  • Full
デフォルト値:Full
ServerSignature エラーページなどのフッターの表示設定を行います。
指定可能な値は以下
  • On
  • Off
  • EMail
デフォルト値:Off
Options
  • ディレクトリに対して使用可能な機能を設定します。オプションの前に+をつけると現在の設定に加える、-をつけると現在の設定から削除する
  • All - MultiViewsを除くすべての機能を有効にする
  • ExecCGI - CGIスクリプトの実行を許可する
  • FollowSymLinks - このディレクトリ内でシンボリックリンクを辿れるか指定する
  • Includes - SSIを有効にする
  • IncludesNOEXEC - SSIは有効にするがexecコマンドとexec CGIは無効にする
  • Indexes - ディレクトリに対してアクセスがあり、かつDirectoryIndexで設定したファイル(デフォルトでは)がない場合にディレクトリ内の一覧を返すか設定する
  • MultiViews - MultiViewsを許可する
  • SymLinksIfOwnerMatch - シンボリックリンク先がシンボリックリンクの所有者と同じユーザIDの場合にのみリンクを許可する
  • None - 特殊な設定を全て無効にする
デフォルト値:All
PidFile デーモンのプロセスIDを記録するファイルの設定を行います。
デフォルト値:logs/httpd.pid
Alias
  • DocumentRoot以外にドキュメントを保管できるように設定します。
  • 例)URLパスに「/html」ファイルパス/ディレクトリパスに「/var/www/html」を指定した場合
  • 「ホスト名/html/test」にアクセスした場合「/var/www/html/test」を実行する
ScriptAlias
  • DocumentRoot以外にCGIスクリプトを保管できるように設定する
  • 例)URLパスに「/cgi」ファイルパス/ディレクトリパスに「/var/www/cgi」を指定した場合
  • 「ホスト名/cgi/test」にアクセスした場合「/var/www/cgi/test」を実行する
AddIcon FancyIndexingが有効な場合に表示するアイコンを設定する
AddIconByType FancyIndexingが有効な場合に表示するアイコンを設定する
AddIconByEncoding FancyIndexingが有効な場合に表示するアイコンを設定する
DefaultIcon FancyIndexingが有効な場合に表示するアイコンが設定されていなファイルに表示するアイコンを設定する
LogFormat ログファイルの書式を設定する
CustomLog ログファイル名と書式を設定する

設定ファイルに記述可能なセクションコンテナ

セクションコンテナでディレクティブを囲うことにより、ディレクトリやファイル等の条件を指定可能です。

セクションコンテナ説明
<Directory>指定ディレクトリとそのサブディレクトリのみに適用する
<IfModule>指定モジュールが含まれているかどうかによってスコープないの設定を適用するか

起動スクリプト

/etc/rc.d/init.d/httpd

「/etc/init.d」が「/etc/rc.d/init.d」へのシンボリックリンクになっているので以下でも動作します

/etc/init.d/httpd

httpd起動

/etc/rc.d/init.d/httpd start

httpd停止

/etc/rc.d/init.d/httpd stop

httpd再起動

/etc/rc.d/init.d/httpd restart

serviceコマンドでも同じスクリプトを起動します

httpd起動

service httpd start

httpd停止

service httpd stop

httpd再起動

service httpd restart

テストページ

/etc/httpd/conf.d/welcome.conf

最初に設定すべき項目

応答ヘッダの情報を最小限にするため、設定ファイルの「ServerTokens」を「Prod」にする

エラーページなどのフッターの表示を消すため、設定ファイルの「ServerSignature」を「Off」にする

ディレクトリにアクセスした場合、ディレクトリ内の一覧を表示させないように「Options」の「Indexes」を無効にする

「ホスト/icons/README」が閲覧できてしまう状態なのを解消するため、以下の部分をコメントアウト

Alias /icons/ "/var/www/icons/"

<Directory "/var/www/icons">
  Options -Indexes MultiViews FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>