今回は、エックスサーバーでベーシック認証を設定する方法を紹介します。
ベーシック認証とは、WEBサイトへ設定できる認証機能です。
複雑なプログラミンも不要なので、手軽に設定できるのがメリットです。
エックスサーバーでベーシック認証を設定したい方は、ぜひ参考にして下さい。
目次
ベーシック認証とは何?
ベーシック認証(Basic認証)とは、WEBサイトに対して認証を設定できる機能です。
実際にこのような画面を見たことがある方は、多いと思います。
この認証画面が出ていたらベーシック認証を設定されている可能性があり、ユーザーIDとパスワードがないとWEBサイトを閲覧することができません。
ベーシック認証の設置には、複雑なプログラミングの知識が不要です。
最近では多くのレンタルサーバーがベーシック認証を簡単に設定できるようにもしており、以下のような場面で便利です。
- WEBサイトに簡易的な認証を設定したい
- 作成中のWEBサイトをまだ外部の人間に見られたくない
- 特定の人物のみWEBサイトを閲覧できるようにしたい
簡易的に設定できるので、とても便利に利用できるのが特徴です。
ただ、ベーシック認証は、「ベーシック」というくらいなので基本的な認証でしかありません。
ベーシック認証はあくまで簡易的な認証設定になり、セキュリティレベルはそこまで高くないのがデメリットです。
その為、不特定多数の人間がログインして利用するシステムでは、ベーシック認証の利用は避けた方がいいです。
開発費がかかるのがメリットですが、何かしらのプログラム言語を使ってしっかりとしたログイン機能を作成するようにして下さい。
エックスサーバーでベーシック認証を設定する方法
エックスサーバーでベーシック認証を設定する方法は2通りあります。
- エックスサーバーのサーバーパネルから設定する
- 手動で設定する
エックスサーバーのサーバーパネルから設定する
まずは、エックスサーバーのサーバーパネルから設定する方法を紹介します。
誰でも簡単に設定できるので、サーバーの知識がない方はこちらの方法で設定しましょう。
ベーシック認証を設定する方法
エックスサーバーのサーバーパネルへログインします。
サーバーパネル:サーバーパネル
ログインすると、サーバーパネルのトップ画面へ移動します。
その画面の中にある「アクセス制限」というメニューを選択します。
次の画面では、ベーシック認証を設定するドメインを選択します。
↓
ドメインを選択すると、このようなアクセス制限の設定画面が開きます。
※ドメイン直下のディレクトリ構造が表示されます。
WordPressを使用していない場合にはディレクトリ構造が異なります。
エックスサーバーでは、ディレクトリ単位でベーシック認証を設定できます。
今回は、該当ドメインのWEBサイト全体に認証をかけてみるので、「現在のフォルダ」に設定します。
まずは、ベーシック認証で使用する「ユーザー名」と「パスワード」を設定します。
「現在のフォルダ」の右側にある「ユーザー設定」を選択します。
↓
ユーザーの作成画面が開くので、「ユーザーID」と「パスワード」を設定して「確認画面へ進む」をクリックします。
↓
ユーザー作成の確認画面へ移動します。
作成内容に問題がなければ「追加する」をクリックします。
↓
これでユーザー作成が完了です。
次は、実際にベーシック認証を設定(有効化)します。
該当ドメインのアクセス制限設定の画面へ戻って下さい。
「現在のフォルダ」の右側にある「アクセス制限」のチェック項目をONに変更して「設定する」をクリックします。
↓
これでベーシック認証の設定が完了しました。
実際に、ブラウザを開いて該当ドメインのURLへアクセスしてみましょう。
ベーシック認証の画面が開くので、上記で設定した「ユーザーID」と「パスワード」を設定してログインしてみます。
これで問題なくログインできればOKです。
因みに、ログインに失敗するとこのような画面が表示されます。
設定内容をチェックしてみましょう。
ベーシック認証の設定自体は完了しているので、興味のない方はここは読み飛ばして下さい。
ベーシック認証を設定すると、.htaccessと.htpasswdという2つのファイルが自動で編集されます。
まずは、エックスサーバーのサーバーパネルからファイルマネージャーを開きます。
↓
ファイルマネージャーを開くと、「example.com → public_html」とディレクトリを移動して下さい。
public_htmlディレクトリの中に.htaccessというファイルがあるので、選択して「編集」をクリックしてみましょう。
.htaccessファイルの下の方に以下のような記述が追記されているはずです。
↓
次に、「example.com → htpasswd」とディレクトリを移動して下さい。
htpasswdディレクトリの中に.htpasswdというファイルがあるので、選択して「編集」をクリックしてみましょう。
.htpasswdファイルに以下のような記述が追記されているはずです。
こちらに記述されているのが、作成したユーザーIDとパスワード(暗号化済み)になります。
パスワードは暗号化されているのよく分からない文字列になっていますが、「ユーザーID:パスワード」という組み合わせになっています。
ベーシック認証を削除する方法
設定したベーシック認証を削除する方法もまとめておきます。
まず、ベーシック認証を無効化します。
該当ドメインのアクセス制限設定画面を開いて下さい。
その画面で「アクセス制限」の項目を「OFF」にして「設定する」をクリックします。
これでベーシック認証が無効化されます。
次に、ユーザーを削除します。
※もし、再度ベーシック認証を有効化する可能性がある場合、ユーザーは残しておいても大丈夫です。
該当ディレクトリの「ユーザー設定」の項目をクリックします。
↓
アクセス制限設定の画面が開きます。
画面の下に作成済みのユーザーが表示されているので、右側の「削除」をクリックします。
↓
削除の確認画面へ移動します。
このまま削除しても問題名がなければ、「削除する」をクリックします。
↓
これで、不要になったユーザーの削除が完了します。
手動で設定する
手動でベーシック認証を設定する場合、以下の2つのファイルを編集することになります。
- .htaccessファイルを編集
- .htpasswdファイルにユーザーIDとパスワードを追記
.htaccessファイルを編集
まず、.htaccessファイルへ以下のコードを追記します。
AuthName "Member Site"
AuthType BASIC
require valid-user
「AuthUserFile」には、.htpasswdファイルの保存パス(絶対パス)を設定します。
.htpasswdファイルにユーザーIDとパスワードを追記
「/home/xxxxx/xxxxx/htpasswd/」に.htpasswdファイルが保存されているので、そちらを開いて「ユーザーID」と「パスワード」を「:」でつなげて設定します。
ただ、パスワードは暗号化して記載する必要があります。
暗号化は、以下のツールで簡単に作成できます。
https://www.luft.co.jp/cgi/htpasswd.php
上記のツールを開いて、ユーザーIDとパスワードを入力して「生成する」をクリックします。
↓
このようにユーザーIDとパスワード(暗号化済み)をつなげた文字列が作成されるので、そのままコピーして.htpasswdファイルに貼り付ければOKです。
.htaccessファイルと.htpasswdファイルの設定方法を紹介します。
まず、エックスサーバーのサーバーパネルへアクセスして、ファイルマネージャーをクリックします。
↓
ファイルマネージャーを開きます。
「example.com → public_html」のディレクトリ直下に.htaccessファイルがあるので、そちらを選択して「編集」をクリックします。
↓
.htaccessファイルの編集画面を開くので、その一番下に上記で紹介したコードを追記します。
このように追記して更新すればOKです。
次に、「example.com → htpasswd」とディレクトリを移動して、中に保存されている.htpasswdファイルの編集画面を開きます。
↓
.htpasswdファイルに、上記で説明したユーザーIDとパスワード(暗号化)を追加します。
このように追記して更新すればOKです。
これでベーシック認証に設定が完了します。
実際にブラウザから該当ドメインへアクセスしてみましょう。
このようにユーザーIDとパスワードの入力画面が出てくるので、実際に入力してログインしてみて下さい。
最後に
今回は、エックスサーバーでベーシック認証を設定する方法を紹介しました。
エックスサーバーでは、サーバーパネルから設定する方法と手動で.htaccessファイル・.htapasswdファイルを編集する方法があります。
ただ、サーバーパネルから設定する方が簡単なので、基本的にはそちらから設定する方がおすすめです。
エックスサーバーでベーシック認証の設定を行いたい方は、ぜひ参考にして下さい。
あくまで簡易的な認証機能になるので、利用する場合には注意して下さい。