レンタルサーバーのエックスサーバーには「アクセス制限」という設定があります。
アクセス制限の設定を活用することによって、エックスサーバーのウェブサーバーに保存しているHTMLファイルなどにはフォルダ単位でのアクセス制限をかけることができます。
そしてエックスサーバーのアクセス制限設定でウェブサイトのアクセス制限をする方法としては「Basic認証」という方法を用いてアクセス制限ができます。
エックスサーバーでアクセス制限の設定をするやり方を説明します。
アクセス制限の設定でBasic認証をかける
エックスサーバーの「アクセス制限」の設定はBasic認証という方法でアクセス制限がウェブサイトにかかります。
Basic認証(ベーシック認証)とは
ウェブサイトのページにアクセス制限をかけることができる認証方法の1つで、簡易的なアクセス制限を行うことができる認証方法です。
Basic認証がかかっているウェブサイトにアクセスした場合、ページにダイアログが表示されて、ユーザーは「ユーザーID」と「パスワード」の入力を求められます。
そのためユーザーIDとパスワードが一致しないときにはアクセスを制限されることになりページを表示することができません。
このようなBasic認証をエックスサーバーでは「アクセス制限」の設定をするだけで実装ができます。
具体的な設定はエックスサーバーの「アクセス制限設定」のページで行います。
アクセス制限設定のページまではエックスサーバーにログイン後にサーバーの「サーバー管理」をクリックして「サーバーパネル」のページを開きます。
エックスサーバーのサーバーパネルでは「ホームページ」の項目があるのでホームページ項目内の「アクセス制限」をクリックします。
次にドメイン選択画面になりますので、アクセス制限をしたいウェブサイトのドメインを選択してクリックします。
ドメイン選択後のページが「アクセス制限設定」のページです。
エックスサーバーでアクセス制限の設定をする対象ドメインが間違えていないかを確認し、その下に表示しているディレクトリ(フォルダ)ごとに「ON」と「OFF」のチェックボックスでウェブサイトのアクセス制限の範囲を設定します。
ウェブサイト全体をアクセス制限の範囲にしてBasic認証をかける場合は「現在のフォルダ」のチェックボックをONに設定します。
フォルダ単位でアクセス制限をしてBasic認証をかける場合には、アクセス制限設定の画面に表示してるそれぞれのフォルダ名のチェックボックスをONに設定します。
ここで一度「設定する」のボタンをクリックしてエックスサーバーのアクセス制限設定の設定内容を保存します。
Basic認証のユーザーIDとパスワードを設定
引き続きエックスサーバーのアクセス制限設定の画面でBasic認証に使用するユーザーIDとパスワードを設定します。
Basic認証の範囲を設定したチェックボックス右横の「ユーザー設定」のリンクでBasic認証のユーザーIDとパスワードの設定画面に進みます。
たとえばアクセス制限の設定でBasic認証の範囲を「現在のフォルダ」で設定した場合は、現在のフォルダの右横のユーザー設定をクリックしてBasic認証のユーザーIDとパスワードを設定するページへ進みます。
ユーザー設定の画面では「ユーザーID」と「パスワード」を入力するボックスに、アクセス制限をするウェブサイトのページにアクセスがあったときにユーザーに入力を求める「ユーザーID」と「パスワード」を決めて設定します。
次に「確認画面へ進む」をクリックして、設定したBasic認証のユーザーIDとパスワードの確認をして間違えなければ「追加する」のボタンで設定を保存します。
これでエックスサーバーでアクセス制限の設定をすることができています。
アクセス制限の設定をしたドメインでウェブサイトにアクセスするとBasic認証のダイアログが表示されるのでアクセス制限をすることができているのが確認でき、私達が設定で決めたユーザーIDとパスワードを入力しないとページが表示されくなっています。
アクセス制限とBasic認証のファイルを確認
エックスサーバーのアクセス制限設定でBasic認証をかけてサイトへのアクセス制限をした設定内容はファイルで確認できます。
- アクセス制限は.htaccessファイル
- Basic認証のユーザーIDとパスワードは.htpasswdファイル
.htpasswd
エックスサーバーのファイルマネージャを開き、アクセス制限設定をしたドメインのフォルダを開きます。するとフォルダ内にhtpasswdフォルダがあるので開くと.htpasswdファイルが設置されています。
この.htpasswdファイルでエックスサーバーのアクセス制限設定で決めたBasic認証用のユーザーIDとパスワードが確認できす。
パスワードについては$と英数字で暗号化されたパスワードを確認できるだけになります。
.htaccess
.htaccessの場所は.htpasswdと同じ階層のpublic_htmlフォルダ内にあります。
エックスサーバーのアクセス制限設定で例えば「現在のフォルダ」のチェックボックスをONにしてBasic認証の範囲をサイト全体に設定をした場合、.htaccessファイルには以下の記述が追加されているのが確認できます。
AuthUserFile ".htpasswdまでのフルパスが記述されています"
AuthName "Member Site"
AuthType BASIC
require valid-user
記述は「AuthUserFile」「AuthName」「AuthType」「require」で構成された記述でウェブサイトのアクセス制限を有効にするためのものです。
全て重要な記述ですが、たとえばAuthUserFileは前述したエックスサーバーのアクセス制限設定で設定したユーザーIDとパスワードを.htpasswdファイルから参照する記述です。
そのため.htaccessに記述されている上記の記述のうち1行でも削除してしまうとエックスサーバーのアクセス制限設定でアクセス制限をONにしている設定はOFFになってしまいますし、記述の誤りが原因で500エラーになってしまうことに気をつけてください。
エックスサーバーでアクセス制限を解除する場合
エックスサーバーのアクセス制限設定で有効にしたBasic認証を解除する場合は簡単です。
アクセス制限設定の設定画面でBasic認証をONにしている設定のチェックボックスをOFFに変更して設定保存するだけです。
何らかの理由でエックスサーバーのファイルマネージャでファイルを開いてアクセス制限を解除する場合には、前述したpublic_htmlフォルダ内の.htaccessからアクセス制限を有効にするための記述「AuthUserFile」「AuthName」「AuthType」「require」を丸ごと削除してファイル更新します。
これによりエックスサーバーのアクセス制限設定でONにしていた設定もOFFの設定に切り替わりアクセス制限は解除されています。
エックスサーバーでアクセス制限をBasic認証で設定する説明は以上です。
エックスサーバーのWebサーバーにアップしているテストサイトや会員制サイトのページなどにアクセス制限をして有効活用してみてください。