HowTo

[開発中]MagentoのBasic認証のかけかた

Magentoでストアを開発中の場合、完成まで誰かにストアを見られたくないという人も多いと思います。

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

Basic認証とは

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認証が機能しているか確認しましょう。

弊社ではMagento2を利用した多機能ECサイトの構築・越境EC/中国越境ECの開発をして企業様をサポートしています。 ご興味ある方は是非問い合わせください。

ABOUT ME
タンヤマニゴル
マルウェブシステム担当 会社とMBA兼某資格養成機関で二足の草鞋、「修論どうしよう・・」と日々迷走中のアラサーです

※注意

本ブログの投稿内容に関するお問い合わせをして頂いてもご返信できませんので、何卒ご了承ください。