ApacheのBasic認証の設定方法を紹介します。Basic認証は、サーバ上の特定ディレクトリをパスワード保護することができます。しかし、欠点としてパスワードが暗号化されないため、機密性の高いデータへの認証には適していないので注意してください。
今回は、「/home/aaa/」を公開ホルダーとして、その内部の「/home/aaa/admin/」をパスワードで管理します。パスワードファイルを管理する場所として「/usr/local/apache/password/」に保管します。「password」はデフォルトではないので、フォルダーを作成してください。
1. フォルダーの作成
Basic認証で管理する予定のフォルダーを作成してください。
[root@localhost ~]# mkdir /home/aaa/admin
パスワード管理フォルダーの作成
[root@localhost ~]# /usr/local/apache/password/
2. パスワードファイルの作成
[root@localhost ~]# cd /usr/local/apache2/bin
[root@localhost ~]# ./htpasswd -c /usr/local/apache2/passwd/passwordfile (ユーザー名)
New password:(パスワード)
Re-type new password:(パスワード)
上記の「passwordfile」がパスワードファイルになります。ファイル名は自由です。
3. Apacheの設定
ApacheのVirtualHostで公開フォルダーを管理しているので、httpd-vhosts.conf ファイル変更内容を記述します。VirtualHostについては、以前紹介した「Apache 2.2.X のVirtualHostの設定」を参考にしてください。
[root@localhost ~]# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf
以上の様に設定が完了しましたら、apacheを再起動します。
[root@localhost ~]# /usr/local/apache2/bin/apachectl restart
4. 確認作業
ブラウザで「http://www.aaa.jp/admin」にアクセスし、認証画面が出たら、先ほど設定したユーザー名とパスワードでログインしてください。ログインできればOKです。