「Webサイトを一部の人だけに見せたい」
「BASIC認証を行う必要がある」
「BASIC認証を理解しながら設定したい」
このような場合には、この記事の内容が参考になります。
この記事では、初心者でもわかるようにBASIC認証の設定方法について解説しています。
本記事の内容
- BASIC認証(ベーシック認証)とは?
- BASIC認証(ベーシック認証)に必要なモノ
- BASIC認証(ベーシック認証)の動作確認
それでは、上記に沿って解説していきます。
BASIC認証(ベーシック認証)とは?
BASIC認証とは、HTTPで定義される認証方式(HTTP認証)の一つです。
基本認証と呼ばれることもあります。
この説明だけなら、正直イメージできません。
でも、実際のモノを見たらわかるでしょう。
Chromeの場合
Edgeの場合
BASIC認証は簡易的な認証機能として、使われることが多いです。
まだまだ、需要のある機能と言えます。
例えば、仲間内だけに公開したいWebページがある場合に利用されます。
また、開発中のサイトを外部の人間に見られたくない場合にも使われます。
以上、BASIC認証(ベーシック認証)について説明しました。
次は、BASIC認証(ベーシック認証)に必要なモノを説明します。
BASIC認証(ベーシック認証)に必要なモノ
ApacheでBASIC認証を行うのに、必要なモノは以下となります。
- Apacheモジュール
- .htaccessファイル
- .htpasswdファイル
それぞれについて以下で説明します。
Apacheモジュール
認証系のモジュールは、デフォルトで有効化されています。
念のため、確認しましょう。
$ apache2ctl -M | grep 'auth' auth_basic_module (shared) authn_core_module (shared) authn_file_module (shared) authz_core_module (shared) authz_host_module (shared) authz_user_module (shared)
もし、これらを確認できなければ、それぞれ有効化しましょう。
.htaccessファイル
実は、BASIC認証に.htaccessファイルは必須ではありません。
ただし、.htaccessファイルを利用しない場合は、Apacheの設定ファイルを触ることになります。
Apacheの設定ファイルについては、次の記事で説明しています。
BASIC認証のために、Apacheの設定ファイルを変更するのは・・・
ちょっと嫌ですね。
したがって、.htaccessファイルが必須のようになってしまいます。
しかし、.htaccessはデフォルトでは動きません。
.htaccessの有効化については、次の記事の解説しています。
.htpasswdファイル
BASIC認証では、IDとパスワードを入力します。
そのIDとパスワードである認証情報を保管するファイルが、.htpasswdファイルになります。
.htpasswdファイルについては、次の記事で説明しています。
以上、BASIC認証(ベーシック認証)に必要なモノについて説明しました。
次は、BASIC認証(ベーシック認証)の動作確認を説明します。
BASIC認証(ベーシック認証)の動作確認
動作確認のために必要なファイルを用意します。
.htpasswdは、「/etc/apache2/.htpasswd」に保存しているとします。
まず、ドキュメントルート直下に「basic」ディレクトリを作成します。
次に、「basic」ディレクトリに次の2ファイルを作成。
.htaccess
AuthUserFile /etc/apache2/.htpasswd AuthName "Please enter your ID and password" AuthType Basic Require valid-user
index.html
<!doctype html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>BASIC認証</title> </head> <body> <div> <h1>BASIC認証のテスト</h1> </div> </body> </html>
ここまで用意できたら、次のURLにアクセス。
http://サーバーIP/basic/
サーバーIPの調べ方は、次の記事でまとめています。
URLにアクセスすると、次のように認証画面が表示されます。
認証情報を入力して、「ログイン」ボタンをクリック。
認証が成功すれば、次の画面が表示されます。
ここまで確認できれば、動作確認は問題ありません。
以上、BASIC認証(ベーシック認証)の動作確認について説明しました。