,

Shopware auf VPS installieren

Lesedauer 5 Minuten

Shopware ist eines der beliebtesten Onlineshop-System auf dem deutschen Markt. Bereits die kostenlose Community Edition hat sehr viele Funktionen, die für einen ernsthaftes Onlinebusiness wichtig sind.

Shopware 6 kann durch viele Plugins genau an Deine Vorstellungen angepasst werden. Versanddienstleister, Zahlungsanbieter, Facebook-Pixel oder Google Analytics – alles kann einfach per Plugin eingebunden und genutzt werden. Diese Anleitung erklärt die Installation von Shopware 6 auf VPS.

Inhaltsverzeichnis

Das Setup des vServers besteht aus:

  • VPS mit Debian 10 64 bit
  • 1.200 GB SSD
  • 36 GB RAM
  • 16 CPU vCore

Dabei handelt es sich um ein Testsystem, dass folgende Software Setup kann auch auf kleineren Systemen installiert werden.

Voraussetzungen auf dem vServer

In diesem Tutorial installieren wir Shopware 6 auf Linux Debian 10. Hast du Ubuntu installiert, läuft die Installation ähnlich.

Voraussetzung ist zuerst ein LAMP-Stack, also zusätzlich zu Linux noch Apache2, MariaDB und PHP. Zuerst startest du ein Update des Servers:

sudo -- sh -c 'apt update && apt upgrade'

Da in der Standardinstallation von Debian 10 auf Deinem easyname VPS bereits apache2.4 vorinstalliert ist, können wir gleich mit dem nächsten Schritt fortfahren.

MariaDB installieren

MariaDB ist eine Community-Weiterentwicklung von MySQL und hat diese in den Paketquellen vieler Distributionen bereits abgelöst.

sudo apt install mariadb-server

installiert MariaDB 10.3 – nach der Installation solltest du die Installation noch absichern, wenn sie auf einem Produktivsystem läuft. Dazu wird bereits ein Script mitgeliefert, das Testdatenbanken und -user entfernt, sowie Fernzugriff verhindert.

sudo mysql\_secure\_installation
Script das Testdatenbanken und -user entfernt, sowie Fernzugriff verhindert

Nun legst du einen Benutzer und eine Datenbank für Shopware an. Der Einfachheit halber nennen wir sie in diesem Tutorial beide „shopware“ – Du kannst aber einen beliebigen anderen Namen wählen.

sudo mysql -u root -p

Du wirst nun nach Deinem frisch vergebenen root-Passwort (für MariaDB, nicht den Linux root-user!) gefragt. Danach legst du den Shopware-Benutzer samt Datenbank an und gibst ihm alle nötigen Rechte.

CREATE DATABASE shopware;

GRANT ALL ON shopware.\* TO 'shopware' IDENTIFIED BY 'hier\_sicheres\_passwort\_eintragen';

quit

Wichtig ist, alle Kommandos mit einem Semikolon (;) abzuschließen. Ansonsten geht der Datenbankserver davon aus, dass noch etwas folgt.

PHP installieren

Die wichtigen PHP-Pakete installierst du mit

sudo apt install php libapache2-mod-php php-gd php-mysql

Damit wird PHP 7.3 installiert, was für Shopware ausreicht.

Lade die Apache-Konfiguration einmal neu, danach startest du die Installation von Shopware 6:

sudo service apache2 reload

Shopware 6 herunterladen und installieren

Die Downloadseite findest du hier:

https://www.shopware.com/de/download/#shopware-6

Klicke mit der rechten Maustaste auf „Kostenlos herunterladen“, kopiere die Link-Adresse und starte den Download mit wget:

wget [https://www.shopware.com/de/Download/redirect/version/sw6/file/install\_v6.3.5.2\_c16dfee573139aa1f5238c35d21eb58d54afbc02.zip](https://www.shopware.com/de/Download/redirect/version/sw6/file/install_v6.3.5.2_c16dfee573139aa1f5238c35d21eb58d54afbc02.zip)

Lösche die Standarddateien von apache2 und kopiere die Installationsdatei in das Verzeichnis.

rm /var/www/html/\*

cp install\_\* /var/www/html/

cd /var/www/html

unzip install\_\*

rm install\_\*

Das Documentroot des Apache2 muss noch angepasst werden, damit es auf das korrekte Verzeichnis zeigt.

nano /etc/apache2/sites-available/000-default.conf

(ist nano noch nicht installiert, kannst du das einfach mit „sudo apt install nano“ nachholen)

Shopware empfiehlt diesen Inhalt:

\<VirtualHost \*:80\>

ServerName "\_HOST\_NAME\_"

DocumentRoot \_SHOPWARE\_DIR\_/public

\<Directory \_SHOPWARE\_DIR\_\>

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

\</Directory\>

ErrorLog ${APACHE\_LOG\_DIR}/shopware-platform.error.log

CustomLog ${APACHE\_LOG\_DIR}/shopware-platform.access.log combined

LogLevel debug

\</VirtualHost\>

Aktiviere nun noch das Modul „mod_rewrite“ – hiermit werden lesbare URLs erstellt. Shopware benötigt dieses Modul außerdem, um den Admin-Bereich darstellen zu können und einiges mehr.

sudo a2enmod rewrite

Lade die Konfiguration nach der Änderung neu:

sudo service apache2 reload

Ruf nun Deine Domain auf und prüfe, ob Shopware erscheint.

Shopware Willkommensseite zur Shopware-Installation

Klappt das nicht, und stattdessen kommt eine Fehlerseite 403, kann es an der Konfiguration der VHOST-Datei liegen. Ändere in diesem Fall den Eintrag

\_SHOPWARE\_DIR\_/public

Auf das konkrete Verzeichnis, wie

/var/www/html/public

Spätestens jetzt solltest du die Seite sehen.

Klicke bei der Installation auf „Weiter“. Du erhältst nun eine Übersicht, welche Probleme noch die Installation von Shopware 6 verhindern.

Häufige Fehler an diesem Punkt

  • /var/www/html/ ist nicht beschreibbar
  • dom fehlt
  • curl fehlt
  • mbstring fehlt
  • xml fehlt
  • simplexml fehlt
  • zip fehlt
  • intl fehlt
  • memory_limit zu niedrig
  • upload_max_filesize zu niedrig
  • curl_exec fehlt
  • curl_multi_exec fehlt

/var/www/html/ beschreibbar machen

Zunächst prüfst Du, wer die Schreibrechte für dieses Verzeichnis hat:

ls -l /var/www
Schreibrechte prüfen in der Console

Hier hat nur der root-Nutzer die Rechte, sie müssen aber beim Benutzer www-data liegen, da dieser der Benutzer des Webservers ist und eingeschränkte Rechte hat.

Befehl zur Behebung von eingeschränkten Schreibrechten

behebt das.

Fehlende PHP-Extensions installieren

Führe folgende Befehle aus, um die oben genannten PHP-Komponenten nachzuinstallieren.

sudo apt install curl libapache2-mod-php php-curl

php-mbstring php-xml php-zip php-intl

Anschließend führst du diesen Befehl aus, um die Apache-Konfiguration neu zu laden und die Installation fortführen zu können:

sudo systemctl reload apache2

Nun setzt du noch die Werte in der php.ini – sie sind zwar optional, aber wenn dein Shop schnell wächst und es später zu Problemen kommt, musst Du sie sowieso anpassen. Es schadet also nicht, jetzt gleich daran zu denken.

sudo nano /etc/php/7.3/apache2/php.ini

Suche hier nach den Angaben zu memory_limit und upload_max_filesize und setze sie auf die empfohlenen Werte, also

  • memory_limit = 512M
  • upload_max_filesize = 6M

Auch nach diesen Änderungen lädst du den Apache Webserver neu:

sudo systemctl reload apache2

Shopware Installation fortführen

Klicke im Webinterface auf „Weiter“ – nun erscheinen die AGB. Lies sie durch, setze den Haken bei „Ich stimme den AGB zu!“ und bestätige mit „Weiter“.

Abschnitt zum Bestätigen der AGB von Shopware

Nun ist die Datenbankkonfiguration dran. Hier gibst du die Daten an, die du vorher festgelegt hast. Erweiterte Einstellungen sind in unserem Fall nicht notwendig.

Datenbankkonfiguration in bei Shopware-Installation

Die Shopware-Installation läuft nun.

Shopware-Installation auf vServer/VPS

Jetzt nimmst du eine grundlegende Konfiguration des Shops vor, wie er später erscheinen soll.

Shopkonfiguration in Shopware

Du wirst anschließend zum Adminbereich umgeleitet.

Herzlichen Glückwunsch! du kannst nun mit dem Befüllen des Shops beginnen und dein eigenes Onlineunternehmen führen!

Shopware-Backend, wenn Installation erfolgreich war

easyname ist ein erfolgreicher und bekannter österreichischer Anbieter von Cloud-Services, Domains sowie Webhosting bis hin zur Server-Infrastruktur und gehört seit 2020 zur dogado group.
Das Unternehmen ist seit 2006 in Österreich erfolgreich am Markt und inzwischen auch in vielen anderen Ländern weltweit tätig. Sowohl das Team als auch die gehosteten Daten befinden sich in Österreich.

easyname liegt die Datensicherheit besonders am Herzen und stellt daher zu jedem Hosting-Paket auch kostenlose SSL-Zertifikate zur Verfügung. Mit intuitiven Tools zur Erstellung von Websites und Webshops und mit Easy Install Apps wie WordPress, Joomla oder PrestaShop können alle easyname-Kunden schnell in die Online-Welt einsteigen.