【WEBサーバ】Apache2設定ファイル

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 バーチャルホスト