/
Pack Hosting Panel

Magento multistore configureren

Wat is een multistore en hoe configureer je een multistore bij Hipex


Wat is een multistore?

Magento biedt je de mogelijkheid om een zogenoemde Multistore op te zetten. Dit houdt in dat je meerdere domeinen aan een losse Magento installatie kan koppelen. Ieder domein kan hierbij over een eigen ‘storeview’ beschikken. Storeviews worden doorgaans gebruikt voor het representeren van een shop in meerdere talen, hoewel storeviews ook kunnen worden representatie van bijvoorbeeld meerdere verschillende shops binnen 1 installatie.

Hoe configureer ik een multistore bij Hipex?

Bij Hipex bieden we je de mogelijkheid om een multistore eenvoudig te configureren. Om ervoor te zorgen dat iedere domeinnaam op de juiste storeview landt kunnen we dit instellen aan de hand van Nginx configuraties. Je kan dit op twee manieren doen:

  • Configureren op basis van het ‘magento-storecode’ configuratie bestand
  • Configureren op basis van de Nginx ‘map’ module Onderstaand lichten we de twee opties verder toe.

Storecodes in kaart brengen

Allereerst lichten we graag toe hoe je verschillende storeviews configureert middels de standaard geplaatste magento-storecode nginx configuratiebestanden. Hiervoor kan je de volgende stappen volgen:

Log in op de omgeving

Log middels SSH in op de betreffende omgeving. Meer over het inloggen middels SSH kan je hier lezen.

Navigeer naar de codebase

Om de aanwezige storecodes in kaart te brengen dienen we eerst naar de codebase van de magento installatie te navigeren. Doorgaans zal dit een van de standaard locaties zijn:

  • Magento1: /home/<gebruikersnaam>/domains/<domeinnaam>/public_html/
  • Magento2: /home/<gebruikersnaam>/domains/<domeinnaam>/application/

Aanwezige storecodes in kaart brengen

Om de aanwezige storecodes op te vragen kan gebruik worden gemaakt van Magerun. Voor de verschillende magento versies betreft het de volgende commando’s:

  • Magento 1 : magerun sys:store:list
  • Magento 2 : magerun2 sys:store:list

Uitvoeren van het magerun commando zal leiden tot een lijstje met storecodes:

+----+--------------+
| id | code         |
+----+--------------+
| 1  | nl           |
| 2  | de           |
+----+--------------+

Configuratie aan de hand van magento-storecode bestand

Nu we de storecodes in kaart hebben gebracht kunnen we de gewenste store configureren. Navigeer hiervoor naar de volgende locatie: /home/<gebruikersnaam>/domains/<domeinnaam>/var/etc/domeinnaam.de/ Op deze locatie zal je een bestand vinden met de naam ‘magento-storecode.nginx.conf‘. Open dit bestand vervolgens. We kunnen hier de gewenste storecode als waarde invullen bij

set $mage_run_code 'default';

Stel wij willen dat de domeinnaam de duitse store laat zien, vervangen we ‘default’ door ‘de’. Vervolgens dienen we wederom het hekje (#) te verwijderen voor de betreffende regels. De uiteindelijke configuratie zal er als volgt uit zien:

# Magento store code example configuration file
# To set domain run type to store and code to default uncomment following lines

set $mage_run_type 'store';
set $mage_run_code 'de';

Tot slot dienen we uiteraard weer de Nginx configuratie te herladen met het commando nginx-reload.

Configuratie aan de hand van de map module

Naast de hierboven beschreven methode kunnen we ook de Nginx map module gebruiken voor het configureren van storecodes. Navigeer hiervoor naar de volgende locatie: /home/<gebruikersnaam>/domains/<domeinnaam>/var/etc/scope-http/

Op deze locatie kunnen we een bestand aanmaken met de naam ‘map.nginx.conf‘. In dit bestand kunnen we de gewenste configuratie plaatsen. In ons voorbeeld gaan we zorgen dat ‘domeinnaam.de’ landt op de storeview met de storecode ‘de’.

map $host$request_uri $mapped_mage_run_code {
    domeinnaam.de          de;
    *.domeinnaam.de        de;
}

De variabele '$mappedmagerun_code' wordt nu gevuld met de betreffende storecode. We kennen vervolgens de gevulde variabele '$mappedmagerun_code' toe aan '$mageruncode, gezien deze variabele gebruikt wordt in Magento. Hiervoor kunnen we de volgende regel aan het bestand /home/<gebruikersnaam>/domains/<domeinnaam>/var/etc/magento.nginx.conf toevoegen:

set $mage_run_code $mapped_mage_run_code;

Na het toevoegen herladen we de Nginx configuratie met het commando nginx-reload, nu zal domeinaam.de landen op de duitse storeview.