Howto: Shopware – Installation auf Shared-Hosting

Nachdem ich mir Magento ja schon etwas näher angeschaut hatte, es mich letztlich aber nicht überzeugen konnte, bin ich schließlich bei Shopware gelandet. Mit der Software der Shopware AG, einem Anbieter aus Deutschland, sollte es  weniger Probleme geben, die rechtlichen Gegebenheiten umzusetzen und mann muss auch keine Lokalisierung für “deutsch” installieren.

Für die berüchtigte Button-Lösung soll Ende Juni auch ein Plugin erscheinen, so dass auch dieses Thema damit dann abgehandelt werden sollte. Im August erscheint auch eine an vielen Stellen komplett überarbeitete Version: Shopware 4

Nachfolgend werde ich die Installation der derzeitigen v3.5.6 auf einem Shared-Webhosting Account durchgehen, wie zu erwarten natürlich in einem Tarif bei domainfactory (www.df.eu) 😉

Es existieren verschiedene Versionen von Shopware und ich behandle nachfolgend nur die “Community Edition” Shopware CE. Diese Version kann direkt auf der Webseite heruntergeladen werden: http://wiki.shopware.de/Downloads_cat_448.html

Vorbereitung:

Shopware hat als Voraussetzung ein memory_limit von 64MB, so dass Sie einen passenden Tarif besitzen sollten. Da wir uns gleich bei der Installation für den Online-Installer entscheiden werden und eine Domain mit PHP 5.3.8 nutzen werden, sind noch einige Vorbereitungen zu treffen.

Zunächst sollte eine (Sub)Domain für den Shop angelegt werden, die am besten auch direkt als Zielpfad den Pfad für den Shop nutzt. Ebenfalls legen Sie bitte eine neue MySQL 5 Datenbank und einen FTP-Account an, sofern nicht bereits vorhanden.

Bitte nutzen Sie entweder den PHP.INI-Editor aus dem Kundenmenü oder legen eine php.ini im Shopverzeichnis ab, die folgende Werte beinhalten sollte:

  • upload_max_filesize = 15M
  • magic_quotes_gpc = off
  • register_globals = off
  • allow_url_fopen = on

Da wir anstelle von Zend bei PHP 5.3 den Ioncube-Loader verwenden möchten, muss dieser noch per PHP.INI eingebunden werden. Entweder laden Sie sich diesen manuell herunter und legen diesen in einem Verzeichnis ab, das sie per PHP.INI einbinden oder Sie halten sich an die FAQ von domainfactory: https://www.df.eu/de/service/df-faq/technische-faq/phpini-editor/

Somit ändern wir im PHP.INI-Editor einfach den Pfad der zend_extension auf “zend_extension=/usr/local/lib/php_modules/5-53LATEST/ioncube_loader_lin_5.3.so” ab und setzen beim extension_dir direkt noch “extension_dir=/usr/local/lib/php_modules/5-53LATEST ein und im freien Textfeld erstellen wir diesen Eintrag: extension=”zip.so”

Dadurch ist auch die ZIP-Extension mit installiert und wir können mit der eigentlichen Installation von Shopware beginnen.

Installation:

Ich entscheid mich für den Online-Installer, der auch auf der genannten Seite verlinkt ist, so sparen wir uns das Herunterladen der ganzen Software, entpacken, Hochladen etc.

Nach dem Auruf des Online-Installers wird zunächst die Shop-Domain angegeben. Sollte diese bereits in ein Verzeichnis /shop o.ä. verlinken, so ist diese nicht zusätzlich beim Pfad im Dialog anzugeben. Anschließend bitte die FTP-Benutzerdaten, das FTP-Passwort sowie den FTP-Server nebst dem Port 21 eintragen. Ist alles korrekt, so kann eine Verbindung aufgebaut werden und Sie können einen Pfad auswählen. In meinem Fall ist dies einfach ‘/’, da der FTP-Account bereits auf das Shopverzeichnis auf dem Webspace zeigt.

Sind die Vorbereitungen alle korrekt durchgeführt worden, so sollte es im zweiten Schritt bei der Überprüfung der Systemvoraussetzungen keine Punkte geben, die als nicht erüllt gelten. Mit einer Ausnahme: dem Zend Optimizer. Sollten hier noch Einstellungen fehlen oder geändert werden müssen, so schafft der PHP.INI-Editor im Kundenmenü von domainfactory Abhilfe, über den die Werte einfach angepasst werden können.

In den Vorbereitungen wurden die upload_max_filesize von 8 auf 15MB erhöht (empfohlen mind. 10), magic_quotes deaktiviert und allow_url_fopen aktiviert. Ebenfalls vollkommen korrekt wäre die fehlende zip-Unterstützung sowie ein fehlender Zend- und/oder Ioncube-Loader vom Prüfskript angemeckert worden. Zend ignorieren wir, da es sich, wie eingangs erwähnt, um eine PHP 5.3-Version handelt und wir stattdessen den Ioncube-Loader nutzen werden.

Shopware 3.5 PHP.INI Einstellungen

PHP.INI Einstellungen

Sind alle Fehler bis auf den des Zend Optimizers behoben, fahren wir im Installationsvorgang fort, der im dritten Schritt nach den Einstellungen für die Datenbank fragt, die bitte mit dem Datenbankbenutzer, dessen Passwort, dem Server mysql5.ihredomain.endung und dem Datenbanknamen ausgefüllt werden. Der Port kann auch default stehen bleiben, ebenso die nachfolgenden Einstellungen für PDO.

Im nächsten Reiter wird nun nach der gewünschten Version von Shopware gefragt. Ich empfehle die Version mit Demodaten, damit man auch etwas sieht und natürlich die für Ioncube. Methode und Format dürfen “auto” bleiben und Sie sollten sich noch einen Adminbenutzer überlegen und dessen Passwort im Dialog hinterlegen.

Mit einem Klick auf “Start” beginnt der Wizard die Daten auf den Webspace herunterzuladen, zu entpacken und zu installieren. Dies kann einige Minuten dauern, im Test waren es gute 10 Minuten. Sobald die Installation abgeschlossen ist, erhalten Sie eine Willkommensmeldung und werden zum Backend weitergeleitet.

Shopware 3.5 Login

Loginseite Shopware 3.5

Abschluss: Rewrite Base anpassen

Nicht erschrecken, sollte eine Fehlermeldung ala ‘Internal Server Error’ erscheinen. Darum kümmern wir uns direkt 🙂

In dem Verzeichnis, in das der Shop installiert wurde, befindet sich eine .htaccess-Datei. Darin muss die folgende Zeile angepasst werden:

#RewriteBase /shopware/

Leitet die (Sub)Domain direkt in das Shop-Verzeichnis, so muss die Zeile bitte geändert werden in:

RewriteBase /

Danach sollte der Shop erreichbar sein und Sie können sich über http://ihredomain.tld/backend/ in den Shop einloggen. Gratuliere!

2 Antworten

  1. Sven 27. Juni 2012 / 23:56

    Bei Domaingo deaktiviert mal Magic Quotes so:

    magic_quotes_gpc = off

Schreibe einen Kommentar zu Sven Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert