Magentoでストアを開発中の場合、完成まで誰かにストアを見られたくないという人も多いと思います。
開発中のストアはロックをかけていないと、第三者に見られる可能性もゼロではありません。ここでは開発中のストアにBasic認証で手軽にロックをかける方法をご紹介します。
Basic認証とは

IDとパスワードを入力しないとそのディレクトリ以下のコンテンツを閲覧できなくするのがBasic認証です。URLにアクセスすると、上の画像のようにIDとパスワードを入力するフォームが表示されます。
なお、Basic認証はApacheのみ有効です。Nginxの場合は使用できませんのでご注意ください。
Basic認証ってどうやるの?
htpasswdファイルをサーバーに設置しよう
Basic認証の設定には、まず認証情報を記したhtpasswdファイルをサーバー上に設置します。
htpasswdファイルは以下のhtpasswdコマンドでサーバー上に作成できます。
htpasswd -c <htpasswdファイルの場所のパス> <ユーザー名>
もしくはオンラインサイトで作成もできます。タンヤマは以下のサイトをよく使ってますよ。
2通りの設定方法
Basic認証の設定方法は.htaccessによる方法とApacheの設定ファイルによる方法があります。
.htaccessで設定
Basic認証をかけたいディレクトリにある.htaccessフォルダの上の方に以下を記入します。
AuthUserFile <htpasswdファイルへのフルパス>
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
記入後はApacheを再起動し、Basic認証が機能しているか確認しましょう。
htpasswdファイルのパスが正しくないとちゃんと機能しないので、ご注意ください。
Apacheの設定ファイルで設定
ただGitでソース管理をしている場合、.htaccessに書き込むと変更が他のブランチにもデプロイされてしまうといったことも起きがちです。
そのようなことを避けるにはApacheの設定ファイルで設定するのも一つの手です。
以下のように、MagentoのバーチャルホストにBasic認証の設定を追加します。
<Directory {Magentoのルートディレクトリ}>
AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile <htpasswdファイルへのフルパス>
require valid-user
Options Indexes FollowSymLinks
AllowOverride All
#Require all granted
</Directory>
Require all grantedがある場合は、コメントアウトしないとBasic認証が機能しないのでご注意ください。
Apacheを再起動し、Basic認証が機能しているか確認しましょう。
弊社ではMagentoを利用した多機能ECサイトの構築・越境EC/中国越境ECの開発をして企業様をサポートしています。 ご興味ある方は是非問い合わせください。
