VineLinuxパフォーマンスアッププロジェクト:0032
■簡単なアクセス制限をかけてみよう!■
Webサーバを動かしていると、「特定のページだけはアクセス制限をかけて関係者だけ公開にしたい」という場合が必要なときがあります。そんな時、最も簡単なアクセス制限方法は.htaccessというファイルを作ることからはじまります。
※2009/ 9/22 VineLinux5.0以降の場合について追記しました。
apacheをインストールするとhtpasswdコマンドというのがあります。これを使って.htaccessファイルを作成します。
まずアクセス制限したいディレクトリに移動し、emacsなどで.htaccessというファイルを作成します。
emacs .htaccess
次に以下の内容をそのファイルに書き込みます(ただし赤字の部分をそれぞれ変更する必要があります)。
AuthType Basic
AuthName "apache_log"
AuthUserFile /home/httpd/html/log/passwd.dat
require valid-user
apache_logの部分はnetscape, firefox, deer parkなどで表示される認証ウィンドウのタイトルとなりますので好きな名前(英語)に変更してください。
また、/home/httpd/html/log/の部分はアクセス制限したいディレクトリの絶対パスを入力してください。ただし後でpasswd.datというファイルを作成する必要があるため、絶対パスの後にpasswd.datと入力してください。
その後、再度アクセス制限したいディレクトリ内に移動して、パスワードファイルを作成します。
★VineLinux4.2までの場合
htpasswd -c /アクセス制限したいディレクトリの絶対パス/passwd.dat アクセスを許すユーザ名
★VineLinux5.0以降の場合
htpasswd2 -c /アクセス制限したいディレクトリの絶対パス/passwd.dat アクセスを許すユーザ名
ここでの"-c"オプションは新規にファイルを作成するという意味です。これを実行すると「パスワードを入力せよ」と2回言われるので、自分で決めて入力してください。その後、
Adding password for user アクセスを許すユーザ名
と表示されればOKです。passwd.datファイルにはパスワードが暗号化されているので状況に合わせてファイルのパーミッションなどを変更してください。
VineLinuxのApacheならばこれだけでちゃんとパスワード要求のプロンプトが出るはずですが、もし出なかったりした場合は下のページを参考にしてください。
●ユーザー認証によるアクセス制限(ベーシック認証編)
http://www.atmarkit.co.jp/ait/articles/0110/23/news001_2.html