
よく聞くけどベーシック認証ってなんなの?

ベーシック認証は、ユーザー名とパスワードを知っている人だけがwebサイトにアクセスできるようにする方法です。
ベーシック認証はまだ公開していないサイトを、許可した人にだけ見せたり、テスト環境で開発するときに使うのに便利な機能です。
この記事はロリポップ!レンタルサーバーでBasic認証(ベーシック認証)をかける方法について解説した中級者向けの記事です。
難易度
Basic認証とは?
Basic認証は、ウェブサイトやアプリにアクセスする際に、ユーザー名とパスワードを使って本人確認を行う方法です。アクセスしたいページが特定の人だけに見せたい情報だったり、管理者専用のページだったりするときに使われます。正しいユーザー名とパスワードを入力しないと、そのページを開くことができません。この仕組みはシンプルで、誰でも簡単に設定できるのが特徴です。
認証を使う際の注意点
Basic認証は便利ですが、注意すべき点もあります。まず、ユーザー名とパスワードが暗号化されずに送信されるため、インターネット上で悪意のある第三者に見られてしまう可能性があります。これを防ぐためには、SSLやTLSという暗号化技術を使って、通信内容を保護する必要があります(つまり、ウェブサイトのURLが「https://」で始まるようにすることです)。
また、Basic認証だけではセキュリティが十分とは言えないため、より安全な認証方法(例えば、二段階認証など)と組み合わせて使うことが望ましいです。
Basic認証だけでは十分なセキュリティ強度がないので、大事な情報があるサイトにこの認証だけをつけて安心しないでください。あくまでもテスト環境や、少しの間サイトをチェックするときの一時的な対策だということです。
ロリポップ!レンタルサーバーでBasic認証をかける方法
Basic認証(パスワード)によるアクセス制限 という記事で公式に手順を教えてくれています。
このページ内でも書いてありますが、ロリポップ!ではユーザー専用ページから.htaccessファイルを編集することなく、簡単にアクセス制限をかける方法もあります。↓このページです。
今回は勉強がてら.htaccessファイルを使ってBasic認証をかけていきます。
①.htaccessファイル用のコードを作成する
.htaccess と .htpasswd というファイルを作成する必要があるので、まずはメモ帳にでもhtaccess.txtという名前をつけて以下の内容をコピペします。(慣れてる、という方はロリポップ!FTPで.htaccessファイルを作成してそこに直に書いてもいいです。)
AuthUserFile フルパス/制限をかけたいディレクトリ/.htpasswd
AuthGroupFile /dev/null
AuthName "ウィンドウに表示される文字列"
AuthType Basic
require valid-user- AuthUserFile .htpasswdファイルの場所を指定するパスを書きます。例えば「mySite」というフォルダにアクセス制限をかける場合は、「フルパス/mysite/.htpasswd」と書けばいいです。フルパスは、ユーザー専用ページのアカウント情報/パスワード変更で確認できます(下で解説しています)。
- AuthGroupFile 「/dev/null」そのままでOKです
- AuthName ウィンドウに表示される文字列を入力します。と書いてありますが、一体どこに表示されてるのかよくわかんなかったです。書くときは日本語ではなく英字にした方が良いです。適当に「enter your password」とかでいいと思います。
- AuthType require そのままでOKです。
フルパスの確認

ロリポップのユーザー専用ページ > ユーザー設定 > アカウント情報 にフルパスがあります。
/home/…………/web
などとなっていると思います。
これをコピペして、フルパスの続きに、自分がBasic認証をかけたいディレクトリ(ファイル)名を入れます。(例えば、自分が作ってるサイトのindex.htmlが置いてあるファイルの名前がmysiteというファイル名ならmysiteを入れます)。そして最後に.htpasswdをつけます。
こんな感じです。
AuthUserFile /home/…………/web/mysite/.htpasswd「/」スラッシュが足らなくても多くても機能しなくなりますので、home頭についてる「/」スラッシュなど忘れないようにしてください。
②ロリポップ!FTPで.htaccessファイルに書きこむ
ロリポップ!ユーザー専用ページ > サーバーの管理・設定 > ロリポップ!FTP を開きます。
するとロリポップサーバーにブラウザからファイルを一覧できたり、アップロード、編集できるページへ移動します。
たくさんファイルがあると思いますので、自分がサイトを公開したいファイルを選んで中に移動します。

上の方にアイコンがあり、紙に+がついてるアイコンを押すとファイルを新規作成できます。

ファイル名を「.htaccess」にします。.(ドット)を忘れないでください。
属性はロリポップでは604推奨なので604にします(下のグループの呼出のチェックを外すと604になると思います)
内容に書いたコードをコピペします(コピペしたあと、最後の行の末端で改行を入れてください。エラーが出ることがあります。)
できたら保存するを押します。
③.htpasswdファイル用のコードを作成する
今度は.htpasswdファイルを作成する準備をします。(これも慣れている方はロリポップ!FTPでそのままファイルを作成してください)
適当にメモ帳にhtpasswd.txtファイルを作成してそこに書いていきます。内容は短いです。
sample:5Js0WXdCE1iywこんな感じで、ユーザー名:暗号化されたパスワードの形式で書いていきますが、好きなように書いてはいけません。※このコードはサンプルですのでこれをコピペしないでください
パスワードは暗号化されたものを使わないといけないので、ツールを使います。

ロリポップ!ユーザー専用ページ > セキュリティ > アクセス制限 を開いて、新規作成を押します

次のページの上の方に
.htpasswdファイル用パスワード生成ツールはコチラ
という赤文字のリンクがありますのでそれをクリックします。

するとパスワード生成のウィンドウが開きますので、アカウント名、パスワードを任意に設定してください。
決まったら作成を押します。
すると黄色い枠内に文字列が出てくるのでコピペします。ちゃんとメモしてから閉じてください。(※アカウント名・パスワードを忘れると自分がサイトを開けなくなります。暗号化前のアカウント名・パスワード、それと作成された文字列、全部メモしてください。)(※別のアカウント名やパスワードを作成すればいいので忘れても別に大丈夫ですが面倒くさいので。)
④ロリポップ!FTPで.htpasswdファイルに書きこむ
.htaccessファイルを作成したときと同様、同じ場所に.htpasswdファイルを新規作成します。

ファイル名を.htpasswdにします。これもドットを忘れないでください。
属性を604にします。
さっき作った、暗号化された文字列をファイル内容にコピペします。
できたら保存するを押します
これで完成です。自分のサイトを見に行ったら、ベーシック認証がついて、パスワードなどを求められると思いますので、暗号化する前に、自分が決めたアカウント名とパスワードを入力します。
誰かにこのサイトを見せたいときも、アカウント名とパスワードを教えてあげれば、その人と自分だけがサイトにアクセスできるようになります。(セキュリティは低いことを忘れないでください。)
うまくいかないとき
やってみたけどうまくいかなかった。サイトが見れなくなってしまった方へ。
①まず誤字、タイプミスがないかファイルをチェックしてください。
慣れてないとうっかりタイプミスをやらかします。.(ドット)がない、とか/(スラッシュ)がないとか、スペースを全角で打ってしまっている、とかいろいろあるので、チェックしてみてください。なるべくコピペした方がいいです。(自分が間違ってる場合もあるので、ロリポップ!公式のページを見てコピペしてみたり。作成された暗号化された文字列も自分で打つと間違う可能性高いです。)
②ファイルの場所が合っているか確認しましょう。
そもそもファイルを置く場所が合っているか考えてみましょう。自分のサイトが置いてあるファイルに.htaccess, .htpasswdファイルが二つとも入っているでしょうか?(絶対に同じ場所に置かないと機能しないわけではないですけど慣れてないうちは基本的な使い方をしましょう)フルパスが合っているかも確認しましょう。
③全部確認したけどそれでも全くダメでした という方へ
とりあえず、作成した二つのファイル(.htaccess, .htpasswd)を削除すればサイトは公開されるようになります。
経験者とか、慣れてる方だと大体何が原因かってわかるんですけど、最初はいろんなことがよくわからないですよね。まずレンタルサーバーに置く自分のサイトのファイル構成とか、.htaccessファイルとは何か、という基本を一通り勉強してみるとか、わからないことを減らしていくと出来るようになると思います。
普通にタイプミスだったり末尾を改行してなかった、とかが原因だとしても、何回かいろいろやってみないと気づけないことがあります。失敗するとよくわかるようになりますので、他のサイトなどもいろいろ調べて勉強してみましょう。次の日やったらできた、ってこともよくあります。
④今サイトにアクセス制限かけたいんだ!
最初の方にも書きましたが、ロリポップ!にはもっと簡単にベーシック認証のようなアクセス制限をかけられる機能がありますので、そっちでチャレンジしてみましょう。
WordPressにプラグインを使って簡単にBasic認証をかけることもできます。以下の記事を書きましたので参考にどうぞ↓



