Apache 2.4.9 構築 3 - 初期設定


今回はApacheの設定ファイルを修正しようと思ったんですが、設定ファイルであるhttpd.confを覗くとバージョン2.2.xと比べてずいぶんとすっきりした印象があります。
2.2.15のパッケージでインストールしたhttpd.confだとざっと1000行、2.4.9のソースコードからインストールしたhttpd.confだと約500行です。
パッケージとソースの違いなのか、バージョンの違いなのかよくわかりませんが、あまり初期の状態で弄るところはないので、必要に応じて設定を追加していく形になると思います。
ProxyとLoadBalancerの設定は別ファイルで用意すればいいと思っているので、今回は必要最小限の設定だけします。
インストールパスはそれぞれの環境に置き換えてください。

# vi /usr/local/httpd-2.4.9/conf/httpd.conf

# Apacheインストールパス。
# 以降ディレクティブの設定における相対パスはここが起点となります。
ServerRoot "/usr/local/httpd-2.4.9"

# ListenするIPアドレスまたはポートの指定
Listen 80

# サーバを実行するユーザとグループの指定 
User apache
Group apache

# エラーメッセージの中に記述される問い合わせアドレス
ServerAdmin <メールアドレス>

# サーバが自分自身を示すホスト名とポート
ServerName <ホスト名>:80

# サーバルートディレクトリの設定
# 一切の上書きと要求禁止
<Directory />
    AllowOverride none
    Require all denied
</Directory>

# ドキュメントルートの設定。Webからのリクエストに答えるドキュメントツリー。
# 今回はリバースプロキシとLBの用途なので、無効でいい気がします。
DocumentRoot "/usr/local/httpd-2.4.9/htdocs"
<Directory "/usr/local/httpd-2.4.9/htdocs">

    # Indexes : ファイル一覧表示可。
    # DirectoryIndex(下記)で設定されているファイルがない場合、ディレクトリファイルの一覧が丸見えになる
    # FollowSymLinks シンボリック先へのアクセスも許可する
    #Options Indexes FollowSymLinks
    Options FollowSymLinks

    AllowOverride None

  # Proxy、LBの設定で必要なさそうなら"Require all denied"にします。
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

# .htaccessのアクセスも無効
<Files ".ht*">
    Require all denied

# 外部ファイルの取り込み
# apache2.4.9ではconf.dディレクトリ内のファイル取り込み設定自体がなさそうなので、2.2.15のコメントそのまま追加
# どこでもいいと思いますが、2.2.15と同じLoadModuleディレクティブ群の後に追加しておきました。
# 取り込みファイルがない状態でhttpdを起動するとエラーになるので、設定ファイルを追加するまでは"Include conf.d/*.conf"をコメントアウトにしておきます。
#
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf

バージョン2.2.15にあったServerTokensやServerSignatureのディレクティブもデフォルトでは特に設定されていないようです。
セキュリティ的に懸念のあるものは基本無効になっているんですかね。

 

最新記事

 

参考サイト
http://httpd.apache.org/docs/current/mod/mpm_common.html
http://httpd.apache.org/docs/current/mod/core.html#servertokens
http://httpd.apache.org/docs/current/mod/mod_so.html
http://r7kamura.hatenablog.com/entry/20110222/1298371277
http://linux.kororo.jp/cont/server/httpd_conf.php
http://alfa.hatenablog.jp/entry/2013/07/03/222507

 

参考書籍
サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)