Magento 2 bei all-inkl.com installieren

StartMagento & E-Commerce BlogMagentoMagento 2 bei all-inkl.com installieren

Magento 2 ist für mich ein wenig das Duke Nukem Forever des E-Commerce. Seit Ewigkeiten angekündigt, mehrmals verschoben und am Anfang wusste niemand so recht wann und in welchem Umfang eine Release erfolgt. Zum Glück gibt’s aber seit einiger Zeit bei Magento einen halbwegs realistischen Terminplan und wenn alles soweit problemlos verläuft darf man sich Ende des Jahres auf das sagenumwobene Magento 2 freuen.

Wenn es einen schon ein wenig unter den Fingern juckt, ist ein Test der aktuell verfügbaren Version relativ problemlos möglich. Im Vergleich zu Magento 1 gestaltet sich die Installation der auf Github verfügbaren Version ein wenig schwieriger, weswegen ich an dieser Stelle eine kurze Installationsanleitung veröffentliche, die sich speziell auf den Hoster all-inkl.com bezieht. Einfach aus dem Grund, da auch meine Testumgebung bzw. Spielwiese bei diesem Hoster angesiedelt ist.

Voraussetzungen

Abgesehen davon, dass man ein halbwegs performantes System haben sollte, ist ein SSH Zugang auf jeden Fall zu empfehlen. Bei all-inkl.com erhält man diesen in den höheren Tarifen, nämlich ab dem Premium Tarif. Neben einem SSH Zugang muss PHP 5.5 oder PHP 5.6 verfügbar sein, eine aktuelle Version des Apache und MySQL 5.6. Eine ziemlich gute Übersicht erhält man unter http://devdocs.magento.com/guides/v1.0/install-gde/prereq/prereq-overview.html.

Für alle all-inkl.com Kunden gilt: Hat man den Premium oder Business Tarif ist alles super und wir können mit der Installation beginnen.

Los geht’s

Im ersten Schritt schwingt man sich per SSH auf seinen Webspace. Wer noch keinen SSH Account hat, kann diesen im KAS unter Tools -> SSH-Zugänge anlegen. So ein SSH Account ist nicht nur wegen Magento interessant, sondern kann einem grundsätzlich die Arbeit ein wenig erleichtern.

Bildschirmfoto-2015-07-19-um-23.35.20

Für eine SSH Verbindung muss man nun seinen Terminal (oder unter Windows eine Anwendung wie PuTTY) öffnen und folgenden Befehl ausführen: ssh ssh-w0131xxx@alexander-steireif.com, wobei man natürlich seine eigene all-inkl.com Kennung verwenden und auch die Domain entsprechend angepasst werden muss.

Ist man anschließend mit dem System verbunden, erstellt man einen neuen Ordner, beispielsweise namens magento2. Ich selbst bin ein Fan davon im Hauptverzeichnis die Ordner nach den Domains bzw. Subdomains zu benennen, weswegen ich einen Ordner namens magento2.alexander-steireif.com erstellt habe.

Ist der Ordner erstellt, wechselt man im nächsten Schritt in dieses Verzeichnis. Nun muss man composer erstellen. Composer ist ein Paket-Manager, der Abhängigkeiten in der Magento Software auflöst und dafür sorgt, dass externe „Quellen“, beispielsweise andere Software oder Bibliotheken geladen werden. Die Installation von Composer ist relativ einfach, muss man nur folgende Befehle ausführen:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Ersteres wird klappen, letzteres nicht. Denn dafür fehlen die benötigten Benutzerrechte. Laut all-inkl.com Support ist es unmöglich, dass der Support die Composer Datei in das genannte Verzeichnis verschiebt. Als einzige Lösung wird der Umzug auf einen eigenen Server angeboten. Nun gut, dann belassen wir die Composer Datei eben in dem gerade erstellen Verzeichnis für die Subdomain. Nur ein kleiner Schönheitsfehler, nicht kritisch…

Composer haben wir jetzt bereits, fehlt noch Magento. Um Magento 2 herunterzuladen ist das Klonen des Git-Repositories aktuell die einfachste Lösung. Hierfür führt man folgenden Befehl direkt in der Konsole aus:

git clone https://github.com/magento/magento2.git

Git ist bei all-inkl.com auch bei einem Shared Hosting Account vorhanden, weswegen es an dieser Stelle zu keinerlei Problemen kommen sollte. Nachdem das Klonen des Git-Repositories erfolgreich war, wechselt man in das Verzeichnis magento2 (sollte jetzt vorhanden sein) und verschiebt idealerweise die vorhin heruntergeladene composer.phar Datei ebenfalls in diesen Ordner. Nun führt man den folgenden Befehl aus:

php composer.phar install

Dieser Befehl „startet“ den Download der noch nicht heruntergeladenen Abhängigkeiten die Magento hat. Sprich würde man den Install Befehl nicht ausführen, würden viele Komponenten von Magento fehlen und eine Installation der Software ist nicht möglich.

Wichtig: Während der Installation ist bei mir folgende Meldung aufgeschlagen:

Could not fetch https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/1c330b1b6e1ea8fd15f2fbea46770576e366855c, please create a GitHub OAuth token to go over the API rate limit

Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+dd27316+2015-07-19+1720

to retrieve a token. It will be stored in „/.composer/auth.json“ for future use by Composer.

Token (hidden):

Um hierbei einen Schritt weiter zu kommen, muss man nur die dargestellte URL aufrufen, sich bei Github anmelden und anschließend den Token, den man erhält, in der Konsole eingeben. Anschließend geht der Download weiter.

magento2

Die Dateien die man für die Installation von Magento benötigt, sind nun vorhanden und wir können loslegen. Wie eingangs schon erwähnt bin ich ein Fan von Subdomains, weswegen ich bei all-inkl.com im KAS noch eine Subdomain namens magento2 angelegt habe, die auf das Verzeichnis magento2.alexander-steireif.com/magento2 zeigt

Bildschirmfoto 2015-07-20 um 00.04.37

In meinem Fall kann ich nun das Magento Setup unter http://magento2.alexander-steireif.com/setup aufrufen. Wenn Magento in irgendeinem anderen Verzeichnis liegt, muss man die URL entsprechend anpassen, wichtig ist ein allein die Tatsache, dass sich der Installer beim Aufruf von /setup startet.

Bildschirmfoto 2015-07-20 um 00.06.56

Bei den ersten Punkten kann man getrost auf weiter klicken, denn hier gibts die typischen Fragen a la ob man die AGBs akzeptiert und ob die Installation soweit gewollt ist. Magento 2 prüft anschließend die Systemvoraussetzungen, die speziell im Falle von all-inkl.com aber erfüllt werden. Hier muss man sich keine weiteren Gedanken machen, die Basis ist soweit vorhanden.

In Step 2 muss man die Datenbank Zugangsdaten hinterlegen. Die Datenbank kann man dabei ebenfalls im KAS anlegen bzw. verwalten. Schritt 3 ist soweit auch in Ordnung, hier könnte man noch einen alternativen Pfad für das Magento Backend hinterlegen und SSL aktivieren. Gerade in einer Testumgebung benötigt man aber nicht zwangsläufig eine verschlüsselte Verbindung per https, weswegen man den dritten Schritt soweit auch ohne Änderungen beenden kann.

Schritt Nummer 4 ermöglicht das Setup der richtigen Währung und Sprache. Hier bitte Euro bzw. Deutsch auswählen. Auch könnte man bei der Installation gewisse Module ausschließen, was jedoch in diesem Szenario uninteressant ist.

Bildschirmfoto 2015-07-20 um 00.11.29

Abschließend muss man nur noch seinen Backend Benutzeraccount anlegen und die Installation kann losgehen!

Magento 2 installiert alle notwendigen Paket, legt die Datenbank an und erzeugt einen Benutzeraccount. Nach wenigen Augenblicken sollte die Meldung auftauchen, dass Magento erfolgreich installiert wurde und beim Aufruf der URL /admin hat man Zugriff auf das Magento Backend, beim Aufruf von / landet man im Frontend.

Bildschirmfoto 2015-07-20 um 00.14.46

Fazit

Auch wenn die Installation durch Composer und das Auflösen der Abhängigkeiten aktuell etwas tricky ist, so sollte diese auf den besagten all-inkl.com Paketen dennoch relativ problemlos durchgeführt werden können. Man hat also die besten Voraussetzungen, um in die neue Version 2 von Magento einzutauchen und in Form einer Spielwiese etwas Erfahrung mit dem neuen System zu sammeln.

26 thoughts on “Magento 2 bei all-inkl.com installieren

  1. Hallo,

    Ich habe magento2 via Ftp auf mein Server installiert. Hat alles super geklapt bis bei den Setupcheck eine fehler Meldung kam. Und zwar folgende:
    PHP Settings Check

    Need Help?

    PHP Documentation

    Your PHP Version is 5.6.16-nmm1, but always_populate_raw_post_data = 0. $HTTP_RAW_POST_DATA is deprecated from PHP 5.6 onwards and will be removed in PHP 7.0. This will stop the installer from running. Please open your php.ini file and set always_populate_raw_post_data to -1. If you need more help please call your hosting provider.

    For additional assistance, see PHP settings check help .

    Mein Provider ist allinkl. Hast du vielleicht einen Ansatz wie ich es löse

  2. Ich habe das Problem, dass im Backend kein weder css noch js Dateien geladen werden. Ich bekommen immer eine Forbidden Meldung zurück.

    Die Dateiberechtigungen habe ich testweise auf 777 gesetzt und ich in den htaccess Dateien habe ich nach einem deny access o.ä. gesucht, aber leider nichts im Bezug auf die entsprechenden Dateien gefunden.

    Ich kann mir das nicht erklären.

    Woran kann das liegen?

  3. Hi Alexander,
    wie haben Sie das Problem mit den Cron-Jobs gelöst. Anscheinend ist Magento 2.0.4 ohne minütliche Reindexierung nicht brauchbar.
    Ich bin mit meinem Latein echt am Ende.
    Vielen Dank im Voraus

    Marc

  4. Bei mir kommt immer beim Datenbankcheck der Fehler: Database user does not have enough privileges. Please make sure SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER privileges are granted to table ‚xxx‘.

    Kam das bei dir nicht?

    • Habe den „Fehler“ gefunden.
      Wenn ich beim einrichten der Datenbank nur localhost erlaube kommt der Fehler.
      Lasse ich das Feld leer kommt der Fehler nicht.

      Allerdings habe ich Rechteprobleme bei den Ordnern die öffentlich zugänglich sind.
      D.h. Mein Front- und Backend können auf bestimmte CSS und JS Resourcen nicht zugreifen.

      Auf dem Server werden mir die Ordner zwar angezeigt, aber wenn ich sie öffnen will bekomme ich nur einen Fehler, dass das Directory nicht vorhanden ist.

  5. Bei mir hat die Installation ganz gut funktioniert, bis auf eine Fehlermeldung im Backend „Could not determine temp directory, please specify a cache_dir manually“.
    Bekanntlich hat man bei all-inkl ja keinen Zugriff auf die php.ini-Datei und ich habe mich schon reichlich an der .htaccess und an der File.php aus dem Zend-Cache-Framework probiert. Bislang ohne Erfolg.

    Hat jemand einen Hinweis für mich?

  6. Hallo zusammen,
    Ich habe magento 2 ohne Probleme bei all inkl installieren können. Allerdings habe ich ein Problem mit den Cronjobs. Denn anders wie bei magento 1 reicht es offenbar nicht aus, die cron.php via cronjob (im kas eingerichtet) minütlich abzurufen. Gibt es dafür eine Lösung wie man die cronjobs zum laufen bekommt?

    Danke und Gruß
    Robin

  7. Kann mir jemand helfen?

    Beim Punkt:
    php composer.phar install

    ḱommt bei mir folgender fehlermeldung:

    Problem 1
    – This package requires php ~5.6.0|7.0.2|7.0.4|~7.0.6 but your PHP version (5.5.37) does not satisfy that requirement.

    Egal was ich für eine PHP Version einstelle, es ist immer die gleiche die ich angezeigt bekomme.
    Was mache ich Falsch?

    • Ich bin aktuell nicht mehr bei all-inkl.com daher kann ich es nicht testen, aber kannst Du nicht direkt eine PHP Version beim Aufruf über die Shell mitgeben z.B. php7 composher.phar install? Ansonsten trigger doch kurz deren Support an, die sind in der Regel recht fix

  8. Alexanders Lösung klappt wunderbar. Ich stand vor dem selben Problem wie Vitali und stande total auf dem Schlauch – der Support hat mir dann relativ schnell weiter geholfen und empfahl o. g. Lösung. Nichtsdestotrotz kam ich am Ende zu keiner zufriedenstellenden Installation .

  9. Hallo Sebastian,

    bei mir hat es wie folgt geklappt:
    habe absichtlich mit dem Code Versehen, ich hoffe das wird nicht kaputt gehen. 🙂
    PHP Version 7.0 als CGI im Subaccount eingestellt.
    In die htaccess habe ich folgendes eingetragen:
    AddHandler php70-cgi .php
    Das am Ende der Datei.
    Und dann folgende Schritte ausgeführt.

    Mein interner Wiki Eintrag lautet wie folgt:
    Die Installation bei All-Inkl gestaltet sich wie folgt:
    PHP Version 7 einstellen.
    PHP 7 in der htaccess einstellen. AddHandler php70-cgi .php
    Magento in den ordern runterladen
    git clone https://github.com/magento/magento2.git

    curl -sS https://getcomposer.org/installer | php
    Wird nicht gehen: php composer.phar
    php70 composer.phar
    php70 composer.phar update
    Dann sollte es gehen.

  10. Vielen Dank für dieses tolle Tutorial!
    Leider scheitere auch ich aktuell an den Cronjobs. Da man bei all-inkl keinen „richtigen“ Cronjob anlegen kann sondern nur viat http Dateien aufrufen kann.
    Ist es irgendwie möglich den Cronjob sozusagen in eine php Datei auszulagern, damit der „Cronjob“ von All-Inkl das machen kann?
    Oder gibt es überhaupt keine Möglichkeit und es bleibt nur ein Hosterwechsel?
    Wenn ja, welchen Hoster emfpehlen Sie für Magento 2?

    Grüße
    Stefan

      • Hi Alexander,

        genau darauf hat mich der All-Inkl Service auch aufmerksam gemacht.
        Allerdings bin ich mir nicht sicher wie ich den cron Befehl in einen Shell Befehl umschreibe, ist nicht gerade mein Fachgebiet 🙂 Falls du mir da ein Tipp hättest wäre ich dir sehr dankbar!
        Das hier sollte im CronTab stehen:
        * * * * * /bin/magento cron:run | grep -v „Ran jobs by schedule“ >> /var/log/magento.cron.log
        * * * * * /update/cron.php >> /var/log/update.cron.log
        * * * * * /bin/magento setup:cron:run >> /var/log/setup.cron.log

        Das Hosting bei Mittwald ist echt top, allerdings ist das für mein privates Nebenberufliches Projekt einfach (noch) zu teuer.
        Wollte eigentlich erst zu Hetzner, musste da aber feststellen das die noch kein MySQL 5.6 unterstützen.

      • Hey Alexander,

        vorab, danke für die Mühe zur Magento 2 Installation!
        Ich habe tatsächlich das gleiche Problem wie Stefan im obigen Beitrag. Ein Shell Befehl auszuführen ist bei mir bis jetzt (ebenfalls) gescheitert. Hast Du eventuell für uns eine Lösung parat? Ich würde tatsächlich ungern den Hoster wechseln.

        Grüße

Schreibe einen Kommentar

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