前回は大きく分けて2つの内容を取り上げました。今回からはインストールした環境を使って、Magentoの基本機能を紹介していきます。マルチサイト」機能を取り上げます。Magentoはどうやって多言語・多通貨を実現している?Magentoを用いてECサイトを構築したいとお考えの方は、次のような機能がMagentoに備わっていることを耳にされたからではないでしょうか?多言語サイトが構築できる多通貨サイトが構築できるマルチサイト運用ができるもちろんMagentoでは上記のすべてが実現できます。そのためにはMagentoがこれらのデータをどのように管理しているかを理解しておく必要があります。なければ、良い構成のMagentoをベースとしたECサイトを構築・運用することはできません。「スコープ」を理解しようMagentoでよく出てくる単語のひとつに「スコープ」があります。この単語の説明を始める前に、次の図を見てください。この図はMagento上のデータが管理されている単位を示したものです。Magentoを理解するためには、この図が意味することをきちんと理解しておく必要があります。グローバル・ウェブサイト・ストア・ストアビュー?Magentoには4つのスコープがあります。それぞれに管轄するデータの領域が異なるので、ここできちんと理解しておきましょう。Magento上で1サイトしか運用しないのであれば、スコープについて深く理解する必要はありません。Magentoの機能をフルに使ったサイトを構築したいのであれば、きちんと理解しておくことが必要です。○グローバルとはグローバルは一番広範囲に適用できるスコープです。管理画面とほぼ同じ意味を持っていますが、カテゴリツリーや配送料金、商品の関連付けといった一部のデータは管理していません。標準状態のMagentoでは在庫はグローバルスコープでしか保持できません。ウェブサイトのスコープでは保持できないので、注意が必要です。ウェブサイトとはウェブサイトはグローバルに次ぐスコープです。配送料金と商品の関連付けを行うことができる他、グローバルスコープで設定した商品やカテゴリの属性データの大半を上書きすることができます。このスコープでは会員データや商品の価格に使う通貨を切り分けることができます。ストアとはストアは別名「ストアグループ」とも呼ばれています。ストアができることは実際のところ以下の2つしかありません。所属するストアビューが利用するカテゴリツリーを指定する1つ以上のストアビューを管理するMagentoでは複数のカテゴリツリーを定義することができますが、その指定はストアでしかできません。グローバルでもウェブサイトでもできません。ストアビューとはストアビューはMagentoのスコープの中では一番階層が下のスコープです。通常は言語別のデータを保持するために利用します。Magentoは1つのスコープに1つの言語しかデータを保持することができないため、システム上で利用したい言語を増やせば増やすほど、ストアビューの数が増えていきます。スコープを切り替えるにはMagentoで設定値のスコープを切り替える場合、画面上に配置されている次のような箇所で切り替えを行います。「標準の設定」というところをクリックすると、次のように定義済みのウェブサイトやストアビューのリストが表示されます。切り替えを行うと、保存していない値が全て失われます。スコープの切り替えを行う際には、必ず一度編集した内容をデータベースに保存するか、消えても良いことを確認してから行ってください。切り替え前には下図のように警告が表示されますので、いきなり切り替わるということはありません。Magentoではどれくらいの数のウェブサイトやストアビューを作成できる?さて、Magentoではウェブサイトやストアビューを使用して多言語・多通貨・マルチサイトを実現できることをご説明しました。実際問題どのくらいの数のウェブサイトやストアビューをMagento上に作成できるのでしょうか?答えは「設計上の上限数はない」です。アプリケーションとしてのMagentoにはウェブサイトやストアビューの上限数に関する制限はありません。設計上はいくつでも作成できます。現実問題としては、ウェブサイトやストアビューが増えるたびにデータベースに記録されるデータ量が増えていきます。データベースは肥大化し、より性能の高いサーバーが求められるようになります。当初は低スペックのサーバーでも十分だった場合でも、多言語化や商材によるマルチサイト化が進んだ結果、性能が不足するようになる可能性が出てくることが予想されます。サイトの規模に合わせて適切な性能のサーバーを選ぶようにしてください。マルチサイトとドメイン名マルチサイト運用を行う場合、それぞれのウェブサイトや言語別にドメイン名やホスト名をつけたくなります。Magentoではウェブサイトやストアビューの単位でFQDNを設定できるので、この問題は主にサーバー側の設定が中心になってきます。Magento側での設定コードの設定Magento側ではウェブサイト、またはストアビューの設定で、「コード」を指定します。定義済みの店舗が一覧で表示されます。編集したいウェブサイトを選択すると、次のような画面が表示されます。ストアビューを選択すると、次のように表示されます。これらの画面に表示される入力項目にある、「コード」という設定値がマルチサイト運用の際には重要です。Magentoがウェブサイトやストアビューを動作時に特定するためにはこのコードが不可欠で、1つのMagentoインストール上でユニークになるように設定しておく必要があります。FQDNの設定さらにマルチサイト運用を個別ドメインで運用する場合は、対象となるウェブサイトやストアビューでFQDNを指定する必要があります。設定を行うには、メニューから「店舗」を選び、「設定」にアクセスします。次に「ウェブ」を選ぶと、次のように設定画面が表示されます。「ベースURLs」「ベースURL(セキュア)」で、ウェブサイトやストアビューが使用するFQDNを「http://」または「https://」で始まる形で設定します。注意していただきたいのは、この段階ではWebサーバー側でバーチャルホスト設定ができていないFQDNを設定しないことです。当たり前のことですが、バーチャルホスト設定ができていないFQDNをうっかり設定してしまうと、Magentoの管理画面にアクセスできなくなることがあります。Webサーバー側での設定Apacheでの設定Apacheでバーチャルホストを設定する場合は、以下のように設定を行います。</VirtualHost>Nginxでの設定Nginxでバーチャルホストを設定する場合は、以下のように設定を行います。/var/www/html/magento2/nginx.conf;}設定ができたら設定を反映し、アクセスができるかを確認します。うまく表示できていれば成功です。マルチサイトについてご紹介しました。これらの概念を理解しておくことで、Magentoを使ったECサイトを構築する場合に、どのような構成を取ればよいかを判断することができます。構築時の参考にしてください。