Apacheの設定ファイル、多すぎ〜(;´Д`)

DebianUbuntuとかも)を使い始めて、面食らうのがApacheの設定ファイルの構成かと思います。

  • apache2.conf
  • conf.d
  • envvars
  • httpd.conf
  • magic
  • mods-available
  • mods-enabled
  • ports.conf
  • sites-available
  • sites-enabled

とか分割されすぎ〜(;´Д`)ってなると思います。
慣れると分割されている方が、合理的でわかりやすいなぁとか思うようになったりします。

そもそもavailableとかenabledって何じゃこりゃって感じですよね。
availableの方に設定自体を書き込んで、有効化したいものだけenabledの方にシンボリックリンクします。
設定ファイルと、その設定の有効無効を分離しているのです。

まず、mods-ですが、Debianでは専用のコマンドが用意されています。

a2enmod rewrite

例えば、インストールしただけではApacheのモジュールは有効化されないので、上記のコマンドを打つ必要があります。

a2dismod rewrite

なんかエラーが発生した場合は、上記のように無効化して調べてみたり。
コメントアウトするよりはスマートですよね。
分割されていることによって、エラーの原因も把握しやすいですし。

sites-の方は、バーチャルドメインでたくさんのサイトを管理する際には便利だと思います。

a2ensite www.sample.com
a2dissite www.sample.com

とは言うものの、どのファイルにどの設定したかとかいちいち覚えてはいないので、

find . -print0 | xargs -0 grep cgi /dev/null

などと打ち込むはめにはなります(´Д⊂ヽ