読者です 読者をやめる 読者になる 読者になる

ここにタイトルが入ります

デザイン&プログラミングのことも書くし、それ以外のことも書く。

【apache】Digest認証の設定

dev-tips

RedmineをCentos5.7にインストールし、apacheとPASSENGERを設定してチームで使えるようにしました。
(Passengerが何を受け持っているのかはちょっと良くわかってない… Railsapacheで動かすのに必要、ぐらいの認識。。)

Redmine 1.2をCentOS 5.6にインストールする手順 | Redmine.JP Blog
↑基本はこれにそってやればOK。ありがたい!↑

で、LANの外からでも見れるようにしてあるので、
Digest認証の機能を加えました。


〜Digest認証の設定〜

apacheの設定ファイルであるhttpd.confに、

<Location /redmine>
    AuthType Digest
    AuthName "Digest Auth"
    AuthUserFile /usr/local/apache2/.htdigest
    Require valid-user
</Location>

を記述。

また、IDとパスワードの組み合わせを保存しておくFileを作りましょう。

htdigest -c /usr/local/apache2/.htdigest 'Digest Auth' secret

場所は特にどこでもいい、のかな?

※このあたり+αを参考に… ありがたし。
@IT:Apacheでユーザー認証を行うには(Digest認証編)

apacheを再起動しRedmineのページをブラウザから開いてみると、確認ウインドウがぴょこっと出てきます。
が、設定したパスワードを入れても認証されません

どうやらdigest認証用のapacheのモジュールが指定されていないと、認証してくれないそう。
認証画面はでてくるので紛らわしいですね。
以下をhttpd.confに加えます。

LoadModule auth_digest_module modules/mod_auth_digest.so

としてapacheを再起動すると、エラー。。
モジュールがない、らしい。


〜モジュールのインストール〜

どうやらapacheには色々な機能を実現するモジュールが含まれているのですが、インストール時に指定しないと
デフォルトではインストールしてくれないそうです。Digest認証のためのモジュールもそう。

apxsというものを使って(下記記事参照)モジュールをコンパイルするとmod_auth_digest.soというファイルができるので、
それをmoduleディレクトリ(だったかな?)においてください。
apache再起動時に読み込んでくれるはずです。

apacheのバージョンによってモジュールのある場所とか.soファイルのできる場所とか変わるのでご注意くださいな

このあたりを参考に。参考になりました!
apache2.2、mod_auth_digestを使う - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥


※2013/5/6追記
どうやら
「動的コンテンツに対してBASIC/Digest認証を掛ける場合はLocationを使う」必用があるそうです。

〜参考になりました!〜
Google グループ



いやー、勉強になるけど何するのにも時間かかって申し訳ないっす。