[Linux]Apacheインストール後の簡易設定

 Fedora(on VMware on WinXP)にApacheをインストールすると、たいていの場合、httpd.confを書き換えずとも動いてしまうのですが、phpを走らせるときにたまに必要になる.htaccessを有効にしたり、インデックス表示をオフにしたり、デフォルトのcharsetをオフにしたりといった設定をしておいたほうがよさそうなので、設定の備忘録。以下、指定のない限りはhttpd.confファイルの設定です。

 まずは、<Directory "/var/www/html">ディレクティブ内の設定。

#    Options Indexes FollowSymLinks
Options FollowSymLinks

#    AllowOverride None
AllowOverride All

 Optionsディレクティブは、特定のディレクトリに対して、使用できる機能を指定できます。初期設定ではIndexesFollowSymLinksが有効になっていました。Indexesは、ディレクトリへのアクセス時にインデックスファイルがない場合にmod_autoindexにファイル一覧を自動生成してもらうオプションです。昔はよく使われていた機能ですが、最近ではあまり見かけなくなりました。思わぬセキュリティホールになりかねないのでこのオプションは無効にしておきましょう。FollowSymLinksは、このディレクトリ内でシンボリックリンクを辿ることを許可します。私はたまにシンボリックリンクを使うことがあるので、このオプションは残したままにします。これ以外のオプションはApacheのOptionsディレクティブの解説を参照のこと。

 AllowOverrideディレクティブは、.htaccessファイルを用意したときに、どの機能を許可するのかを指定できます。デフォルトではNoneになっているので、.htaccessファイルは無視されます。いくつかの指定できるキーワードがありますが、どの機能も使いそうな気がするので、ここではAllを指定してすべての機能が使用できるようにしておきます。

次は、AddDefaultCharsetディレクティブをオフにします。

#コメントアウト
#AddDefaultCharset UTF-8

 AddDefaultCharsetディレクティブは、ファイルのコンテントタイプがtext/plaintext/htmlのときに、強制的に文字エンコードを指定する機能です。<meta>タグで指定した文字エンコードも無効にする可能性があります。思わぬバグの原因になりかねないので、Offを指定するか、ディレクティブ自体をコメントアウトしてしまいます。昔はNoneというキーワードを指定する人が居たようですが、そのキーワードは定義されていないので指定できません。

 おまけで、phpのソースコードを表示するのによく用いられる拡張子phpsも有効にします。設定ファイルは、/etc/httpd/conf.d/php.confです。

#コメントアウトをはずす
AddType application/x-httpd-php-source .phps

 phpの設定ファイルが別途にあるのが少し戸惑いました。

About: uechoco