Shopware 5 ist super, da sind wir uns einig. Man kann schon sehr viel mehr im Admin Bereich anpassen aber uns ist das natürlich nicht genug und daher basteln wir uns gerne eigene Themes. Damit wir dafür nicht bei jeder einzelnen Anpassung Dateien hochladen müssen installieren wir uns Shopware 5 mit XAMPP auf einem lokalen Server. Wie wir das genau machen zeigen wir in diesem Tutorial. Das Tutorial wurde an einem Mac Rechner erstellt, daher können einige Dinge bei Windows Usern abweichen.

Inhaltsübersicht, Shopware 5 lokal installieren:

  1. Vorbereitung
  2. Was ist XAMPP
  3. Computer Nutzer
  4. Shopware 5 downloaden
  5. Dateien im htdocs Ordner ablegen
  6. Voraussetzungen prüfen
  7. Datenbank einrichten
  8. Die Installation

1. Shopware 5 lokal installieren – Vorbereitung

Um Shopware 5 lokal zu installieren benötigen Sie folgende Dinge:

  • Einen Computer
  • Eine halbwegs aktuelle XAMPP Version
  • Die neuste Shopware Community Software
  • Ein bißchen Geduld
  • Etwas im Magen und genug zu trinken

Sofern Sie alle Dinge zusammen haben, können Sie mit der lokalen Installation von Shopware 5 fortfahren.

2. Shopware 5 lokal installieren – Was ist XAMPP

XAMPP simuliert kurz gesagt das Internet auf dem lokalen System und macht es möglich PHP Dateien auszuführen ohne im Internet zu sein. Zusätzlich lassen sich auch Datenbanken anlegen die mit den PHP Dateien, wie zum Beispiel bei Shopware 5, verknüpft werden können. So ist es möglich eine Webseite zu erstellen, zu erweitern und zu testen.  Hier kann XAMPP geladen werden: XAMPP runterladen.

3. Shopware 5 lokal installieren – Computer Nutzer

Für die ganz Ordentlichen: Legt euch zur Arbeit an Themes einen neuen Nutzer an. Aus Sicherheitsgründen sollten nie Haupt-Admin User zur Arbeit an einer Webseite verwendet werden. Außerdem kann man den Desktop des zusätzlichen Nutzers optimal zum Arbeiten an Themes einrichten.

4. Shopware 5 lokal installieren – Shopware 5 downloaden

Ohne Shopware 5, keine Shopware 5 Installation – also auf zur Downloadseite. Ist die aktuelle Shopware 5 (Community Edition) Zip-Datei geladen, muss die Datei zunächst entpackt werden.

5. Shopware 5 lokal installieren – Dateien im htdocs Ordner ablegen

Sind die Dateien geladen und entpackt sollte der Oberordner am besten in shopware5 umbenannt und dann im htdocs Ordner abgelegt werden. Dann ist dieser Teil schon geklärt. Jetzt brauchen wir noch eine Datenbank und sollten noch kurz die Voraussetzungen prüfen.

Halt! Da gibt es noch eine Sache die ihr gleich beachten solltet: Die Lese- und Schreibrechte des Ordners sollten vorsichtshalber gleich angepasst werden. (Siehe auch Punkt 7d) Wie kommt ihr dahin? Mit einem Rechtsklick auf den Shopware Ordner könnt ihr unterschiedliche Dinge auswählen. Wir müssen in den Bereich Informationen und dann unten zu dem Punkt Teilen & Zugriffsrechte.

Als erstes stellt ihr bei jedem User alles auf Lesen & Schreiben, dann geht ihr rechts unten in der Ecke auf das Schloss und öffnet es per Eingabe eures Logons für den Rechner. Ist das Schloss geöffnet geht ihr als nächstes aus das Zahnrad links in der Ecke und wählt die Option Auf alle Unterobjekte anwenden… aus.

6. Shopware 5 lokal installieren – Voraussetzungen prüfen

Bevor ihr eure Datenbank anlegt solltet ihr zunächst noch prüfen, ob eure XAMPP Installation alle nötigen Voraussetzungen erfüllt. Klickt auf diesen Link: http://localhost/shopware5/ um im 2. Schritt der Installation festzustellen, ob alle Voraussetzungen erfüllt werden. (Um die Seite aufrufen zu können, muss der Apache Server aktiviert sein und Shopware im Ordner shopware5 abgelegt sein. Habt ihr den Ordner anders genannt müsst ihr halt auf: http://localhost/anders/ )

Als ich es das 1. Mal probiert habe, sah es da noch nicht so gut aus:

Shopware 5 lokal installieren -Voraussetzungen

Shopware 5 lokal installieren -Voraussetzungen

Problem a) Bei dem oberen roten Block gab es Probleme mit den Zugriffsrechten, weshalb ich die Rechte des htdocs Orders anpassen musste.

Problem b) Dann gab es das Problem, mit dem nicht vorhandenen ionCube Loader, was aber bei lokalen Installationen ohne irgendwelche wilde Plugins auch nicht so wichtig ist. Wer aber einfach lieber bei allen Voraussetzungen einen grünen Balken sehen möchte, kann den Loader nachinstallieren: Zuerst laden wir uns den aktuellen ionCube Loader, passend für unser jeweiliges System, von der offiziellen Seite runter: Offizielle ionCube Seite.

Shopware 5 lokal installieren - ionCube Loader Versionen

Shopware 5 lokal installieren – ionCube Loader Versionen

Ist die passende Version lokalisiert und geladen, sollten Sie den Anweisungen in der entsprechenden README.txt folgen. Für mich bedeutet das: Ich entzippe die Datei und lade den Ordner mit dem Namen ioncube in die oberste Ebene meines htdocs Ordners. Als nächstes rufe ich die Seite: http://localhost/ioncube/loader-wizard.php auf um das Plugin zu installieren. Mein Apache Server ist hierfür aktiviert, da ich sonst die PHP Datei nicht aufrufen könnte.

Als ich die Seite aufrief wurde ich noch einmal aufgefordert die entsprechende tar.gz Datei herunterzuladen und in folgendem Ordner abzulegen: xamppfiles/lib/php/extensions/no-debug-non-zts-20131226 – ich gehe aber mal davon aus, dass das von Installation zu Installation unterschiedlich ist, wo letztendlich die Dateien abgelegt werden müssen.

Nachdem ich die Dateien (dieses Mal nicht den ganzen Ordner, sondern nur seinen Inhalt) nun im gewünschten Ordner abgelegt habe musste noch die PHP.ini Datei im Ordner xamppfiles/etc angepasst werden – dort habe ich gleich nach der ersten Zeile folgendes eingefügt:


; Zusatz für ionCube Loader
zend_extension = /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/ioncube_loader_dar_5.6.so

Übrigens konnte ich die PHP.ini Datei zunächst, aufgrund fehlender Zugriffsrechte, nicht bearbeiten. Um die Datei bearbeiten zu können habe ich ihr temporär erweiterte Zugriffsrechte gegeben.

Die Loader Wizard Datei habe ich danach (ohne den Rest des Ordners) in den htdocs Ordner gelegt und dann unter der Adresse http://localhost/loader-wizard.php erneut aufgerufen. Dort kam nun die Information, dass der ionCube Loader (noch) nicht (ganz) installiert wurde und der Apache Server neu gestartet werden sollte.

Das habe ich dann auch gemacht und wurde mit folgender Meldung belohnt:

Shopware 5 lokal installieren - ionCube Loader installiert

Shopware 5 lokal installieren – ionCube Loader installiert

Nach der erfolgreichen Mission habe ich dann auch die soeben aufgerufene Datei wieder gelöscht, da Sie danach ja nicht mehr benötigt wird.

Problem c) memory_limit nur 128 statt 256 MB – In der PHP.ini Datei muss folgende Zeile angepasst werden:

memory_limit=128M

256 eingeben, speichern, dann den Server neu starten – fertig.

Problem d)  Einmal kam bei der Installation dieser schreckliche Fehler:
Error
Received the following error message:
SQLSTATE[HY000]: General error: 1036 Table 's_attribute_configuration' is read only

Please try to fix this error and restart the update.
Response

{"query":"INSERT INTO `s_attribute_configuration` VALUES (1,'s_articles_attributes','attr3','text',NULL,3,1,1,0,'Optionaler Kommentar','','Kommentar','NULL',NULL),(2,'s_articles_attributes','attr1','text',NULL,1,1,1,0,'Freitext zur Anzeige auf der Detailseite','','Freitext-1','NULL',NULL),(3,'s_articles_attributes','attr2','text',NULL,2,1,1,0,'Freitext zur Anzeige auf der Detailseite','','Freitext-2','NULL',NULL)","success":false,"offset":400,"errorMsg":"SQLSTATE[HY000]: General error: 1036 Table 's_attribute_configuration' is read only"}

Ich konnte es nicht beheben und habe XAMPP komplett neu installiert…

UPDATE, 18.03.2019: Wenn man vorher seine my.cnf Datei angepasst hat, kann es sein, dass der Fehler daher rührt, die Datei befindet sich auf Mac Installationen im Ordner: xamppfiles/etc – die Zeile die ich zu viel drin hatte, die ich dann auskommentiert hatte war:
innodb_force_recovery = 1. Was ich bei dem Anlauf (glaube ich) auch geändert hatte war der Port bei der Installation. Der ist normalerweise 3306, manchmal kann es da aber Probleme bei geben zum Beispiel und der MySQL Server startet nicht wenn man auch Skype installiert hat was auf dem gleichen Port läuft – dann muss eben diese .cf Datei angepasst werden.

#1. Open XAMPP Installation Directory
#2. Open "etc" Folder
#3. Find "my.cnf" file and open it in any text editor
#4. Change Port from 3306 to 3307 (if you have installed skype or other apps)
#5. Add "innodb_force_recovery=1" under "myisam_sort_buffer_size=8M"
#6. Save "my.cnf" file
#7. Restart Mysql Server By Your Terminal by command:
"sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start"

You Get A message "Starting MySQL SUCCESS! "
Quelle: https://stackoverflow.com/questions/27835348/mysql-database-cannot-start-on-xampp-for-mac

Problem e)  (Update vom 3.5.2017) Die geheime Passphrase in der Konfiguration (blowfish_secret) ist zu kurz. Wenn man XAMPP frisch installiert ist es gut möglich, dass folgender Fehler ganz unten im phpmyadmin Bereich angezeigt wird:

Shopware 5 lokal installieren - Blowfish secret Fehler

Shopware 5 lokal installieren – Blowfish secret Fehler

Diese Anzeige muss zwar nicht zwingend zu einem Fehler der Shopware 5 Installation führen, jedoch kann es nicht schaden auf einer fehlerfreien Umgebung zu arbeiten. Um das Passwort auf die gewünschten 32 Zeichen zu bringen öffnen wir in einem Editor die Datei xamppfiles/phpmyadmin/config.inc.php und suchen nach folgender Zeile:

$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */

um selbige dann mit dieser Zeile zu ersetzen:

$cfg['blowfish_secret'] = '32ZeichenSindJaSchonZiemlichLang';

Natürlich könnt ihr auch ein x-beliebiges anderes Passwort einsetzen, aber dieses hat auf jeden Fall genau 32 Zeichen und lässt sich hervorragend kopieren. Um die Datei bearbeiten zu können muss man die Zugriffsrechte erweitern, sollte diese nach der Bearbeitung aber wieder zurücksetzen.

Ruft man nun den phpmyadmin Bereich werden ein paar Fehler angezeigt und man muss sich neu einloggen. Die Fehler vor dem Login muss man nicht beachten und wenn man eingeloggt ist, sieht man, dass der „Blowfish Fehler“ nicht mehr angezeigt wird.

7. Shopware 5 lokal installieren – Datenbank einrichten

Öffne zunächst XAMPP und aktiviere MySQL Database und den Apache Web Server. Wird Apache nicht aktiviert kann PHP nicht funktionieren und ohne MySQL funktionieren die Datenbanken nicht. Auf dem Mac sieht das so aus:

Shopware 5 lokal installieren - XAMPP starten

Shopware 5 lokal installieren – XAMPP starten

Sind Server und Datenbank aktiviert, kann der Lokale Server unter: http://localhost/ aufgerufen werden. Wenn der Server funktioniert landet man als erstes auf der XAMPP Startseite:

Shopware 5 lokal installieren - XAMPP Startseite

Shopware 5 lokal installieren – XAMPP Startseite

Klickt nun, im Menü ganz rechts, auf phpMyAdmin um zur Übersicht der Datenbanken zu gelangen. Ist das getan öffnet sich ein Fenster wo man links auf den Neu Button klicken kann, um eine neue Datenbank anzulegen. Nach dem Klick auf Neu öffnet sich ein Fenster indem ihr alle vorhandenen Datenbanken angezeigt bekommt und eine neue Datenbank anlegen könnt. Tragt dort links in das Feld den Datenbanknamen ein, z.B.: shopware5 und wählt dann rechts bei Kollation: utf8_general_ci

Shopware 5 lokal installieren - phpMyAdmin Übersicht

Shopware 5 lokal installieren – phpMyAdmin Ubersicht

Nach dem Klick auf Anlegen erscheint die neue Datenbank auch links in der Liste bei den anderen 4 Datenbanken die schon vorher da standen.

Problem d) Ein anderes mal hatte ich bevor ich überhaupt irgendetwas von Shopware sehen konnte diese Fehlermeldung hier:

Shopware 5 lokal installieren

Was es uns sagen will? Ganz einfach: Die Zugriffsrechte für den Ordner waren noch zu eng geschnürt. Nachdem ich allen Usern das Lesen&Schreiben erlaubt habe war das Problem gelöst. Hierbei ist auch wichtig, dass dies rekursiv für alle (Unter-) Ordner gilt.

8. Shopware 5 lokal installieren – Die Installation

Wenn die Dateien abgelegt sind, alle Voraussetzungen erfüllt werden und die Datenbank angelegt ist, kann folgende Adresse aufgerufen werden um den Shop zu installieren: http://localhost/shopware5/recovery/install bzw. wenn die Voraussetzungen Seite noch geöffnet und alles grün ist, kann einfach auf Weiter geklickt werden um mit der Installation fortzufahren.

ACHTUNG: Falls die Seite nicht angezeigt wird, liegt es höchstwahrscheinlich daran, dass die (unsichtbare) .htaccess Datei nicht mit in den Ordner kopiert wurde. Schaue in dem Ordner nach indem du dir auch unsichtbare Dateien anzeigen läßt. Bei Mac mit der Tasten-Kombination: Shift + CMD + Punkt Zeichen

Was jetzt noch passieren kann ist, dass ein Passwort für den root User in phpmyadmin angelegt werden muss um die PHP Dateien an die Datenbank anzubinden.

Hierfür ist folgendes zu tun: Zunächst wird im phpmyadmin Bereich folgende Zeile in die SQL Konsole geschrieben und abgespeichert – das Wort DeinPasswort sollte entsprechend angepasst werden:

SET PASSWORD FOR root@localhost = PASSWORD('DeinPasswort');

 

Shopware 5 lokal installieren - root Passwort

Shopware 5 lokal installieren – root Passwort

Als nächstes muss die config.inc.php Datei etwas angepasst werden.Die Datei befindet sich im Ordner: xamppfiles > phpmyadmin

Shopware 5 lokal installieren - config.inc

Shopware 5 lokal installieren – config.inc

Zunächst muss man diese Zeile finden:


$cfg['Servers'][$i]['auth_type'] = 'config';

und dann gegen diese Zeile austauschen:


$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Neuer Type wegen Passwort

ich mache es meistens so, dass ich die alte Zeile „verstecke“ und die neue da drunter kopiere:


// $cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Neuer Type wegen Passwort

So dann kann man noch einmal den Server starten und danach dann relativ problemlos Shopware 5 lokal installieren. Bei der Datenbank Installation ist der User nun root und das Passwort was ihr zuvor angelegt habt.

Alles weitere ist dann wieder identisch wie bei der „normalen“ Shopware 5 Installation, zu der wir auch einen Beitrag geschrieben haben.

Kleines Nachwort:
Ich benutze für die Anpassungen an Shopware Theme-Codes (auf dem Mac) den NetBeans Editor. Praktischerweise kennt der sich auch mit der LESS Kompilierung aus und nimmt einem etwas Arbeit ab. Die LESS Dateien werden beim Speichern direkt kompiliert, wenn man die Einstellung vornimmt. Für gewöhlich geht beim ersten Mal ein Fenster auf wie dieses:

Shopware 5 lokal installieren - NetBeans

Shopware 5 lokal installieren – NetBeans

Weiterführende Links & Quellen zum Thema Shopware 5 lokal installieren:

Shopware 5 lokal installieren mit MAMP:
http://8mylez.com/blog/shopware-5-lokal-mamp-pro/

Stackoverflow Beitrag zum Thema root User Passwort:
http://stackoverflow.com/questions/12224431/create-a-root-password-for-phpmyadmin

Nerd Video zum Thema Die geheime Passphrase in der Konfiguration (blowfish_secret) ist zu kurz:
https://www.youtube.com/watch?v=gMKn22-yJAs