[SSH-TUTORIAL] Shopware 5 CLI Konsole – Teil 2 Die CLI Tools

    [SSH-TUTORIAL] Shopware 5 CLI Konsole – Teil 2 Die CLI Tools

    In unserem zweiten Teil wollen wir uns genauer mit der SSH Umgebung befassen und den Shopware 5 CLI Tools. Wir zeigen Ihnen hier ganz genau, in welchem Ordner Sie per SSH wechseln müssen und wo Sie die Shopware 5 CLI Konsole finden. Zudem gehen wir auch genauer auf befehle ein, die Sie in Rahmen dieses Tutorials eingeben. In unserem zweitel Teil gehen wir davon aus, dass Sie bereits wissen, wie Sie sich per SSH auf Ihr Webpaket verbinden können. Falls Ihnen SSH noch kein Begriff sein sollte, empfehlen wir Ihnen, dass Sie sich unseren ersten Teil: [SSH-TUTORIAL] Shopware 5 – Teil 1 Vorbereitung durchlesen. Zudem gehen wir auch davon aus, dass Sie sich bisher noch nicht mit der Linux Shell (SSH) beschäftigt haben, daher erklären wir viele Schritte im Detail.

    2.0 Die ersten Schritte

    Da wir jetzt wissen, wie wir uns per SSH verbinden können, wollen wir uns einpaar Grundbefehle anschauen. Diese Befehle werden Ihnen helfen, sich in der Linux Shell zurecht zu finden. Sofern wir uns eingeloggt haben, müssen wir erst einmal in Erfahrung bringen, wie die Ordnerstruktur aufgebaut ist. Anders als bei Windows, wo die Ordnerstrukturen grafisch mit Icons angezeigt wird, wird die Ansicht unter Linux als reiner Text ausgegeben. Vergleichbar mit der Windows Auflistungsfunktion „Details“.

    Wir geben jetzt den folgenden befehl in die Linux Shell ein und drücken die Entertaste (mit der Entertaste bestätigen Sie die Eingabe des Befehls, der dann ausgeführt wird)

    ll
     

    Der Befehl ll (LL klein geschrieben) ist bei uns eine Abkürzung. Dieser könnte unter Umständen bei anderen Webhostinganbietern nicht funktionieren. Bitte geben Sie daher den folgenden befehl ein: ls --color=auto -h -l

    Das Ergebnis sollte dann in etwa so aussehen:

    Linux Shell: Ausgabe des Befehls ll

    In unserem Beispiel erkennen wir hier zwei Ordner in denen sich Webinhalte befinden. Einmal den Ordner httpdocs und einmal den Ordner shopware.web103.enerspace.de. Der Ordner httpdocs stellt Ihre Hauptdomain dar, die Sie bei der Bestellung angegeben haben. Regulär installieren wir Shopware genau in diesem Ordner. Der zweite Ordner wird immer dann erstellt, wenn in im Plesk Administrationspanel eine neue Domain oder Subdomain angelegt wird. Der Inhalt von http://testshop.ihredomain.de würde dann in dem Ordner testshop.ihredomain.de abgespeichert, oder wie in unserem Beispiel: shopware.web103.enerspace.de.

     

    Subdomains werden immer mit einem Punkt vor der eigentlichen Domain getrennt. Daher handelt es sich auch bei der folgenden Schreibweise um eine Subdomain: www.ihredomain.de.

    2.1 Shopwareinstallationspfad

    Wie finden wir jetzt herraus, wo sich Shopware befindet? Dazu müssen wir in den entsprechenden Ordner wechseln und uns den Inhalt mit dem ersten Befehl ll ausgeben lassen. Um in einen neuen Ordner wechseln zu können, benötigen wir den Befehl cd, den wir eingeben müssen. Da wir jetzt wissen, wie die Ordner heisen, können wir mit dem folgenden Beispiel in unseren Ordner wechseln:

    cd shopware.web103.enerspace.de
    //Standard:
    cd httpdocs

    Falls wir uns vertippt haben, wird eine Fehlermeldung in der Linux Shell ausgegeben:

    Linux Shell: Ausgabe des befehls cd mit Fehlermeldung

    Ist der Befehl erfolgreich, wird uns der Ordner in dem wir uns zur Zeit befinden, vor dem $ Zeichen engezeigt:

    Linux Shell: Ausgabe des befehls cd

    Haben wir den Ordner gewechselt, führen wir erneut den folgenden Befehl aus:

    ll

    Dadurch wird uns der Inhalt des aktuellen Ordners angezeigt. jetzt suchen wir nach der Datei: shopware.php. Wird die Datei mit in der Auflistung angezeigt, wissen wir, dass wir im richtigen Ordner gelandet sind:

    Linux Shell: Ausgabe des befehls cd und shopware

    Falls wir die Datei shopware.php nicht finden können, sind wir im falschen Ordner gelandet und wir müssen wieder in das Hauptverzeichnis wechseln. Unter Linux können wir auch das mit einem Befehl durchführen. Dazu geben wir folgendes ein:

    cd ~

    Mit Eingabe des Befehls cd ~, teilen wir Linux mit, dass wir in das Hauptverzeichnis zurück wechseln wollen.

    Wollen wir nicht jeden einzelnen Ordner durchsuchen, können wir mit dem folgenden Befehl auch den Installationsordner mit einer Suche finden lassen:

    find -name "shopware.php" 2>&1 | grep -v 'Permission denied' | sed s/shopware.php//g >&2

    Wir suchen mit dem Befehl nicht nur nach der Datei shopware.php. Mit grep -v 'Permission denied' blenden wir alle Suchfehler aus, falls welche auftreten sollten. Mit der zweiten Angabe sed s/shopware.php//g blenden wir zur Übersicht einfach den Zusatz shopware.php aus, so das am Ende nur noch der tatsächliche Pfad ohne die Datei ausgegeben wird.

    Falls das Programm find die Datei shopware.php gefunden hat, wird unter unserer Eingabe für jede Shopwareinstanz der Pfad ausgegeben:

    Linux Shell: Ausgabe des Befehls find

    2.2 Dateirechte setzen

    Jetzt befinden wir uns im Shopware 5 Ordner. Damit wir die Shopware 5 CLI Konsole auf der Linux Shell auch ausführen dürfen, müssen wir vorher noch die richtigen Rechte vergeben. Das müssen wir auch nur einmal tun und Linux merkt sich unsere Änderung für die Zukunft. Wie auch in Windows, können wir unter Linux die Dateirechte festlegen. Zum Beispiel können wir einstellen, dass eine Datei nur gelesen werden darf aber nicht beschrieben. Das gleiche gilt auch für das Dateirecht „Ausführen“. Da wir Dateien grundsätzlich nicht ausführen dürfen, müssen wir uns erst einmal die Erlaubnis erteilen.

    Das machen wir mit dem folgenden Befehl:

    chmod +x bin/console

    Befinden wir uns im Hauptordner, müssen wir den folgenden Befehl ausführen:

    chmod +x {SHOPWARE VERZEICHNIS}/bin/console

    Mit dem Befehl chmod können wir die Dateirechte anpassen. In dem Beispiel bedeutet +x, dass wir die entsprechende Datei mit dem Attribute „darf vom Besitzer ausgeführt werden“ markieren.

     

    Der Befehl wird ohne eine Erfolgsmeldung ausgeführt, sowie fast jeder befehl unter Linux.

    2.3 Die Shopware 5 CLI Konsole

    Jetzt starten wir die Shopware 5 CLI Konsole mit dem folgenden Befehl:

    php bin/console

    Befinden wir uns im Hauptverzeichnis /, können wir den folgenden Befehl ausführen:

    php {SHOPWARE VERZEICHNIS}/bin/console

    Nachdem wir den Befehl ausgeführt haben, wird an dieser Stelle noch kein Shopware Prozess ausgeführt. Shopware zeigt uns lediglich die möglichen Befehle an, die wir nutzen können. In der Auflistung werden Ihnen alle verfügbaren Befehle in grün angezeigt.

     

    In unserem folgenden Beispiel gehen wir davon aus, dass Sie mindestens Shopware in der Version 5.1.0 oder höher einsetzen.

    2.3.1 Anlegen eines neues Administrator Accounts

    Mit der Shopware Konsole können wir ab der Shopware Version 5.1.0 auch neue Administrator Accounts anlegen. Um einen neuen Backend Account für Ihren Shop anlegen zu können, gibt es den Befehl: sw:admin:create. Um den Befehl auszuführen, geben wir also folgendes ein:

    php bin/console sw:admin:create

    Nach der Eingabe werden wir von der Shopware 5 CLI Konsole aufgefordert mehrere Angaben zu machen. Diese bestätigen wir mit der Entertaste, wie in diesem Beispiel:

    Linux Shell: Ausgabe des befehls sw:admin:create

    2.3.2 Die Hilfe Funktion

    Jeder Shopware Befehl hat auch eine genaue Erklärung über die eigene Funktion. Die können wir uns über die integrierte Hilfestellung anzeigen lassen indem wir den folgenden Befehl eingeben:

    php bin/console sw:admin:create --help

    Wenn wir am ende --help für Hilfe angeben, wird Ihnen eine genaue Beschreibung für den Befehl sw:admin:create angezeigt. Anstatt den Befehl auszuführen, wird uns die Beschreibung des Befehls angezeigt. Wir bekommen darüber hinaus auch alle Optionen angezeigt die wir mit anhängen können um zum Beispiel einen Administrationsaccount anzulegen ohne das wir etwas bestätigen müssen. Die integrierte Hilfe --help funktioniert auch mit jedem anderen Befehl den wir über die CLI Konsole ausführen können.

    Unser folgendes Beispiel zeigt Ihnen anhand von dem Befehl php bin/console sw:admin:create --help die Hilfe an:

    Linux Shell: Ausgabe des befehls sw:admin:create --help

    2.3.3 Anlegen eines Administrator Account ohne Bestätigung

    Befolgen wir die Anleitung, die uns über die Hilfe ausgegeben wird, können wir mit dem folgenden Befehl ohne weitere Bestätigung einen Administrator Account anlegen:

    php bin/console sw:admin:create --email="das-ist-ein-beispiel@enerspace.de" --username="Administrator" --name="Rico Rothenburger" --locale="de_DE" --password="demo" --no-interaction