任意のURLに入ろうとしたときにアクセス制限をかけたい、ということで今回はBasic認証について調べてまとめました。 <環境> CentOS 6.4 Apache 2.2.15 Basic認証とは サイトやディレクトリへのアクセス制限方法のひとつ。限定されたユーザにのみサイトやページへのアクセスを許可したい場合に用いられる。 BASIC認証への道 ユーザへのパスワード発行 htpasswdコマンドを使ってユーザにパスワードを発行します。今回は初めて設定するということで以下のコマンドを使用しました。 htpasswd -c -b /etc/httpd/conf/.htpasswd ユーザ名 パスワード オプション -c : 新しいパスワードファイルを作成する。既存ファイルがあった場合は上書きされる。 オプション -b : パスワードを対話式ではなくコマンドライン引数として入力できるようにする。 *すでにhtpasswdファイルがある場合かつそれに追記したい場合はオプション -c を外してください。 特定サイトへのBasic認証設定 エディタでApacheの設定ファイル /etc/httpd/conf/httpd.conf を開いてください。ここではviを使います。 vi /etc/httpd/conf/httpd.conf そして最終行に下記を記述してください。 AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "Basic Auth" AuthType Basic Require valid-user 上記例では phpMyAdmin にアクセスしようとしたときにBASIC認証が行われるように設定しました。 最後に、Apacheを再起動してください。 /etc/init.d/httpd restart これでphpMyAdminのBasic認証設定が完了しました。 これで大丈夫!かと思ったらBasic認証は盗聴や改竄が簡単にできてしまうという欠点があるらしいです。これを防ぐためにDigest認証というのがあるみたい。。。後日調べてまとめてみようと思います。 最後までお読みいただきありがとうございました。