Step1:Basic認証(基本認証)を設定する.htaccessファイルを作成

まずは、ウェブサーバの設定ファイルである.htaccessを作る

まずは、ウェブサーバの設定ファイルである.htaccessを作る

Basic認証を設定する際に作成する必要のある2ファイルのうち、まずは1つ目の.htaccessファイルの作り方をご紹介いたします。

【このページの目次】  

ウェブサーバの設定ファイル.htaccessを作成する概要

Basic認証を使ってアクセス制限を設定するには、最初にウェブサーバ「Apache」の設定ファイルである.htaccessファイルを作成します。このファイルの中身はプレーンテキストですから、一般的なテキストエディタで作成できます。.htaccessファイルの作成方法について詳しくは、記事「.htaccessファイルの書き方と設定・設置方法」で解説していますので、併せてご参照下さい。

Basic認証を設定する記述は4行だけ
記述量はわずか4行です。普段お使いのテキストエディタがあれば、それを使って下さい。Windowsに付属している「メモ帳」でも作成できます。

ただし「メモ帳」で作成する場合は、保存時の文字コードをデフォルト設定の「ANSI」のままにして下さい。「メモ帳」を使って文字コードを「UTF-8」にして保存すると、ファイルの先頭に必ずBOM(Byte Order Mark)が含まれてしまう仕様のため、動作しなくなります。
 
Basic認証を設定するための.htaccessファイルは、メモ帳などのテキストエディタで作成できる

Basic認証を設定するための.htaccessファイルは、メモ帳などのテキストエディタで作成できる


 
.htaccessファイルが既にあるなら追記するだけで良い
もし、既に.htaccessファイルが存在するディレクトリにBasic認証を設定したいなら、既存の.htaccessファイルに追記するだけで済みます。
 
既に.htaccessファイルがある場合は、Basic認証のための設定を末尾に追記するだけで良い

既に.htaccessファイルがある場合は、Basic認証のための設定を末尾に追記するだけで良い


 

Basic認証を設定するための.htaccessファイルを記述

Basic認証を設定するためには、.htaccessファイルの中に、次のような4行を記述します。
AuthType     Basic
AuthName     [適当な名称]
AuthUserFile [.htpasswdファイルの場所]
require valid-user
 
  • 1行目は、認証方法として「Basic認証」を使う指定です。この通りに書きます。
  • 2行目は、適当な文字列を書きます。ここに記述した文字列を認証画面に表示するブラウザもあります。書き方の例は後述します。
  • 3行目は、ユーザー名(ID)とパスワードを収録した.htpasswdファイルの場所を指定します。このファイルの詳細は次のページで解説します。
  • 4行目は、全てのアクセス者に認証を求める指定です。この通りに書いて下さい。
 

Basic認証を設定する.htaccessファイル4行の記述例

具体的には、以下のような感じで記述します。
AuthType     Basic
AuthName     "Authentication Sample"
AuthUserFile /home/sakura/www/.htpasswd
require valid-user

修正する点は2行目と3行目の2箇所のみです。下記の説明に従って、お使いのサーバ環境に合わせて修正して下さい。1行目と4行目はコピー&ペーストするだけで修正不要です。記述順序はこの通りでなくても構いません。

2行目: AuthName "Authentication Sample"
ここには何でも適当な文字列を記述しておきます。引用符を忘れずに書いて下さい。上記では例として「Authentication Sample」と記述しました。ここに記述した文字列は、ブラウザが表示する認証画面内で例えば下図のように表示されることもあります。
 
AuthName項目を認証画面内に表示するブラウザの表示例

AuthName項目を認証画面内に表示するブラウザの表示例


※日本語も書けますが、文字化けすることがあるため半角英数字のみを使う方が無難でしょう。
※この文字列を一切表示しないブラウザもあります。

 
3行目: AuthUserFile /home/sakura/www/.htpasswd
次のページで作成方法をご紹介する「ユーザー名とパスワードを列挙した.htpasswdファイル」の存在場所をフルパスで記述します。.htpasswdファイルを置くディレクトリは、.htaccessファイルと同じでも別でも構いません。ファイル名には「.htpasswd」というドット記号で始まる特殊な名称がよく使われますが、他の名称でも構いません。詳しくは次のページで解説します。

※フルパスに関しての注意
上記での「フルパス」とは、URLのことではありません。先頭がスラッシュ「/」記号で始まる、サーバ内でのフルパスのことです。どのような文字列になるかはお使いのサーバによって異なります。例えば下図のように、FTPソフトを使う際に見えていることもあります。単純にURLからドメイン名部分を除外すればフルパスになるわけではありませんので注意して下さい。
 
FFFTPの表示例(アップロード側のアドレス欄に、ウェブサーバ内のフルパスが見えている場合もある)

FFFTPの表示例(アップロード側のアドレス欄に、ウェブサーバ内のフルパスが見えている場合もある)


 

記述した.htaccessファイルを保存する際の注意

ファイル名は.htaccess

ファイル名は.htaccess

Basic認証のための4行を記述できたら、ファイルとして保存します。このとき、ファイル名は「.htaccess」とします。先頭に半角ドット記号がある9文字のファイル名です。先頭のドット記号を忘れないように注意して下さい。

 
「.htaccess」という名称ではファイルが保存できない場合もある
ドットで始まる特殊なファイル名は付けられないことがある

ドットで始まる特殊なファイル名は付けられないことがある


お使いの環境によっては、半角ドット記号で始まる名前ではファイルを保存できないことがあります。その場合は「htaccess.txt」などのような仮のファイル名で保存しておき、サーバにアップロードする際にFTPソフトの機能でファイル名を.htaccessに変更すると良いでしょう。

※.htaccessファイルの保存に関しては、記事「.htaccessファイルの書き方と設定・設置方法」で詳しく解説しています。

 

作成した.htaccessファイルのアップロード場所

作成した.htaccessファイルは、Basic認証によるアクセス制限を設定したいディレクトリにアップロードします。パスワード認証の対象範囲には、そのディレクトリ内にあるすべてのサブディレクトリも含まれます。
 
.htaccessファイルを置いたディレクトリ以下すべての領域がBasic認証の対象になる

.htaccessファイルを置いたディレクトリ以下すべての領域がBasic認証の対象になる


もし、ウェブサイトの最上階層(=トップページが存在するディレクトリ)にこの.htaccessファイルを置けば、ウェブサイト全体がまるごとパスワード認証の対象になります。その場合、サイト内のどのページに直接アクセスしても、必ず認証画面が表示されます。

 
以上で、サーバの設定ファイルである.htaccessファイルの準備は完了しました。

次に、ユーザー名とパスワードを記録する.htpasswdファイルを作成しましょう。