Magento Update
Aus ShopleiterWiki
Inhaltsverzeichnis |
1.3.2 Updates, Patches und Bugfixes
Einer der besonderen Vorteile von Magento liegt in der laufenden Fortentwicklung und Erweiterung dieser Open-Source-Lösung. Einem Shop-Betreiber nützen die besten Updates, Patches und Bugfixes nichts, wenn die Aktualisierung umständlich, technisch kompliziert oder sogar fehlerhaft abläuft. Die Shop-Software bietet Ihnen hierfür ein besonders komfortables Feature. So ist ein Software-Update mit wenigen Mausklicks durchführbar. Als SystemadminiStrator öffnen Sie im Backend den Magento Connect Manager über „System › Magento Connect › Magento Connect Manager“, alternativ funktioniert der direkte Aufruf im Browser mit www.domain.tld/downloader/.
Falls die Fehlermeldung „Please check for sufficient write file permissions” erscheint, so verwenden Sie nicht die korrekten Verzeichnisrechte. Das Problem liegt am PEAR-Prozess, der schreibend oder löschend auf alle Daten zugreifen möchte. Zur Korrektur benötigen Sie Zugriff per SSH, z.B. per PuTTY, um folgende Befehle im Magento-Root-Verzeichnis auszuführen (ACHTUNG: Extreme Vorsicht walten lassen beim Ausführen der Befehle im Shop-Ordner!!! Nicht, dass Sie versehentlich die Rechte des gesamten Webservers abändern.):
cd /SUBDIRECTORY
find . -type d -exec chmod 777 {} \;
find . -type f -exec chmod 666 {} \;
Listing 1.18: Fehlende Verzeichnisrechte für Magento Connect Manager setzen
Dadurch werden auf dem Webserver sämtliche Verzeichnisrechte auf 777 und Dateirechte auf 666 gesetzt. Falls Ihnen suPHP/suEXEC nicht zur Verfügung steht, dann benötigt der Webserver (meist nobody oder apache) sogar Schreibrecht 777 auf die Verzeichnisse. Anschließend erscheint nicht mehr der störende Hinweis hinsichtlich noch fehlender Zugriffsrechte. Sicherheitstechnisch betrachtet, raten wir Ihnen allerdings von diesem Vorgehen ab. Zumindest sollten Sie nach erfolgtem Update, die Rechte wieder zurück setzen.
cd /SUBDIRECTORY
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod o+w var var/.htaccess app/etc
chmod 550 pear
chmod -R o+w media
Listing 1.19: Zurücksetzen der Datei- und Verzeichnisberechtigungen
Ausführliche Magento Upgrade Anleitung
Setzen und Rücksetzen der Datei- und Verzeichnisrechte
Wollen Sie, aufgrund von nachvollziehbaren Sicherheitsaspekten, nicht alle Dateien und Verzeichnisse mit weitreichenden Schreibrechten ausstatten wollen, dann empfiehlt sich folgende Vorgehensweise. Das Kommandozeilen-Programm PEAR eignet sich für diverse Installations- und Upgradeaufgaben mittels PuTTY auf Shell-Ebene.
# Aufrufen der Hilfeseite für alle verfügbaren PEAR-Kommandos cd /srv/www/vhosts/domain.tld/httpdocs/ ./pear help # Setzen des bevorzugten Stabilitätsstati: alpha, beta oder stable ./pear config-set preferred_state stable # Auflisten aller verfügbaren Upgrades ./pear list-upgrades # Neu-Installation einer zusätzlichen Paketerweiterung ./pear install magento-community/Mage_irgendeine_Paketerweiterung # Deinstallieren einer unerwünschten Paketerweiterung ./pear uninstall magento-community/Mage_irgendeine_Paketerweiterung # Upgrade einer vorhandenen Paketerweiterung ./pear upgrade magento-community/Mage_irgendeine_Paketerweiterung # Upgrade der kompletten Shop-Installation ./pear upgrade magento-core/Mage_All_Latest-stable
Listing 1.20: Upgrade von Magento mit PEAR
Update der Shop-Software
Nach dem Login im Connect Manager suchen Sie bequem nach den neuesten Upgrade-Dateien, indem Sie auf den Button „Check for Upgrades“ klicken. Die aktuell verfügbaren Upgrades stellt das System daraufhin gelb markiert dar. Dies bedeutet, dass auf dem MagentoConnect Server eine höhere als die momentan installierte Version liegt. Bitte wählen Sie die passende Version über das jeweilige Dropdown-Menü. Die nachfolgend aufgelisteten Magento Core Module und alle dazugehörigen Dateien erhöhen im Normalfall automatisch die Version des Shop-Systems:
- Interface_Adminhtml_Default
- Interface_Frontend_Default
- Interface_Install_Default
- Mage_Core_Adminhtml
- Mage_Core_Modules
Für ein Upgrade auf die aktuellste Shop-Version erledigen Sie die nachfolgend aufgeführten Aufgaben mit Hilfe des Magento Connect Managers:
- Öffnen Sie im Browser die Seite domain.tld/magento/downloader/!
- Loggen Sie sich als Benutzer mit vollen Zugriffsrechten ein!
- Wählen Sie „Clear all sessions after successfull install or upgrade“!
- Kopieren Sie „magento-core/Mage_All_Latest“ in das Extension Key Eingabefeld!
- Starten Sie die Installation mit einem Klick auf den „Install“-Button!
Möglicherweise sehen Sie anfänglich im Magento Connect Manager keine Extensions (Paketerweiterungen). Dies bedeutet lediglich, dass Sie die Dateien bislang ohne den PEAR Downloader installiert haben. In diesem Fall fügen Sie in das Eingabefeld für den Paketerweiterungsschlüssel (extension key) „magento-core/Mage_All_Latest“ ein und drücken den Install-Button. Dies installiert die Hauptpakete (Core Packages) der neuesten Shop-Version und vereinfacht die künftigen Upgrades mit Hilfe von Magento Connect. Um bestimmte Paketerweiterungen einzeln zu installieren, benötigen Sie einen spezifischen Schlüssel. Suchen Sie sich auf der Webseite connect.magentocommerce.com/ die gewünschte Erweiterung. Auf der zugehörigen Informationsseite klicken Sie auf den Button „Get extension key“ (Hole Erweiterungsschlüssel) und kopieren den angezeigten Schlüssel. Mit diesem gehen Sie zurück in den Magento Connect Manager, fügen den Schlüssel im Eingabefeld ein und starten mit einem Klick auf „Install“ die Installation.
Abhilfe durch einen kleinen Fix gibt es auch für die Fehlermeldung „Warning: in_array(): Wrong datatype for second argument in /srv/www/vhosts/wallaby.de/subdomains/magento/httpdocs/shop/downloader/pearlib/php/PEAR/REST/10.php on line 671“. Ersetzen Sie in der dort aufgeführten Datei in der Funktion betterStates „return false;“ durch „return array();“
Upgrade des Shops mit Paketerweiterungen
Wollen Sie im Magento-Shop weitere Funktionalitäten einbauen oder das Webdesign ändern? Möglicherweise hat ein anderes Community-Mitglied oder ein Magento-Partner bereits eine passende Lösung entwickelt. Schauen Sie sich online die verfügbaren Paket-Erweiterungen an, vielleicht finden Sie in den folgenden Kategorien etwas Passendes:
- Core (magento-core): Erweiterungen des Magento Entwicklerteams
- Community (magento-community): Kostenlose Open Source Erweiterungen
- Commercial (magento-commercial): Kostenpflichtige Erweiterungen
Praxis-Tipp: HTML-Editor TinyMCE und FCKeditor
Diese Erweiterung aktiviert im Backend-Bereich von Magento einen JavaScript WYSIWYG-Editor. Momentan verfügbar sind die beiden Editoren TinyMCE und FCKeditor. Im Menü „System › Konfiguration › Erweitert › Admin“ (System › Configuration › Advanced › Admin) sehen Sie unter WYSIWYG-Editor die editierbaren Bereiche. Momentan können Sie folgende Bereiche bearbeiten: Newsletter-Vorlagen, Artikel-Kurzbeschreibung, CMS-Seiten, Statische Blöcke sowie Produkt- und Kategorie-Beschreibungen.
Die Editor-Dateien finden Sie per FTP hier: /js/fontis/.
Durch den Einsatz des Magento Connect Managers sind künftige Upgrades mittels Extensions eine leichte Aufgabe. Jedoch sollten Sie unbedingt einige Dinge beachten:
- Erstellen Sie eine Datensicherung Ihrer kompletten Shop Installation!
- Suchen Sie im Connect Manager nach den neuesten Paketerweiterungen!
- Wählen Sie im Bereich „Actions“ die gewünschte (bevorzugt stabile) Version aus!
- Setzen Sie den Haken bei „Clear all sessions after successfull install or upgrade“!
- Starten Sie den Installationsvorgang mit einem Klick auf „Commit Changes“!
- Beobachten Sie den Fortschritt im Konsolenfenster nach Fehlermeldungen!
- Klicken Sie auf den „Refresh“-Button!
In Kapitel 3 zeigen wir Ihnen, wie Sie mittels Eclipse und dem SVN-Repository von Magento auf die aktuellste Version umstellen. Für technisch weniger versierte Shop-Betreiber funktioniert selbstverständlichauch der ganz normale Download der Upgrade-Dateien. Die übliche Vorgehensweise bei einem Upgrades ist die folgende:
- Erstellen Sie mit phpMyAdmin eine Sicherung der Datenbank!
- Machen Sie eine Sicherung aller selbst modifizierten Dateien!
- Sichern Sie den /media/-Ordner, der alle Produkt-/Kategorie-Bilder beinhaltet!
- Speichern Sie eine Kopie der /app/etc/local.xml-Datei!
- Holen Sie sich per SVN oder Download die aktuellen Installationsdateien!
- Entpacken Sie alle Dateien auf Ihre lokale Arbeitsstation!
- Löschen Sie den Ordner-Inhalt von /var/cache/ ind /var/session/!
- Zeigen Sie mit dem Browser auf eine Shop-Seite, dann startet der DB-Upgrade!



