Installation von Shopware mit ISPConfig unter nginx

Zur Installation von Shopware muss zuerst eine Webseite entsprechend der Anleitung zum Anlegen einer Website mit ISPConfig und den darin verlinkten Anleitungen erstellt werden. Für die PHP-Version von Shopware empfehlen wir 5.4.23 oder 5.4.28, da wir hiermit bisher gute Erfahrungen gemacht haben.

Um eine Website für Shopware zu konfigurieren, gehen Sie im Webseiten-Modul von ISPConfig auf Webseite und wählen Sie die entsprechende Webseite aus:


Wenn Sie alle anderen Einstellungen entsprechend der o.g. Anleitung bereits getätigt haben, wechseln Sie zum Reiter Optionen:

Zu Individuelle php.ini Einstellungen haben wir hier ja bereits etwas beschrieben. Für Shopware muss hier [Shopware 4 (PHP)] ausgewählt werden, [Standard-Konfiguration] ebenfalls auszuwählen ist sehr empfehlenswert.

Als nginx Direktiven (mehr dazu hier) muss ein Shopware-Schnipsel ausgewählt werden. Es ist empfehlenswert, den Schnipsel für [Shopware 4.3] zu verwenden, da dieser nach unseren Kenntnissen mit allen Shopware 4.x-Versionen läuft, der [Shopware 4] Schnipsel aber nur mit 4.0 - 4.2. Wenn die Staging-Umgebung von Shopware verwendet wird, sollte der [Shopware 4 Staging] Schnipsel noch hinzugefügt werden (bitte ersetzen Sie hier staging.meinedomain.de mit dem für Ihre Staging-Umgebung verwendeten Hostnamen und löschen Sie den location @php {}-Container aus dem Shopware-Schnipsel, da der Staging-Schnipsel einen eigenen location @php {}-Container hat), bei Verwendung des Actindo-Connectors der [Shopware 4 - Actindo] Schnipsel.

Die Grundkonfiguration sieht danach in etwa so aus:

Sollten Sie die entsprechenden Direktiven-Schnipsel nicht zur Verfügung haben, hier nochmal in Textform zum Kopieren. Wichtig! Diese Schnipsel sind nur die spezifischen Konfigurationen für Shopware und daher nur in Verbindung mit ISPConfig benutzbar.

Individuelle php.ini Einstellungen - [Standard-Konfiguration]:

disable_functions = pcntl_alarm,pcntl_fork,[...],popen
      
post_max_size = 100M
upload_max_filesize = 100M

max_execution_time = 1200
max_input_time = 1200
magic_quotes_gpc = Off
file_uploads = Yes
max_file_uploads = 20

Individuelle php.ini Einstellungen - [Shopware 4 (PHP)]:

phar.readonly = off
session.auto_start = off
suhosin.session.cryptua = off
zend.ze1_compatibility_mode = off

nginx Direktiven - [Shopware 4.3]:

client_max_body_size 100M;

location ~ /(engine|images/[a-z]+|files|templates)/ {
}

location / {
         index index.html index.php shopware.php;
         rewrite shopware.dll /shopware.php;
         rewrite files/documents/.* /engine last;
         rewrite images/ayww/(.*) /images/banner/$1 last;
         rewrite backend/media/(.*) /media/$1 last;
         if (!-e $request_filename){
            rewrite . /shopware.php last;
         }
}

location ~ \.(tpl|yml|ini)$ {
         deny all;
}

location /install/ {
         location /install/assets {
         }
         if (!-e $request_filename){
            rewrite . /install/index.php last;
         }
}

location /update/ {
         location /update/assets {
         }
         location /update/templates {
         }
         if (!-e $request_filename){
             rewrite . /update/index.php last;
         }
}

location /recovery/install/ {
         location /recovery/install/assets {
         }
         if (!-e $request_filename){
            rewrite . /recovery/install/index.php last;
         }
}

location /recovery/update/ {
         location /recovery/update/assets {
         }
         if (!-e $request_filename){
            rewrite . /recovery/update/index.php last;
         }
}

location @php { ##merge##
            #fastcgi_buffer_size 128k;
            #fastcgi_buffers 256 16k;
            #fastcgi_busy_buffers_size 256k;
            #fastcgi_temp_file_write_size 256k;
            fastcgi_temp_file_write_size 10m;
            fastcgi_busy_buffers_size    512k;
            fastcgi_buffer_size          512k;
            fastcgi_buffers           16 512k;
            fastcgi_read_timeout 1200;
}

Nachdem Sie diese Einstellungen durchgeführt haben, können Sie mit dem Download von Shopware fortfahren.

Entpacken Sie das heruntergeladene Archiv und laden Sie die Dateien in den web/-Ordner der Webseite hoch. Wenn Sie einen SSH-Zugang haben, können Sie auch das Archiv hochladen und auf dem Server entpacken.
Die index.html, die vorher bereits im web/-Ordner liegt, können Sie löschen. Es sollte dann etwa so aussehen (Ausschnitt WinSCP):

Wenn Sie jetzt die Webseite aufrufen, wird Shopware Sie mit dem folgenden Bildschirm begrüßen.

Klicken Sie auf Installer, um den Shopware-Installer zu starten.

Wenn Sie die Installation in einer anderen Sprache ausführen wollen, können Sie das hier ändern. Klicken Sie dann auf Weiter.

In diesem Bildschirm werden verschiedene nötige Einstellungen von Shopware geprüft. Sollte es kritische Fehler (rot hinterlegt) geben, müssen Sie diese beheben, bevor die Installation fortgesetzt werden kann. Den Hinweis zu mod_rewrite können Sie ignorieren - die nginx-Direktiven, die Sie vorhin angelegt haben, kümmern sich um das korrekte Rewriting. Klicken Sie danach auf Weiter.

Geben Sie hier den Benutzer, Namen und das Passwort der Datenbank ein. Falls Ihre Datenbank auf einem anderen Server liegt als Ihre Webseite, müssen Sie auch den Server ändern. Zusätzlich muss der Entfernte Zugriff für die Datenbank aktiviert werden (siehe: Anlegen einer MySQL-Datenbank). Dann können Sie auf Weiter klicken.

Starten Sie den Datenbank-Import, wenn Sie sich sicher sind, alle Daten richtig eingegeben zu haben.

Wählen Sie Ihre Shopware-Lizenz. Bei einer kommerziellen Lizenz müssen Sie den Lizenzschlüssel in das Feld Lizenz eintragen. Klicken Sie dann auf Weiter.

Danach können Sie Ihrem Shop einen Namen (Name des Shops) geben, eine E-Mail Adresse (Ihre eMail-Adresse) angeben und die Standard-Sprache (Shop-Default-Sprache) und -Währung (Shop-Default-Währung) auswählen. Im Backend können Sie diese Einstellungen später noch ändern. Die Domain des Shops (Shop-Domain) ist Ihre aktuelle Domain und fest eingestellt. Wenn die Seite einmal unter einer anderen Domain erreichbar sein soll, kann dies in der Datenbank direkt geändert werden.

Ebenfalls einrichten müssen Sie einen Admin-Benutzer, mit Benutzername (Admin Login-Name), angezeigtem Namen (Admin Name), E-Mail Adresse (Admin eMail) und Passwort (Admin Passwort, Admin Passwort Wdh.). Wenn Sie hier nichts ändern, ist der Benutzername demo, ebenso wie das Passwort. Wenn der Admin eine andere Sprachversion sehen soll, können Sie auch dies ändern (Admin Backend-Sprache).

Klicken Sie dann auf Weiter, wenn alle Einstellungen zu Ihrer Zufriedenheit durchgeführt wurden.

Damit ist Shopware installiert und Sie können zum (noch leeren) Shop-Frontend gehen oder sich mit dem gerade erstellten administrativen Account in das Backend einloggen.

Sollte einer der Installationsschritte fehlschlagen, lesen Sie bitte aufmerksam die Fehlermeldung und kümmern Sie sich um die Lösung der angesprochenen Probleme.

Wenn Sie Shopware weitergehend testen möchten, bevor Sie einen eigenen Shop aufsetzen, können Sie die Demo-Daten installieren.

Entpacken Sie das heruntergeladene Archiv. Die Ordner files und media müssen Sie per FTP in das Verzeichnis hochladen, in das Sie Shopware installiert haben.

Danach müssen Sie die ebenfalls vorhandene SQL-Datei demo.sql in die Shopware-Datenbank importieren. Dies können Sie z.B. in phpMyAdmin erledigen.

Damit sind die Demo-Daten fertig installiert. Wenn Sie jetzt das Frontend aufrufen, sehen Sie die Demo-Artikel.

Bitte beachten Sie: Die Demo-Daten überschreiben das von Ihnen angelegte Admin-Konto! Nach dem Einspielen der Demo-Daten müssen Sie sich wieder mit Nutzer demo und Passwort demo einloggen und das Admin-Konto wieder auf die gewünschten Einstellungen setzen.

Nach oben