Magentoのはその代表的な機能の1つとして、1つのMagento環境を用いて複数のウェブサイトを分けて運用することができます。複数に分けたウェブサイトそれぞれに対し個別にドメイン名やFQDN※を定義することが可能です。

本記事では、下記のようなマルチサイト構成を例に具体的な設定を紹介します。なお、マルチサイトの場合、Magentoの管理画面の設定だけでなく、Webサーバ側の設定も必要となりますのでNginxを前提とした設定関係について併せてご紹介します。

Magento マルチサイト

マルチサイトの構成

※ FQDNとはFully Qualified Domain Name(フリー・クオリファイド・ドメイン・ネーム)の略で、完全修飾ドメイン名とも呼ばれる、ドメインとサブドメインを併せたインターネット上の住所のようなものです。ドメインがexample.comで、サブドメインがwwwの場合には、www.example.comのように表記されますが、FQDNとなります。

ウェブサイト、ストア、ストアビューの作成

ウェブサイト、ストア、ストアビューの作成方法は、「Magentoの階層構造、スコープを理解する」の記事をご参照ください。
なお、マルチサイトの場合、コードの設定がWebサーバの設定に関連してくるため重要となります。
本記事の例では、下図のような設定となります。

Magento マルチサイト ストア設定

マルチサイト ストア設定

ウェブサイト、ストアビューのURL設定

個別ドメインを適用するウェブサイト、ストアビューにFQDNを設定します。

  • 1.管理画面を開き、「店舗」-「設定」-「設定」の順に選択します。
  • 2.ストアビューにて「English」を選択します。
  • 3.「全般」-「ウェブ」を選択し、ベース URLsを開きます。ベースURLのウェブサイトの設定を使用するのチェックを外し、適用するFQDNを入力します。
    Magento マルチサイト ベースURL

    ベースURLの設定

  • 4.次にベース URL(セキュア)を開き、セキュアベースURLのウェブサイトの設定を使用するのチェックを外し、適用するFQDNを入力し、「設定を保存」を選択します。
    Magento マルチサイト セキュアベースURL

    セキュアベースURLの設定

  • 5.ストアビューにて「French」を選択し、上記の手順3、手順4を同様に実施します。

Webサーバの設定(Nginx)

Nginxでの設定例は下記となります。マルチサイトの設定を行う場合に赤文字の部分が必要となってきます。

Nginxの設定

upstream fastcgi_backend {
server unix:/var/run/php-fpm/php-fpm.sock;
}

map $http_host $MAGE_RUN_CODE {
magento-demo.digital-free.net jp;
us.magento-demo.digital-free.net en;
magento-demo2.digital-free.net fr; #FQDNストアビューコード
}

server {
listen 80;
server_name magento-demo.digital-free.net us.magento-demo.digital-free.net magento-demo2.digital-free.net;
set $MAGE_ROOT /var/www/<Magentoのインストールディレクトリ>;
include /var/www/<Magentoのインストールディレクトリ>/nginx.conf.sample; #サンプルのNginx用設定ファイル
}
Nginx用のサンプルファイル設定(設定対象箇所のみ抜粋)

# PHP entry point for main application
location ~ ^/(index|get|static|errors/report|errors/404|errors/503|health_check)\.php$ {
try_files $uri =404;
fastcgi_pass fastcgi_backend;
fastcgi_buffers 1024 4k;
fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=756M \n max_execution_time=18000";
fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;

fastcgi_param MAGE_RUN_TYPE store;
fastcgi_param MAGE_RUN_CODE $MAGE_RUN_CODE;


fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

Nginxの設定箇所について、map $http_host $MAGE_RUN_CODE内にてFQDNとストアビューやウェブサイトで設定したコードを関連付けます。次にserver内にてserver_name FQDN1 FQDN2 ・・・という形で利用するFQDNを設定します。
Nginx用のサンプルファイル設定について、fastcgi_param MAGE_RUN_TYPEの設定としてwebsiteもしくはstoreを指定します。ストアビュー単位でマルチサイトにする場合はstore、ウェブサイト単位でマルチサイトにする場合はwebsiteと設定します。

お問い合わせ・ご相談

    お問い合わせはお電話か、以下のフォームよりお願い致します。

    お電話でのお問合せ先
    東京渋谷オフィス: 03-6869-7417
    名古屋本社: 052-880-0011

    お問合せフォーム

    ご入力いただいたすべての情報は当社のプライバシーポリシーに従い、厳重にお取り扱い致します。

    ご送信いただいた内容はSSLの技術によって暗号化され、秘匿性が保たれています。