Tutorial: Magento 2 bei domainfactory installieren (2)

Magento 2 herunterladen

Quereinsteiger in dieses Tutorial beachten bitte, dass diese Anleitung für die Installation in einer Shared-Hosting-Umgebung bei domainfactory gilt und deshalb möglicherweise nicht zu Ihrer Systemumgebung passt. Bitte lesen Sie die Hinweise in Schritt 1.

Wir wollen das System zunächst ohne "Sample Data" installieren, also nur das Shopsystem ohne Beispielinhalte zur komplett eigenen Weiterkonfiguration. Die Installation des ebenfalls erhältlichen Installationspaketes mit Sample Data ist mir bei domainfactory bisher nicht gelungen, da das Setup dabei früher oder später immer abbricht. Wer aber die Beispielinhalte installieren möchte, kann das im nächsten Schritt dieses Tutorials nachträglich (und: ohne Probleme) machen.

Unter https://magento.com/tech-resources/download suchen Sie den Abschnitt "Full Release (ZIP with no Sample Data)" und wählen dort die Version 2.3.x als .tar.gz-Archiv. Bei mir ist das zur Zeit "Magento Open Source 2.3.0.tar.gz (113.77 MB)".

Nachdem Sie auf "Download" geklickt haben, möchte die Website, dass Sie sich einloggen. Erstellen Sie also ggf. zuerst einen Account, loggen Sie sich ein und laden Sie die Datei herunter.

Sobald der Download abgeschlossen ist, laden Sie die Datei per FTP hoch in das Verzeichnis auf Ihrem Webspace, das mit der Domain verbunden ist, die Sie in Schritt 1 dieses Tutorials ausgesucht und konfiguriert haben.

Nach Abschluss des Uploads öffnen Sie die Shell per SSH und navigieren in das Verzeichnis, in das Sie die Magento-Installationsdatei hochgeladen haben. Dort führen Sie den folgenden Befehl aus (achten Sie darauf, dass der Dateiname möglicherweise an Ihren Dateinamen angepasst werden muss!):

$ tar xzf Magento-CE-2.3.0-2018-11-27-10-20-34.tar.gz

Trick 1

Wenn das Verzeichnis entpackt wurde und somit alle Daten da sind, müssen alle Lese- und Schreibrechte geöffnet werden. Dies weicht von der offiziellen Empfehlung ab und stellt möglicherweise ein Sicherheitsrisiko dar. Dennoch ist es in dieser speziellen Systemumgebung notwendig, um das Ziel zu erreichen - ansonsten kommt es zu Fehlern während der Installation. Also gilt auch hier noch einmal der Hinweis, einen auf diese Weise konfigurierten Shop nicht produktiv zu schalten.

Per SSH setzen Sie in dem Verzeichnis auf dem Webspace den folgenden Befehl ab:

$ chmod -R 0777 ./

Achten Sie darauf, dass Sie sich im richtigen Ordner befinden, damit Sie nicht versehentlich Ihren gesamten Webspace auf 777 setzen.

Der Setup-Wizard

Navigieren Sie in Ihrem Browser zu der URL www.domain.de/setup.

Die einzelnen Schritte in diesem Setup-Wizard sollten eigentlich selbsterklärend sein. Bei Step 2 - der Verbindung zur Datenbank - wird es jedoch ein Problem mit den "PRIVILEGES" geben. Hier müssen wir nun zum zweiten Mal tricksen.

Trick 2

Suchen Sie die folgende Datei:

setup/src/Magento/Setup/Validator/DbValidator.php

Öffnen Sie diese mit einem Texteditor (Kommandozeile oder IDE) und fügen Sie "return true;" hier ein:

private function checkDatabasePrivileges(\Magento\Framework\DB\Adapter\AdapterInterface $connection, $dbName)
{
    return true;
    $requiredPrivileges = [
    ...

Die einzelnen Schritte:

  • Step 1: Wenn im "Readiness Check" der "PHP Extensions Check" fehlschlägt, prüfen Sie bitte, ob Sie in Schritt 1 dieses Tutorials bei den Einstellungen an der php.ini alles richtig gemacht haben. Das gilt insbesondere für Fehlermeldungen mit "intl.so". Setzen Sie ggf. die Einstellungen der php.ini wieder zurück und fangen Sie von vorne an.
  • Step 2: Der Setup-Wizard erwartet eine leere Datenbank. Bevor Sie bei eventuellen Problemen von vorne starten, sehen Sie über PHPMyAdmin nach, ob bereits Datenbank-Tabellen angelegt wurden und löschen Sie diese ggf.
  • Step 3: Belassen Sie es bei den Default-Einstellungen.
  • Step 4: Konfigurieren Sie Zeitzone, Währung und Sprache nach Ihren Bedürfnissen.
  • Step 5: Die Login-Daten können Sie frei vergeben.
  • Step 6: Es kann ein bisschen dauern, aber der Balken sollte irgendwann bei grünen 100% stehen.

Letzte Anpassungen

Wenn Sie nun die Success-Seite sehen und Ihr Frontend und Backend aufrufen, werden Sie vermutlich diverse Fehlermeldungen zu Gesicht bekommen:

  • Bei Aufruf des Frontends von Magento 2 werden keine CSS- und JS-Dateien geladen.
  • Bei Aufruf des Backends von Magento 2 erscheint ein 500er-Fehler.

RewriteBase fixen

Öffnen Sie die Datei .htaccess im Root des Magento-Verzeichnisses mit einem Texteditor und suchen Sie die Zeile:

#RewriteBase /magento/

Ändern Sie die Zeile wie folgt:

RewriteBase /

Nun lädt das Backend immerhin ohne Fehler 500, jedoch noch ohne CSS- und JS-Dateien.

Static Content Deploy

Geben Sie jetzt per SSH den folgenden Befehl ein:

$ /usr/local/bin/php7-72LATEST-CLI -d memory_limit=2G bin/magento setup:static-content:deploy -f

Sobald das abgeschlossen ist:

$ /usr/local/bin/php7-72LATEST-CLI -d memory_limit=2G bin/magento setup:static-content:deploy de_DE -f

Falls Sie mit Problemen wegen "Allowed Memory Size..." zu kämpfen haben, erhöhen Sie den Wert "memory_limit" jeweils auf 3G oder 4G.

Pfade fixen

Sie werden feststellen, dass die CSS- und JS-Dateien noch immer nicht gefunden werden. Das liegt daran, dass Magento eine Versionsnummer in die Dateipfade schreibt, dieser Pfad aber hier nicht existiert. Wir müssen dieses Verhalten abschalten.

Dazu gehen Sie zuerst per PHPMyAdmin in Ihre Datenbank und führen dort das folgende Statement aus:

INSERT INTO core_config_data (config_id, scope, scope_id, path, value) VALUES (null, 'default', 0, 'dev/static/sign', 0);

Danach wieder zurück zur Shell und nacheinander ausführen:

$ /usr/local/bin/php7-72LATEST-CLI bin/magento indexer:reindex
$ /usr/local/bin/php7-72LATEST-CLI bin/magento cache:clean
$ /usr/local/bin/php7-72LATEST-CLI bin/magento cache:flush

Jetzt bringt ein erneuter Reload von Front- und Backend das gewünschte Ergebnis.

Wer jetzt den Shop mit vorkonfigurierten Einstellungen, funktionalem Theme und Demo-Inhalten sehen möchte, muss im nächsten Schritt die "Sample Data" von Magento 2 installieren.

Wegen der Einschränkungen durch Spammer und Bots verzichten wir an dieser Stelle auf eine Kommentarfunktion. Wir freuen uns aber jederzeit über eine Nachricht mit Lob, Dank, Kritik, Berichtigungen oder Ergänzungen über unser Kontaktformular.