RedHatとDebianでApache2の仕様がだいぶ違うので、メモ程度に記載。
RedHatはVMのCentOS、DebianはRaspberry PiのRaspbainを元にしています。
RedHat:設定は「httpd.conf」で行う。
Debian:設定は外部設定ファイルで行い、かつ、利用する機能分をシンボリックリンクで別管理する。
下記に詳細。
-
RedHat(CentOS)
【基本設定ファイル】
/etc/httpd/conf/httpd.conf
ServerTokensの設定、Timeoutの設定、
利用モジュールの配置場所、利用モジュールの設定ファイル配置場所
バーチャルホスト設定等を設定する。例) /etc/httpd/conf/httpd.conf # ServerTokensの設定 ServerTokens Prod # Timeoutの設定 Timeout 60 # 利用モジュールの配置場所 LoadModule rewrite_module modules/mod_rewrite.so # 利用モジュールの設定ファイル配置場所 include conf.d/ssl.conf # バーチャルホスト設定 <VirtualHost *:80>
【利用モジュールの設定ファイル】
/etc/httpd/conf.d/モジュール.conf
利用モジュールの各種動作を設定する。例) /etc/httpd/conf.d/ssl.conf # 証明書のパス SSLCertificateFile 証明書のパス
-
Debian(Raspbain)
【基本設定ファイル】
/etc/apache2/apache2.conf
Timeoutの設定、追加設定ファイル配置場所、
利用モジュールの配置場所、利用モジュールの設定ファイル配置場所、
バーチャルホスト設定ファイル配置場所等を設定する。
ServerTokensの設定は追加設定ファイルで行う。例) /etc/apache2/apache2.conf # Timeoutの設定 Timeout 60 # 追加設定ファイル配置場所 Include conf.d/ # 利用モジュールの配置場所 Include mods-enabled/*.load # 利用モジュールの設定ファイル配置場所 Include mods-enabled/*.conf # バーチャルホスト設定ファイル配置場所 Include sites-enabled/
【追加設定ファイル】
/etc/apache2/conf.d/追加設定名
ServerTokensの設定、文字コードの設定を行う。例) /etc/apache2/conf.d/security # ServerTokensの設定 ServerTokens ProductOnly
【利用モジュールの設定ファイル】
/etc/apache2/mods-available/モジュール.conf
利用モジュールの各種動作を設定する。例) /etc/apache2/mods-available/dav_svn.conf # SVNのパス SVNParentPath /var/www/svn
【バーチャルホスト設定ファイル】
/etc/apache2/sites-available/バーチャルホスト
バーチャルホストを設定する。例) /etc/apache2/sites-available/default <VirtualHost *:80>
-
「/etc/apache2」のディレクトリ構成
apache2.conf
├ conf.d/security
├ mods-enabled/モジュール.load ⇒ mods-available/モジュール.load
├ mods-enabled/モジュール.conf ⇒ mods-available/モジュール.conf
└ sites-enabled/バーチャルホスト ⇒ sites-available/バーチャルホスト基本設定ファイルに記載している「mods-enabled」、「sites-enabled」には
実ファイルではなく、シンボリックリンクが配置されており、
実ファイルは「mods-available」、「sites-available」に配置されている。モジュールの有効化と無効化
a2enmod モジュール a2dismod モジュール
バーチャルホストの有効化と無効化
a2ensite バーチャルホスト a2dissite バーチャルホスト