研究室のホームページにベーシック認証をつけたかったのだが,うまくいかなかった.
先生にアドバイスしてもらったLinuxサーバの設定変更を含めて,やり方をまとめておこうと思う.
【目的】
ホームページにベーシック認証を設定すること.
【手順】
1. サーバーにベーシック認証の許可を設定する
(1) /etc/http/conf/で,httpd.confを開く.
(2) htmlを管理している < Directory /home/httpd/html >の記述を探す.
(3) その下側で次の記述を探す.
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
AllowOverride All
(4) 最後の行のAllowOverrideの後が,Allになっていればサーバーでベーシック認証が可能.
Noneと記述されているとベーシック認証がつかえないので,Allに書き直す.
(5) /etc/httpd/conf/httpd.conf の編集後は変更を反映させるために Apache の再起動が必要となります.次に示す再起動のコマンドを実行してください.
/etc/init.d/httpd restart
2. .htaccessと.htpasswdを設定する.
(1) ファイル.htaccessを作り,以下を記述する.
AuthUserFile フルパス/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
deny from all
[変更必須]
AuthUserFile
認証をかけたいフォルダ(.htpasswdを置いた場所)を記述(フルパスor相対パス)
フルパスの場合,ホームページを表示させるものとは違うのでサーバーを確認すること.
(例1)AuthUserFile ~/255.255.255.255/home/data/.htpasswd
(例2)AuthUserFile /home/chama/.htpasswd
(例3)AuthUserFile /web/cgi-bin/cargo/data/.htpasswd
[変更可能]
3行目のAuthName "Input ID and Password."
""の中の記述は自由に変更可能です.
(2)ファイル.htpasswdを作り,以下を記述する.
chama:gjIekbT.nmR52
:の前は → user名
:の後は → 暗号化したパスワード
暗号化したパスワードの作り方は,サーバー上でできるんだけどちょっと不安なので今回はスルーする.
変わりに,すばらしいサイト生成してもらって.htpasswdに記入する.
ユーザーとパスワードの組み合わせを複数作りたければ,必要な分だけ記述すればよい.
ただし,あまり多くのユーザー名を扱う場合にはDBを使った方法をやってみたほうがよい.
(3).htaccessと.htpasswdのパーミッションは604が良いらしい.
3. サイトにベーシック認証が適応されていることを確認する.IDとPWを入力し正しければ表示され,正しくないときは表示されないことを確認する.
【参考サイト】
ベーシック認証
Turbolinux 11 Server: ユーザーガイド
パーミッションの壁
2008年5月1日木曜日
Linuxでベーシック認証の設定
ラベル:
linux
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿