Man kann mit Magento nicht nur einen Shop betreiben, man kann mit einem Backend auch mehrere Shops steuern, dann ist das ein sogenannter Magento Multistore. Diese Einrichtung kann sich lohnen, entweder um die jeweiligen Stores zu spezialisieren oder für jede Sprache eine eigene Domain anzugeben. Die jeweiligen Shops können dann den selben Produktkatalog benutzen oder es kann für jeden Shop ein eigenes Produktsortiment bestimmt werden.
In unserem Tutorial zum Multistore Domain Setup werden wir einen Shop für Werkzeuge, Sofas und Laptops unter den beispielhaften (!) Domains werkzeug.de, sofa.de und laptop.de anlegen (beachten Sie bitte das dies nur zum Beispiel dient und diese Domains NICHT wirklich über Magento Multistore konfiguriert sind). Wir gehen zunächst davon aus das Magento unter „werkzeug.de“ ordnungsgemäß als single-Shop (also ohne das bereits etwas in „Stores“ konfiguriert wurde) installiert worden ist.
Magento Multistore Kategorien anlegen
Als erstes müssen die Kategorien angelegt werden. Sollen alle Shops den selben Katalog verwenden, gibt es einen Root-Kategorie und beliebig viele Unterkategorien. Sollen unterschiedliche Kataloge verwendet werden, legen Sie mehrere Root-Kategorien an. In unserem Beispiel legen wir als Root-Kategorien Werkzeug, Sofa und Laptop an. Darunter können beliebig Unterkategorien angelegt werden. Die Kategorien müssen aktiv sein (Is active) und Anker sein (Is Anchor).
Magento Multistore einrichten
Um einen Multistore einzurichten muss eine Website, ein Store und ein StoreView angelegt werden. Beachten Sie bitte die Reihenfolge, da sich Konfigurationen auf zuvor erstellte Konfigurationen beziehen.
Jetzt müssen wir unsere Website anlegen, dazu gehen Sie unter System > Stores verwalten. Dort klicken Sie auf „Website anlegen“ und geben folgende Daten an:
- Name: Domain-Name der Webseite (z.B. werkzeug.de)
- Code: Parameter, der in der Konfiguration des Apache-Web-Server verwendet wird, um auf den jeweiligen Domain-Namen zu verweisen (z.B. werkzeug_de)
Als nächstes müssen Sie noch einen Store anlegen. Klicken Sie dazu auf „Store anlegen“ und geben folgende Daten an:
- Website: Dropdown-Auswahl zu welcher Webseite der Store gehört
- Name: Hier am besten den selben angeben, wie beim Webseiten-Name
- Root Category: Auswahl welche Produktkategorie zu welchem Shop gehört (Details im oberen Abschnitt „Magento Multistore Kategorie anlegen“)
Nun muss noch ein StoreView angelegt werden, das Frontend das der Besucher sieht. Folgende Daten müssen angegeben werden:
- Store: In der Dropdoen-Auswahl den eben angelegten Store angeben
- Name: Name des Store View (z.B. English Version, German Version, Werkzeug, Sofa, Laptop, etc.)
- Code: Parameter für den Store View
- Status: Falls aktiviert (enabled), ist der Store View vom Frontend erreichbar. Anderenfalls ist der Store nicht zu erreichen.
Magento Multistore URLs festlegen
Nachdem die Stores angelegt wurden, müssen nun die Unsecure Base URL und Secure Base URL unter System -> Configuration -> Allgemein -> Web eingerichtet werden. Wichtig: Setzen Sie die Konfigurationsebene auf die jeweilige Webseite, z.B. werkzeug.de. Dann geben die sichere und unsichere Domain an, in unserem Beispiel http://www.werkzeug.de und https://www.werkzeug.de. Bei beiden URLs die Checkbox „Use default [STORE VIEW]“ deaktivieren. Die Einstellungen speichern.
Hinweis: Wollen Sie auf jeder Domain eine SSL-Verschlüsselung haben, muss man ein Paket wählen, das diese Option zulässt. Einen Test von SSL Zertifikaten finden Sie beispielsweise unter www.netzsieger.de/k/ssl-zertifikate.
Magento Multistore Einrichtung wiederholen
Bis jetzt haben wir nur den Shop für die Domain „werkzeug.de“ eingerichtet. Die Schritte
- Website anlegen
- Store anlegen
- Store View anlegen
- URLs festlegen
müssen nun noch für die Domain „sofa.de“ und „laptop.de“ wiederholt werden.
Magento Multistore Server Konfiguration
Damit der Server auch Bescheid weiß, wo der Magento Root unserer Multistores liegt, müssen wir den DocumentRoot für alle Domains angeben. Wir haben Magento im Ordner „magento“ auf unserem Webserver installiert. Dazu muss die Apache Webserver Datei httpd.conf bearbeitet werden. Viele Hoster bieten Konfigurationsmöglichkeiten über Plesk oder cPanel. Sollte dies nicht der Fall sein, Fragen Sie bei Ihrem Hosting-Anbieter danach. In der Datei folgenden Code eingeben:
Zudem muss die .htaccess Datei bearbeitet werden. Folgende Zeilen hinzufügen:
Starten Sie danach den Apache Webserver neu um alle Einstellungen zu übernehmen.
Magento Multistore Konfiguration abgeschlossen
Die Konfiguration des Magento Multistore ist nun abgeschlossen und im Backend können die Produkte den jeweiligen Stores zugeordnet werden. In unserem Beipiel haben Sie nun ein Backend und im Frontend drei Stores.
Funktioniert das auch für Magento 1.7?
Hi Paul,
ja, das funktioniert auch mit Magento CE Version 1.7.
Viel Erfolg beim Konfigurieren!
Beste Grüße
Sebastian
Hallo Sebastian,
ich habe vorher das Problem der İnstallation.
Waehre es möglich wenn du das übernehmen koentest.
mfg
Hallo,
ist die Anleitung auch für die Version 1.9 gültig?
mffffg
Hallo, bin schon länger am Probieren, bekomme es aber absolut nicht hin.
Müssen die Domänen alle auf dem gleichen Server sein oder geht das auf unterschiedlichen?
Wir haben auf einem Server in der Schweiz den Magento Shop installiert. http://www.unsereVerwaltung.ch.
Auf einem Server in England würden wir gerne mit dem Domain http://www.The-E-shop.com einen englischen Shop betreiben.
Und auf einem Server in Italien dann unter http://www.Il-Negozio.it einen italienischen.
Ist dieser Gedanke richtig oder schon im Ansatz falsch?
Kann ich die unterschiedlichen Storeviews auch mit einer parametrisierten Url aufrufen? Wenn also unser Magento Shop unter http://www.unsereVerwaltung.ch installiert ist, irgendwie mit http://www.unsereVerwaltung.ch?storeview=eshop und http://www.unsereVerwaltung.ch?storeview=ishop ?
Vielen Dank für Hinweise und beste Grüsse
Hallo Markus,
man kann Magento mit einer Installation auf unterschiedlichen Domains laufen lassen. Wie das geht wurde kurz auf Magento Stack Exchange erklärt, schau mal ob dir das weiter hilft:
http://magento.stackexchange.com/a/4753
Beste Grüße
Sebastian
Hallo, muss es denn zwingend eine neue URL.
Ist es mögliche die selbe URL zu benutzen nur das man dahinter ein /grosshandel anhängt und automatisch eine neuer Store zu sehen ist?(multistore)
Gruß
Daniel
Hallo Daniel,
ja, man kann StoreViews in Verzeichnissen ausgeben. Da die Antwort etwas länger wäre, schau dir dazu doch mal diese zwei Tutorials an, die dir weiterhelfen sollten:
http://magento.stackexchange.com/questions/8126/store-code-in-url-for-every-store-view-except-for-default/8328#8328
https://www.online-verkaufen.ch/2012/11/15/url-struktur-fur-mehre-store-views-optimieren-und-urls-ohne-store-view-code-beibehalten/
Beste Grüße
Sebastian
Muss etwas in der httpd.conf verändert werden?
Bei mir funktioniert es nach Tagen und diversen Modifikationen einfach nicht.
In der Htaccess ist folgendes ergänzt worden:
SetEnvIf Host http://www.erstedomain.de MAGE_RUN_CODE=base
SetEnvIf Host http://www.erstedomain.de MAGE_RUN_TYPE=website
SetEnvIf Host ^erstedomain.de MAGE_RUN_CODE=base
SetEnvIf Host ^erstedomain.de MAGE_RUN_TYPE=website
SetEnvIf Host http://www.zweitedomain.de MAGE_RUN_CODE=websitecodezweitedomain
SetEnvIf Host http://www.zweitedomain.de MAGE_RUN_TYPE=website
SetEnvIf Host ^zweitedomain.de MAGE_RUN_CODE=websitecodezweitedomain
SetEnvIf Host ^zweitedomain.de MAGE_RUN_TYPE=Website
Wenn ich die zweite Domain aufgrufe kommt der Fehler:
Hier entsteht eine neue Website!
Wenn ich F5 drücke kommt die zweite Website – sobald ich aber irgendwo draufdrücke ist die Hauptdomain da bzw. leitet auf die Hauptdomain weiter.
Hast du einen Tipp für mich?
Hallo Daniel,
das ist leider schwer zu beantworten woran es genau liegt (Magento Konfiguration, Server-Einstellungen, …).
Evtl findest du Hinweise zur Lösung auf magento.stackexchange.com.
Beste Grüße
Sebastian
Kann man bei mehreren Frontends auch einen gemeinsamen Warenkorb nutzen??
Hallo Michael,
ja man kann bei mehreren StoreViews auch einen gemeinsamen Warenkorb benutzen. Allerdings müssen hier Anpassungen am Code vorgenommen werden.
Beste Grüße
Sebastian