Aapcheで稼働しているWebサーバ上で,特定のページをパスワードで認証をかけたい!
そのために,今回はDigest認証を行いました.一般的にベーシック認証もありますが,こちらの方がより安全とのことです.
ダイジェスト認証を設定する(AdminWeb)に従って進めました.
認証の準備
htdigestを使用するそうですが,インストールされていなかったためapt-getでインストールしました.$ htgiest -bash: htgiest: command not found $apt-cache search htdigest apache2-utils - Apache HTTP Server (utility programs for web servers) $sudo apt-get install apache2-utils
また,Apache2のDigest認証のモジュールも有効にします. その後は当然再起動が必要ですが,まだApache2の設定が必要であるため,あとでまとめてやります.
$sudo a2enmod auth_digestそれでは,/etc/apache2/.digestpassをパスファイルとして自分の認証キーを追加します.
$sudo htdigest -c "/etc/apache2/.digestpass" "Digest Authentication" hiroyky New password: Re-type new password: $sudo cat /etc/apache2/.digestpass ←確認
Apacheの設定
今回は,ディレクトリではなくURL毎に制限を掛けたかったため先ほどのページとは異なり Locationで制限をかけました.といってもやり方は同じです.サイトの設定ファイルを編集します. 以前,gitlistを稼働させましたが,チームのメンバーだけなど限られた人のみが閲覧できるリポジトリにしたかったわけなのです. http://<my domain>/gitlist 以下を全て認証を行うようにします.$sudo emacs /etc/apache2/sites-avairable/<サイトの設定ファイル>で,Apacheを再起動します.AuthType Digest AuthName "Digest Authentication" ←htdigestコマンドの2つめの引数,認証名と同じにする AuthUserFile "/etc/apache2/.digestpass" Require valid-user
$sudo service apache2 restart