Basic認証とは?
Basic認証とは、サイトにアクセスした際に「ユーザ名」と「パスワード」を入力しないとアクセスできないようにする設定のことです。公開前のテストページをクライアントに確認していただく際や、特定の人にのみ公開する場合にBasic認証の設定を行います。
Basic認証の設定方法
以下の流れで、Basic認証の設定を行います。
- パスワードファイルを作成(.htpasswd)
- .htaccessファイルを作成・編集
- Basic認証の動作確認
パスワードファイルを作成(.htpasswd)
.htpasswdを作成
まずは下記サイトで、.htpasswd
を作成します。

サイトにアクセスすると下記画面が表示されるので、IDとパスワードを入力した後、左下の「.htpasswd作成」ボタンを押してください。
このサイトにも記載されていますが、パスワードは9文字以上の分は無視されてしまうので、8文字以内で入力しましょう。

「.htpasswd
」が生成されるので、コピーしてメモ帳(macであればテキストエディット)に貼り付けましょう。メモ帳をテキストファイルとして保存し、「htpasswd.txt
」とリネームします。その後、Basic認証をかけたい場所にアップロードし、サーバー上で「.htpasswd
」とリネームしてください。

.htaccessファイルを作成・編集
.htaccessファイルには下記コードを入力します。各項目についての詳細は下記に記載しました。
AuthType Basic
AuthName "Basic Authentication"
AuthUserFile /path/to/.htpasswd
Require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
Basic認証をかけたい場所に既に.htaccess
ファイルが存在する場合は、直接追記してください。存在しない場合は、まずメモ帳に上記コードを入力し、htaccess.txt
とリネームしてサーバーにアップロードしましょう。その後、サーバー上で、「.htaccess
」とリネームしてください。
AuthType
AuthType
には認証の種類を設定します。今回はBasic認証をかけたいので、「Basic
」と記述します。
AuthName
AuthName
では、Basic認証の名前を入力します。
AuthUserFile
AuthUserFileには、.htpasswd
ファイルのサーバーパス(ルートディレクトリからファイル名まで)を入力します。間違えてサイトのURLを入力してしまうとBasic認証がかけられないので注意しましょう。
サーバーパスは、FTPサーバー上で確認することができます。設置した.htpasswd
ファイルを選択するとサーバーパスが表示されるので、コピペしてルートディレクトリからファイル名まで含めたパスをAuthUserFileに指定しましょう。

Require
Require
ではBasic認証を求めるユーザーを指定することができます。
valid-user
と指定することで、AuthUserFile
で指定したパスにアクセスした全てのユーザーに対して、Basic認証を求めることができます。
Files ~の記述
Files ~
の記述は、.htpasswd
と.htaccess
ファイルにアクセスできないようにする設定です。この記述がないと、ファイルにアクセスされてパスワードを盗み取られる可能性があります。
Basic認証の動作確認
Basic認証の設定が終わったら、実際にサイトにアクセスしてみましょう。ユーザー名とパスワードを入力する画面が表示されれば、Basic認証の設定はできています。あとはユーザ名とパスワードを入力して、問題なくサイトが表示されればBasic認証の設定は完了です。

Basic認証後にエラーが発生
Basic認証でユーザー名とパスワードを入力後、下記のようなエラーが発生する場合、「.htaccess」ファイルの記述に誤りがある可能性があるので、入力ミスがないか、サーバーパスが適切かどうかを確認しましょう。

まとめ
以上、Basic認証の設定方法についてご紹介しました。サイト公開前にBasic認証を設定することが多いので、さくっと設定できるようにしておきましょう。