htaccess,htpasswdで基本認証
htaccess,htpasswdで基本認証
0.改訂履歴
- 2006.02.16 新規作成
- 2006.02.20 微調整
1.はじめに
このドキュメントでは,Apache2の環境に,基本認証を設定する. 基本認証とは,Webサイトにアクセスする際に,ユーザとパスワードを入力させる認証方式. パスワード情報などを送信するときに暗号化等が施されていないので,注意する.
2.パスワードを設定する
- apacheの付属モジュールでるhtpasswdコマンドを探す.
[root@uranos2 securedir]# locate htpasswd|grep bin
/usr/local/apache2/bin/htpasswd
[root@uranos2 securedir]#
|
[root@uranos2 securedir]# pwd
/www/uranos2test/htdocs/securedir
[root@uranos2 securedir]#
|
- 新規で作成する場合,htpasswdコマンドを,-cを指定して実行する.
[root@uranos2 securedir]# /usr/local/apache2/bin/htpasswd -c .htpasswd shinnai
New password: ■■■■■■■■■
Re-type new password: ■■■■■■■■■
Adding password for user shinnai
[root@uranos2 securedir]#
|
[root@uranos2 securedir]# ls -la .htaccess
-rw-r--r-- 1 root root 22 Feb 16 15:47 .htpasswd
[root@uranos2 securedir]#
|
[root@uranos2 securedir]# cat .htaccess
shinnai:Sd.NMk03jQGys
[root@uranos2 securedir]#
|
- 次に,ユーザtanakaを追加する.このときは,オプションで-cをつけないで実行する.
[root@uranos2 securedir]# /usr/local/apache2/bin/htpasswd .htpasswd tanaka
New password: ■■■■■■■■■
Re-type new password: ■■■■■■■■■
Adding password for user tanaka
[root@uranos2 securedir]#
|
[root@uranos2 securedir]# cat .htpasswd
shinnai:Sd.NMk03jQGys
tanaka:XSt3i8jSGcv1I
[root@uranos2 securedir]#
|
- 追加されていることが確認できた.
- もう一度,-cオプションをつけて実行する,.
[root@uranos2 securedir]# /usr/local/apache2/bin/htpasswd -c .htpasswd shinnai
New password: ■■■■■■■■■
Re-type new password: ■■■■■■■■■
Adding password for user shinnai
[root@uranos2 securedir]#
|
[root@uranos2 securedir]# cat .htaccess
shinnai:Sd.NMk03jQGys
[root@uranos2 securedir]#
|
- 以前の設定が全て消えていることがわかる.
- 警告など何も出ないで上書きされてしまった.
- パスワードファイルは,バックアップをとるようにする.
[root@uranos2 htdocs]# cp .htpasswd .htpasswd.20060220
[root@uranos2 htdocs]#
|
- httpd.confに,次のような記述を追加する.
#
# securedir
#
Alias /securedir /www/uranos2test/htdocs/securedir
<Directory "/www/uranos2test/htdocs/securedir">
AllowOverride AuthConfig
AuthType Basic
AuthUserFile "/www/uranos2test/htdocs/securedir/.htpasswd"
AuthName "Member Certification"
Require valid-user
AllowOverride None
</Directory>
|
[root@uranos2 securedir]# /etc/init.d/httpd stop;/etc/init.d/httpd start
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@uranos2 securedir]#
|
- 指定したURLにアクセスして,認証が掛かっていることを確認する.