apacheのカスタマイズ

D:20021129 免責事項

apacheに関連して、いままでにカスタマイズしたところをまとめて報告。設定ファイルを編集したらその内容を反映させるためにapacheを再起動をすること。

# apachectl restart

いくつかの文字コードへの対応

訳あってウチのWEBサーバでは、同じディレクトリであっても、HTMLファイル毎に文字コードが異なる場合がある。そのため/etc/apache/httpd.confをつぎのように編集した。

<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.shtml index.cgi index.html.jis index.html.sjis index.html.euc index.html.utf8
</IfModule>
AddCharset EUC-JP .euc
AddCharset Shift_JIS .sjis
AddCharset UTF-8 .utf8

セキュアなディレクトリを用意する

Basic認証を使って特定ユーザのみが閲覧できるディレクトリをつくる。

  1. Basic認証を適用するディレクトリを決める

    ~/public_html/以下に認証ユーザのためのディレクトリをつくる

  2. パスワードファイルをつくり設置する[6]

    # htpasswd -c /etc/apache/passwd XXXXXXXX

    オプション-cは、ファイルを新規作成する時のみ使う。次回にユーザを追加する場合には不用。「XXXXXXXX」の部分は適宜ユーザ名を入れる

  3. .htaccessをつくり設置する

    Basic認証を適用するディレクトリへつぎの内容で.htaccessを設置する。「XXXXXXXX」の部分は適宜ユーザ名を入れる

    AuthType Basic
    AuthName Secure
    AuthUserFile /etc/apache/passwd
    Require user XXXXXXXX
    Require user XXXXXXXX
    	  

php4関連

php4のインストールに伴う/etc/apache/httpd.confの編集。

LoadModule php4_module /usr/lib/apache/1.3/libphp4.so

その他

ディレクトリのインデックスは見せないように/etc/apache/httpd.confを編集する。

Options MultiViews -Indexes SymLinksIfOwnerMatch IncludesNoExec


[6] 当初、エディタでPlain Textなパスワードファイルをつくってみたがまったく認証されなかった。Debianでは暗号化されたパスワードファイルのみ許されるようだ。