Magento 2で複数のストアとドメインを設定する方法

This image has an empty alt attribute; its file name is Capture-1.png

1つのMagentoソフトウェアのインスタンスがあれば、複数のウェブサイト、ストア、ストアビューを同じMagentoバックエンド上で運用することができます。しかし、複数のストアやドメインを持つストアを設定するのは、なかなか難しいものです。

まずは、マルチサイトの概要をご説明しますので、ご参考にしてください。

The multi-site scope
Source: Magento

ステップ1:ウェブサイトの作成

マルチストアの範囲のトップレベルにあるのがウェブサイトです。新しいWebサイトは、デフォルトのWebサイトとカート情報、配送方法、支払い方法などを共有しない別のサイトを作成する場合に必要です。

新しいウェブサイトを作成するには

1.Magentoのバックエンドで、「Stores」→「Settings」→「All Stores」と進みます。

2.「Stores」ページで「Create Website」をクリックします。

  •  Name(名前)Webサイトを識別するための名前を入力します。
  •  Code(コード):コードを入力します。固有のコードを入力します。例えば、フランスの店舗の場合は、frenchと入力します。
  •  Sortorder(ソートオーダー):任意で数字のソート順を入力します。

3.「Save Web Site」をクリックします。

4.これらの作業を必要なだけ繰り返して、ウェブサイトを作成します。

ステップ2:店舗作り

ウェブサイトが管理するのはストアです。複数のストアでは、同じ製品カタログを使用して、異なる製品やカテゴリを提示します。1つのストアには、複数のストアビューを設定できます。

新しいストアを作成するには

1.Magento のバックエンドで、「Stores」 > 「Settings」 > 「All Stores」の順に選択します。

2.Stores ページで Create Store をクリックします。

Website(ウェブサイト):このストアを関連付けるウェブサイトを選択してください。
Name(名前):ストアを識別するための名前を入力します。
Root Category(ルートカテゴリー):このストアのルートカテゴリーを選択します。ストア」ページで「ストアの作成」をクリックします。

3.ストアの「保存」をクリックします。
4.これらの作業を必要に応じて繰り返し、ストアを作成します。

ステップ3:ストアビューの作成

ストアで管理されるのはストアビューです。これは顧客が選択可能なビューで、異なる言語、カタログ価格、異なる通貨を有効にすることができます。

  1. Magento のバックエンドで、Stores > Settings > All Stores を選択します。
  2. ストアページで「ストアビューの作成」をクリックします。

Storeストア) :このストアビューを関連付けるストアを選択します。

Name(名前):このストアビューを識別するための名前を入力します。

Code(コード):コードを入力します。このストアビューを識別するための固有の名前を入力します。

Status(ステータス):Enabledを選択します。

Sort Order(ソートオーダー):任意の数値によるソート順を入力します。

3.「Save Store View」をクリックします。

4.これらの作業を必要に応じて繰り返し、ストアビューを作成します。

ステップ4:ウェブサイトのベースURLの変更

1.Magentoのバックエンドで、Stores > Settings > Configurationを選択します。Generalセクションで、Webをクリックします。

2.ページの上部にある[ストアビュー]リストから、ウェブサイトを選択します。

3.「ベースURL」セクションを展開します。

4.本サイトのURLを入力してください。例: https://subdomain.example.com/
5.Save Config “をクリックします。
6.これらの作業を他のWebサイトにも繰り返します。

ステップ5:ベースURLにストアコード追加

Magentoには、ストアコードをサイトのベースURLに追加するオプションがあり、複数のストアをセットアップするプロセスを簡素化します。このオプションを使用すると、Magentoのファイルシステム上にindex.phpや.htaccessを格納するディレクトリを作成する必要がありません。

これにより、将来のアップグレードで index.php と .htaccess が Magento のコードベースと同期しなくなることを防ぎます。

1.Magentoのバックエンドで、Stores > Settings > Configurationを選択します。General」セクションで「Web」をクリックします。
2.ページの上部にある Store View リストから Default Config を選択します。
3.Url Options」セクションを展開します。

ステップ6:デフォルトのストアビューのベースURL変更

  1. Magentoのバックエンドで、「Stores > Settings > Configuration」に進みます。Generalセクションで、Webをクリックします。
  2. ページの上部にある[ストアビュー]リストから[デフォルト設定]を選択します。
  3. 「Base URLs」セクションを展開します。
  4. ウェブサイトのベースURLを入力します。例: https://www.example.com/
  5. Save Configをクリックします。

このステップの後、Magento Adminへのアクセスを失います。しかし、次のステップであるバーチャルホストの設定が完了すれば、Magento Admin にアクセスできるようになりますので、ご安心ください。

ステップ7:サーバー側の設定

Magentoウェブサイトに複数のストアとドメインを設定するためには、ウェブサーバーの設定を変更する必要があります。要するに、以下のことが必要になります。

  • 新しいウェブサイトごとに新しいバーチャルホストを作成します。
  • MAGE_RUN_TYPEとMAGE_RUN_CODEの値を新しい構成に渡します。
  • (オプション)ホストへのスタティックルートを設定します。

新しいWebサイト用に新しいバーチャルホストを作成するプロセスは、実行しているサーバーの種類によって異なる場合があります。例えば、Apache 2.4以上の場合は、/etc/httpd/conf/httpd.confを以下のように編集します。

<VirtualHost *:80>
   ServerName          mysite.mg
   DocumentRoot        /var/www/html/magento2/pub/
</VirtualHost>
<VirtualHost *:80>
   ServerName          french.mysite.mg
   DocumentRoot        /var/www/html/magento2/pub/
   SetEnv MAGE_RUN_CODE "french"
   SetEnv MAGE_RUN_TYPE "website"
</VirtualHost>
<VirtualHost *:80>
   ServerName          german.mysite.mg
   DocumentRoot        /var/www/html/magento2/pub/
   SetEnv MAGE_RUN_CODE "german"
   SetEnv MAGE_RUN_TYPE "website"
</VirtualHost>
  • ServerName: 新しいウェブサイトのドメインです。
  • DocumentRoot: Magentoが提供される場所です。セキュリティの観点から、DocumentRoot を Magento の /pub/ ディレクトリに設定することをお勧めします。
  • SetEnv MAGE_RUN_TYPE: ServerName が新しいウェブサイトかストアのスコープかに応じて、ウェブサイトかストアのどちらかに設定します。
  • SetEnv MAGE_RUN_CODE: MAGE_RUN_TYPE に対応する固有のウェブサイトまたはストアビューのコードに設定します。

設定が完了したら、次のように実行してWebサーバーを再起動します。

CentOS:service httpd restart
Ubuntu:service apache2 restart

(オプション) ホストへの静的ルートの設定

ストアのURLにDNSを設定していない場合は、hostsファイルに以下の形式でスタティックルートを設定する必要があります。

<ip address> <new website>

注意: チェックアウトのプロセスを別々にしたい場合は、Magentoのドメインに個別のIPアドレスを設定してください。

これで完了です。それでは、新しいストア/ウェブサイトに設定したURLにアクセスして、すべてが正しく動作するかどうかを確認してください。

デモを申し込む

弊社の専門家は最適なソリューションをサポートさせて頂きます。

►►►サービスについて