Installation von Shopware 3.5 unter Mac OS X

Hallo zusammen, da ja hier einige von euch Probleme bei der Installation von Shopware 3.5 CE haben, stelle ich euch hiermit ein Tutorial zur Seite, welches die Installation der aktuellen Version unter Mac OS X aufzeigt. Benötigte Programme: MAMP - http://www.mamp.info/de/index.html Shopware 3.5 - http://www.shopware.de/shopware-community-edition-download/ Firefox - http://www.mozilla-europe.org/de/firefox/ Addon Webdeveloper - https://addons.mozilla.org/de/firefox/addon/60/ 1. Vorbereitungen Downloadet euch MAMP, entpackt das Zip-Archiv und mountet die DMG per Doppelklick. Im sich öffnenden Fenster zieht Ihr jetzt per Drag & Drop den Ordner names „MAMP“ in eueren „Applikations“-Ordner. 2. Einrichtung von MAMP Als Nächstes startet Ihr MAMP und geht hier unter Einstellungen. Wechselt jetzt zum Tab Ports und klickt auf den Button „Standard Apache und MySQL Ports“, so dass die Portangaben so aussiehen wie auf den folgenden Screenshot: Dann wechselt Ihr auf den Tab PHP, stellt die PHP Version auf „5.2.13“ und aktiviert den „Zend Optimizer“. Ob Ihr ein Cache benutzen wollt, ist euch überlassen. Wenn Ihr die Einstellungen vorgenommen habt, sollte es so aussehen: Nun könnt Ihr die Einstellungen per Klick auf den Button „OK“ speichern und den Server Klick auf „Server starten“ neu starten. Ggf. werdet Ihr nach euren Accountpasswort gefragt um die Ports umzubiegen. Wenn alles korrekt eingestellt ist und der Server gestartet ist, dann sollte eurer MAMP-Fenster wie folgt aussehen. 3. Installation Shopware 3.5 Wechselt jetzt in das entpackte Verzeichnis von Shopware 3.5 names „shopware_350“ und schaut nach ob bei euch eine Datei mit den Namen „.htaccess“ gibt. Falls dies nicht der Fall ist, dann liegt dass daran das Mac OS X alle Dateien, die mit einen Punkt anfangen, versteckt. Um dieses Verhalten diese Dateien dennoch anzuzeigen, öffnet Ihr das Terminal, welches im Lieferumfang von Mac OS X dabei ist und führt folgende Befehle aus: defaults write com.apple.finder AppleShowAllFiles TRUE killall Finder Euer Terminalfenster sollte jetzt wie folgt aussehen: Wenn Ihr die Installation abgeschlossen habt, dann könnt Ihr mit folgenden Befehlen die versteckten Dateien wieder ausblenden defaults write com.apple.finder AppleShowAllFiles FALSE killall Finder Wenn Ihr jetzt wieder in das entpackte Shopware Verzeichnis wechselt, dann seht Ihr dass es jetzt plötzlich eine Datei names „.htaccess“ gibt. Nun könnt Ihr weiter machen :slight_smile: Jetzt kopiert Ihr euch den kompletten Inhalt des Ordners „shopware_350“ und fügt ihm unter „/Programme/MAMP/htdocs“ ein. 4. Einrichtung der Datenbank Wechselt jetzt wieder zurück zu MAMP und klickt auf den Button „Startseite öffnen“. Im nun folgenden Fenster klickt Ihr jetzt auf „phpMyAdmin“. Im jetzt geöffneten Fenster legt Ihr jetzt wie auf den Screenshot zu sehen eine neue Datenbank mit den Namen „shopware“ an. Klickt jetzt in der linken Spalte auf die erstellte Datenbank. Jetzt wechselt Ihr zum Tab „Importieren“ und wählt unter „Zu importierende Datei“ die „import.sql“ aus, welche sich unter „/Programme/MAMP/htdocs“ befindet und klickt jetzt und rechts auf den Button „OK“ den Import zu starten. Wenn alles gut gegangen ist sollten jetzt insgesamt 186 Tabellen in eurer Datenbank sein. Dies ist die Grundstruktur, die Shopware in der Datenbank erwartet und benötigt. Jetzt muss nur noch eurer Host in die Datenbank eingetragen werden. Um euch diesen Schritt zu erleichtern, klickt Ihr jetzt einfach auf SQL und fügt folgenden Query in den Textfeld ein und bestätigt die Ausführung des Querys mit einen Klick auf den Button „OK“ UPDATE `s_core_config` SET `value` = 'localhost' WHERE `s_core_config`.`id` =4; UPDATE `s_core_config` SET `value` = 'localhost' WHERE `s_core_config`.`id` =9; UPDATE `s_core_multilanguage` SET `domainaliase` = 'localhost' WHERE `s_core_multilanguage`.`id` =1; 5. Aktivieren der lokalen Installation Jetzt öffnet Ihr Firefox mit installierten „Webdeveloper“ Addon. Geht jetzt auf „http://localhost/backend/“ und meldet euch mit den Benutzer „demo“ und den Passwort „demo“ im Shopware Backend an. Jetzt seht Ihr dass das Aktivierungfenster von Shopware hoch kommt. Klickt hier auf den Button „Community Version freischalten“ und gebt Ihm nächsten Schritt eure E-Mailadresse an um einen Freischaltungscode zu erhalten. Kopiert euch jetzt den gerade per E-Mail erhalten Code in die Zwischenablage und wechselt jetzt auf den Tab "Eingabe Lizenz". Hier fügt Ihr jetzt den gerade kopierten Code in die Felder „Lizenzschlüssel“ und „Aktivierungskey“ und klickt auf den Button „Aktivieren“. 6. Zusammenfassung Nach dem automatischen Neuladen des Backend ist jetzt eure Shopware Installation abgeschlossen und Ihr könnt beginnen Shopware zu nutzen. Falls Ihr bei der Installation schon den Shop unter "http://localhost" aufgerufen habt und jetzt einen Fehler erhaltet, dann löscht bitte alle Cookies mit den Webdeveloper Addon und aktualisiert den Shop nach den Löschen des Shopcaches neu. Den Shopcache könnt Ihr unter „Einstellungen -> Shopcache leeren“ entleeren. Viel Spaß und Erfolg mit der neuen Shopware Version :shopware:

Zunächste einmal besten Dank für die sehr ausführliche Installationsanleitung. Dennoch, ich traue es kaum zu sagen, bei mir funktioniert es leider nicht! Seit Tage versuche ich nun eine Testdatenbank unter MAMP (v 1.9.2) und OSX (10.5.8) zu installieren, wie gesagt, ohne Erfolg. Ich komme einfach nicht ins Backend sondern erhalte immer wieder folgende Fehlermeldung: Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected’ in /Applications/MAMP/htdocs/engine/Enlight/Vendor/Zend/library/Zend/Db/Statement/Pdo.php:228 Stack trace: #0 /Applications/MAMP/htdocs/engine/Enlight/Vendor/Zend/library/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /Applications/MAMP/htdocs/engine/Enlight/Vendor/Zend/library/Zend/Db/Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array) #2 /Applications/MAMP/htdocs/engine/Enlight/Vendor/Zend/library/Zend/Db/Adapter/Abstract.php(468): Zend_Db_Statement->execute(Array) #3 /Applications/MAMP/htdocs/engine/Enlight/Vendor/Zend/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query(‘DESCRIBE s_cor...', Array) #4 /Applications/MAMP/htdocs/engine/Enlight/Vendor/Zend/library/Zend/Db/Adapter/Pdo/Mysql.php(156): Zend_Db_Adapter_Pdo_Abstract-\>query('DESCRIBE s_cor…’) #5 /Applications/MAMP/htdocs/engine/Enlight/Vendor/Zend/library/Zend/Db/Table/Abstract.php(8 in /Applications/MAMP/htdocs/engine/Enlight/Vendor/Zend/library/Zend/Db/Statement/Pdo.php on line 234 Der Vollständigkeit halber: ich bin genau nach der Beschreibung vorgegangen! Auch die herkömmliche Installationsanweisungen von Shopware helfen nicht weiter und liefern das gleiche Ergebnis. Weiss einer wo der Fehler liegt?

Hat jetzt nichts mit MAC OS X zu tun, sondern eine generelle XAMP-Frage. Bin nämlich bisher daran gescheitert, Shopware lokal darunter zum Arbeiten zu bewegen. UPDATE s_core_config SET value = ‚localhost‘ WHERE s_core_config.id =4; UPDATE s_core_config SET value = ‚localhost‘ WHERE s_core_config.id =9; UPDATE s_core_multilanguage SET domainaliase = ‚localhost‘ WHERE s_core_multilanguage.id =1; Das geht ja davon aus, dass shopware direkt in htdocs liegt, ich muss das aber in einem Unterverzeichnis haben (localhost/shopware_powertemplate\shopware). Habe trotzdem über all mal „localhost“ eingegeben… Der Shop läuft zwar an, bringt aber dann den folgenden Fehler: [quote]Fatal error: Class ‚Enlight_Hook_HookManager‘ not found in H:\Apache Group\Apache\htdocs\shopware_powertemplate\shopware\engine\Enlight\Enlight\Application.php on line 62[/quote] Bevor der Fehler Auftritt ist schon einiges geschehen, und ich konnte mit einem Debugger verifizieren, dass z.B. alle mit „require_once“ angeforderten Dateien auch richtig gefunden und geladen werden. An der rot markierten Zeile allerdings tritt dann der Fehler auf. [quote] require_once($this->CorePath().‚Exception.php‘); require_once($this->CorePath().‚Hook.php‘); require_once($this->CorePath().‚Singleton.php‘); require_once($this->CorePath().‚Class.php‘); require_once($this->CorePath().‚Loader.php‘); $this->_loader = new Enlight_Loader(); $this->_loader->registerNamespace(‚Enlight‘, $this->CorePath()); $this->_loader->registerNamespace($this->App(), $this->AppPath()); $this->setOptions($options); [color=#FF0000] $this->_hooks = new Enlight_Hook_HookManager(); [/color] $this->_events = new Enlight_Event_EventManager(); $this->_plugins = new Enlight_Plugin_PluginManager(); [/quote] Any idea, anybody? Wo werden die Klassen „Enlight_Hook_HookManager“, „Enlight_Event_EventManager“, „Enlight_Plugin_PluginManager“ denn geladen? Habe jetzt selbst mal nachgeschaut… „Enlight_Hook_HookManager“ wird in „shopware_powertemplate\shopware\engine\Enlight\Enlight\Hook\HookManager.php“ definiert, ich kann aber nirgendwo im Shopware-Code eine Stelle finden, in der „HookManager.php“ geladen würde, so dass diese Fehler Meldung berechtigt ist. Wieso funktioniert das dann aber online???

[quote=“avenger”] Any idea, anybody? Wo werden die Klassen “Enlight_Hook_HookManager”, “Enlight_Event_EventManager”, “Enlight_Plugin_PluginManager” denn geladen? Habe jetzt selbst mal nachgeschaut… “Enlight_Hook_HookManager” wird in “shopware_powertemplate\shopware\engine\Enlight\Enlight\Hook\HookManager.php” definiert, ich kann aber nirgendwo im Shopware-Code eine Stelle finden, in der “HookManager.php” geladen würde, so dass diese Fehler Meldung berechtigt ist. Wieso funktioniert das dann aber online???[/quote] Ich habe mich mal dran gemacht, das Problem zu debuggen, und herausgefunden, dass das 2 böse Fallen waren… 1. Ich verwende PHPEd als Entwicklungsumgebung, und beim Debugging lief der Shop in eine Exception bei “dbg_eval()”. Ursache: Im “Watch”-Fenster des Debuggers befanden sich Überwachungs-Ausdrücke aus meinem OXID-Debugging, diese Ausdrücke konnten dann natürlich nicht evaluiert werden, weshalb der Fehler auftrat. 2. ([color=#FF0000]Das war die eigentliche Problemursache![/color]) Der “localhost” meines Apache-Servers unter WINDOWS VISTA liegt im Verzeichnis “H:\Apache Group\Apache\htdocs”, und das Leerzeichen im Pfadnamen verhinderte das (Auto-)Laden der Klassen… In “engine\Enlight\Enlight\Loader.php” wird beim Laden von Klassen nämlich auch geprüft (über “checkFile($path)”, ob der angegebene Pfad valide ist. protected static function checkFile($path) { return !preg\_match('/[^a-z0-9\\/\\\\_.:-]/i', $path); } Das Problem: der reguläre Ausdruck zur Prüfung des Pfades (’/[^a-z0-9\/\\_.:-]/i’) erkennt ein “Leerzeichen” nicht als valides Zeichen an, und lehnt daher meinen Pfad wegen des Leerzeichens zwischen “Apache” und “Group” ab, und lädt die Klasse nicht! (Dieser Pfad entspricht aber meiner Erinnerung nach dem Standard-Vorschlag bei der Installation der beliebten XAMPP-Distribution der “Apache Friends”, so dass es wohl viele derartige APACHE-Installationen unter WINDOWS geben wird…) [color=#FF0000]Lösung:[/color] Der reguläre Ausdruck wird geändert zu: ‘/[^a-z0-9\/\\_.:-[color=#FF0000]\s[/color]]/i’, so dass ein Leerzeichen ("[color=#FF0000]\s[/color]") auch als valide akzeptiert wird. Dann klappt’s auch mit dem XAMPP unter WINDOWS!

1 Like

Nach einigem Herumprobieren habe ich Shopware unter OS X 10.6.4 und MAMP dann doch zum Laufen mit dem Zend-Paket. Folgender Hinweis könnte ganz nützlich sein: Mit den angegebenen Einstellungen von MAMP kann es zu Konflikten mit dem in OS X mitgeliefertn Apache Server (sowie evtl. nachinstalliertem mysql Server) kommen. Bisher hatte ich den Apache von MAMP in der Basiskonfiguration unter Port 8888 betrieben, was problemlos lief - für die im hier empfohlenen Einstellungen musste ich den Apache von OS X deaktivieren und zwar unter Systemeinstellungen -> Freigaben -> Webfreigaben deaktivieren. MySQL muss evtl. auch deaktiviert werden.

[quote=„avenger“]Was ist das jetzt wieder?[/quote] Ich habe die Originaldatenbank aus dem Install-Paket verwendet und wie beschrieben angepasst, und jetzt geht es…

Hallo, ich habe Shopware unter Mac OSX10.5.8 nach Anleitung Installiert. Hat auch alles gut geklappt habe die Lizenzschlüssel und Aktivierungscode eingegeben und erhalte direkt im Anschluss folgende Fehlermeldung: Fatal error: Non-static method (null)::crc64() cannot be called statically in /Applications/MAMP/htdocs/entwicklung-lokal/shopware/engine/Shopware/Plugins/Default/Core/License/Bootstrap.php on line 0 Kann hier einer nachvollziehen wo das Problem liegen könnte??? Danke schon einmal für eure Mühe :slight_smile:

Hi, ich hab mir das jetzt einmal angeschaut. Leider gibt es dafür keine einfache Lösung. Das ist wahrscheinlich ein Fehler in deinem System. Das Problem kannst du also nur lösen, wenn du deine PHP-Software und deinen Zend Optimizer bzw. deinen ionCube Loader aktualisiert. :frowning: Davor kannst du mir aber einmal eine PHP-Datei mit folgeden Inhalt erstellen und mir den Link dazu schicken. [code]

Hallo Danke für deinen Lösungsansatz. Ich nutze ja MAMP und da läuft definitiv PHP 5.2.13, in der PHPINFO steht für Zend: This program makes use of the Zend Scripting Language Engine: Zend Engine v2.2.0, Copyright © 1998-2010 Zend Technologies with the ionCube PHP Loader v3.1.32, Copyright © 2002-2007, by ionCube Ltd., and with Zend Extension Manager v1.2.2, Copyright © 2003-2007, by Zend Technologies with Zend Optimizer v3.3.9, Copyright © 1998-2009, by Zend Technologies Weiss nicht was da erforderlich ist?!? Danke für weitere Lösungsansätze…

Achso, Link schicken geht nicht ist ja Localhost. :slight_smile:

Hi, die PHP-Version und die Zend Optimizer/ionCube PHP Versionen sehen gut aus. :slight_smile: Welches Shopware-Package (Zend/ionCube ) hast du den bei dir installiert? Vielleicht funktioniert ja das andere Package bei dir. Du kannst übrigens auch die Installation über dieses Installationsscript ausführen: http://www.shopware.de/wiki/Installatio … 0_441.html Dieses enthält auch einen umfangreichen System-Check. Viele Grüße Heiner

Hallo Danke für die tolle Einführung und Anleitung, Bei mir funktioniert alles wie beschrieben aber wenn ich den Firefox mit der URL http://localhost/backend/ füttere, erhalte ich eine 404 Not Found Meldung vom Browser … Was mache ich falsch?

Nach weiteren Versuchen u.a. mit der korrekten URL (http://localhost/backend/ ;)) – das Leerzeichenproblem habe ich wie hier beschrieben ausgeschaltet - erhalte ich leider eine Fatal Errormeldung. [quote] Kann mir jemand damit helfen? Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected’ in /Applications/MAMP/htdocs/demo_350/engine/Enlight/Vendor/Zend/library/Zend/Db/Statement/Pdo.php:228 Stack trace: #0 /Applications/MAMP/htdocs/demo_350/engine/Enlight/Vendor/Zend/library/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /Applications/MAMP/htdocs/demo_350/engine/Enlight/Vendor/Zend/library/Zend/Db/Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array) #2 /Applications/MAMP/htdocs/demo_350/engine/Enlight/Vendor/Zend/library/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array) #3 /Applications/MAMP/htdocs/demo_350/engine/Enlight/Vendor/Zend/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query(‘DESCRIBE s_cor...', Array) #4 /Applications/MAMP/htdocs/demo_350/engine/Enlight/Vendor/Zend/library/Zend/Db/Adapter/Pdo/Mysql.php(156): Zend_Db_Adapter_Pdo_Abstract-\>query('DESCRIBE s_cor…’) #5 /Applications/MAMP/htdocs/demo_350/ in /Applications/MAMP/htdocs/demo_350/engine/Enlight/Vendor/Zend/library/Zend/Db/Statement/Pdo.php on line 234[/quote]