1: 2009-08-19 (水) 01:12:17 maruo ソース
Line 1: Line 1:
 +[[Gentoo Linuxな生活/サーバ設定関連]]
 +*もともとユーザ認証が無いページに認証を追加する [#h59d1d10]
 +ログイン画面がないページだけど、ユーザ認証させたいようなときってありますよね。これを実現してみたいと思います。方法は2種類あります。
 +-htpasswdという平文認証を用いるパターン
 +-htdigestというMD5暗号化認証を用いるパターン
 +
 +htpasswdだとネット上を平文でパスワードが流れるため、結構危険です。これはいやなので、MD5ダイジェスト認証を用いる方法で行ってみます。
 +
 +*まずパスワードファイルを作る。 [#ra85374c]
 +パスワードファイルを作ってみましょう。このパスワードは、基本的にapacheからアクセスできるコンテンツの中に入れるのはセキュリティ上好ましくないので、/etc/apache2に下においてみます。
 + # htdigest2 -c /etc/apache2/userpasswd "User Only" testuser
 + Adding password for a in realm User Only.
 + New password: パスワード
 + Re-type new password: パスワード
 +
 +これでtestuserさんのパスワードがこのファイルに設定されました。で、このパスワードファイルの情報を使って認証させたいページを、先ほど登場したhttp://foo.bar.com/boardにしたいとします。
 +
 +*apacheの設定を変更する [#y1e9cce5]
 +ここで、/etc/apache2/conf/commonapache2.confを開きます。
 +
 + <Directory /home/var/www/localhost/htdocs/board>
 +   Options -Indexes FollowSymLinks MultiViews
 +   AllowOverride All
 +   SSLRequireSSL  ←SSLしかゆるしません(一つ前の設定が残ってるのね)
 +   AuthType Digest  ←MD5ダイジェスト認証を要求 
 +   AuthName "User Only" ポップアップするパスワード入力窓に表示させるメッセージ
 +   AuthDigestFile /etc/apache2/userpasswd ←パスワードファイルの指定
 +   require valid-user      ←パスワードファイルに記述されている全てのユーザが参照できる
 +   <IfModule mod_access.c>
 +         Order deny,allow
 +         Allow from all
 +   </IfModule>
 + </Directory>
 +
 +で、apacheを再起動します
 +
 + # /etc/init.d/apache2 restart
 +
 +この設定ですと、http://foo.bar.com/boardだと''Forbidden''ですね。https://foo.bar.com/boardだと、パスワード入力窓がポップアップします。ユーザ名、パスワードを入力してOKだと画面が参照できます。NGだと、アクセスがはじかれますよね?これで完成っす♪


トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 5535, today: 1, yesterday: 1
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード