• Academy
  • Website & Hosting
  • Marketing
  • Domains & E-Mails
  • Online Shops
  • Server
  • Digitales Büro
  • Managed Cloud
  • Academy
Wähle einen Artikel
Shopware via Docker auf vServer installieren
Shopware via Docker auf vServer installieren

0. Überblick

1. Shopware installieren

1.1 Einleitung

Shopware (https://www.shopware.com) ist ein modulares Online-Shopsystem. Es gibt sowohl eine kostenlose (open Source Version) sowie kostenpflichtige Versionen. Auf der Herstellerhomepage könnt ihr euch über die verschiedenen Versionen informieren (https://www.shopware.com/de/preise/).

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. Shopware werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um Shopware neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik.

1.3.1 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Shopware abspeichen. Dazu geben wir folgendes in der Konsole ein:

mkdir -p
/opt/containers/shopware/{database,plugins,log,theme,media,bundles,sitemap,thumbnail,jwt,files,state}

Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.

1.3.2 docker-compose.yml erstellen

Nun können wir mit der eigentlichen „Installation“ von Shopware beginnen. Dazu öffnet ihr folgende Datei:

nano /opt/containers/shopware/docker-compose.yml

Nun kopiert ihr folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren Shopware Container.

version: "3.8" 

services: 

  mysql: 

    image: mysql:5.7 

    container_name: shopware-sql 

    restart: unless-stopped 

    environment: 

      MYSQL_ROOT_PASSWORD: root 

      MYSQL_DATABASE: shopware 

      MYSQL_USER: shopware 

      MYSQL_PASSWORD: shopware 

    volumes: 

       - ./database:/var/lib/mysql 

    networks: 

       - default 

  shopware: 

    image: shyim/shopware:latest 

    container_name: shopware 

    restart: unless-stopped 

    environment: 

      APP_SECRET:  

      INSTANCE_ID:  

      APP_URL: https://shop.euredomain.de 

      DATABASE_HOST: mysql 

      DATABASE_URL: mysql://shopware:shopware@mysql:3306/shopware 

    volumes: 

      - ./plugins:/var/www/html/custom/plugins 

      - ./files:/var/www/html/files 

      - ./log:/var/www/html/var/log 

      - ./theme:/var/www/html/public/theme 

      - ./media:/var/www/html/public/media 

      - ./bundles:/var/www/html/public/bundles 

      - ./sitemap:/var/www/html/public/sitemap 

      - ./thumbnail:/var/www/html/public/thumbnail 

      - ./state:/state 

      - ./jwt:/var/www/html/config/jwt 

    labels: 

      - "traefik.enable=true" 

      - "traefik.http.routers.shopware.entrypoints=http" 

      - "traefik.http.routers.shopware.rule=Host(`shop.euredomain.de`)" 

      - "traefik.http.middlewares.shopware-https-redirect.redirectscheme.scheme=https" 

      - "traefik.http.routers.shopware.middlewares=shopware-https-redirect" 

      - "traefik.http.routers.shopware-secure.entrypoints=https" 

      - "traefik.http.routers.shopware-secure.rule=Host(`shop.euredomain.de`)" 

      - "traefik.http.routers.shopware-secure.tls=true" 

      - "traefik.http.routers.shopware-secure.tls.certresolver=http" 

      - "traefik.http.routers.shopware-secure.service=shopware" 

      - "traefik.http.services.shopware.loadbalancer.server.port=80" 

      - "traefik.docker.network=proxy" 

      - "traefik.http.routers.shopware-secure.middlewares=secHeaders@file" 

    networks:

      - proxy

      - default

networks: 

  proxy:
  
    external: true

Nun müssen wir noch einiges anpassen.

1.3.3 Hostname anpassen

Nun müsst ihr noch den Hostnamen anpassen, über welchen später Shopware erreichbar sein soll.

Diese beiden Zeilen müsst ihr anpassen.

    - "traefik.http.routers.shopware.rule=Host(`shop.euredomain.de `)"
    - "traefik.http.routers.shopware-secure.rule=Host(`shop.euredomain.de`)"

In meinem Fall also:

    - "traefik.http.routers.shopware.rule=Host(`shop.testbereich.net`)" 
    - "traefik.http.routers.shopware-secure.rule=Host(`shop.testbereich.net`)"

Wenn ihr Shopware direkt auf eurer „Hauptdomain“ betreiben wollt, dann ändert ihr es folgendermaßen ab:

"traefik.http.routers.shopware.rule=Host(`www.euredomain.de`,`euredomain.de`)" 
"traefik.http.routers.shopware-secure.rule=Host(`www.euredomain.de`,`euredomain.de`)"

Anschließend müssen wir noch die APP_URL ändern. Gebt dort die Domain ein, welche ihr auch bei Traefik eingeben habt. Bei mir sieht es dann so aus:

vorher:

      APP_URL: https://shop.euredomain.de

nachher:

      APP_URL: https://shop.testbereich.net

1.3.4 Datenbank Passwort anpassen

Nachdem ihr den Hostnamen angepasst habt, müsst ihr noch das Datenbank Passwort anpassen. Vergebt ihr ein langes, sicheres Kennwort.

vorher:

MYSQL_ROOT_PASSWORD: root 
MYSQL_PASSWORD: shopware 
DATABASE_URL: mysql://shopware:shopware@mysql:3306/shopware 

nachher:

MYSQL_ROOT_PASSWORD: fjuZA341fnuRahs23 
MYSQL_PASSWORD: fjgh57Anfj5238Ar 
DATABASE_URL: mysql://shopware:fjgh57Anfj5238Ar@mysql:3306/shopware

1.3.5 IDs generieren

Nun müsst ihr noch ein „APP_SECRET“ und eine „INSTANCE_ID“ generieren. Dazu gebt ihr folgenden Befehl 2x ein:

openssl rand -hex 32

Ihr solltet dann in etwa solche Ausgaben sehen:

Nun öffnen wir wieder unsere docker-compose Datei und fügen diese Werte dort ein.

nano /opt/containers/shopware/docker-compose.yml

Hier passt ihr nun folgende beide Werte an:

vorher:

      APP_SECRET:  
      INSTANCE_ID:

nachher:

      APP_SECRET: d3309782c2f7841b99eff858cb337817c0e1ebb5c7965d3ff90444e2b8f132af 
      INSTANCE_ID: 1840d8105df98e304fd7eab1f831cf8141352c3c56f9ce42bfd612d0f8fcb884

Nun sind wir fertig mit der Vorbereitung.

2. Shopware starten

Gebt nun folgendes ein, um euren Shopware Container zu starten:

docker compose -f /opt/containers/shopware/docker-compose.yml up -d 

Beim ersten Start des Containers wird Shopware initialisiert. Dies bedeutet, dass die Datenbank eingerichtet, eure Einstellungen übernommen werden und vieles mehr. Daher dauert es einige Minuten, bis der Container dann über die Webseite erreichbar ist. Bei mir hat es ca. 3 Minuten gedauert.

Geht nun mit eurem Webbrowser auf eure Webseite (z.B. shop.euredomain.de). Dies sollte so aussehen.

Shopware scheint schon mal zu funktionieren. Nun gehen wir in die Administrationsansicht. Dazu gebt ihr folgendes ein: https://shop.euredomain.de/admin

Dann solltet ihr folgendes sehen:

Nun könnt ihr euch mit folgenden Daten einloggen:

  • Nutzername: admin
  • Passwort: shopware

Nach dem Login werdet ihr einige Sachen gefragt. Im ersten Schritt könnt ihr ein Sprachpaket installieren. Dazu klickt ihr auf „Install“.

Dies dauert nun einige Minuten. Anschließend sollte es so aussehen:

Wir stellen die Sprache nun auf „German“ um und geben wieder das Kennwort „shopware“ ein.

Anschließend sind wir fertig mit der Sprachkonfiguration.

Nun können wir „weiter“ klicken. Im nächsten Schritt werden wir gefragt, ob wir Demo Daten installieren wollen oder einen eigenen Shop migrieren. Hier wähle ich „Demodaten installieren“.

Nach kurzer Zeit erscheint dann dieser Text.

Bei der nächsten Auswahl könnt ihr einfach auf „Weiter“ klicken, da wir noch keine Verkaufskanäle angelegt haben.

Nun können wir unseren E-Mail Server festlegen. Wenn ihr dieser Anleitung gefolgt seid, dann habt ihr keinen E-Mail Server installiert. Dies bedeutet, dass ihr auf „Eigenen SMTP-Server konfigurieren“ klicken müsst.

Im Anschluss seht ihr dann folgende Einstellungen:

Ihr könnt diese Einstellungen auch mit „später einstellen“ überspringen.


Im Anschluss daran habt ihr dann die Möglichkeit PayPal einzubinden. Auch dies könnt ihr überspringen.

Nun bekommt ihr noch die Information, dass ihr auch „Shopware Markets“ einbinden könnt. Hier könnt ihr einfach „weiter“ klicken.

Nun bekommt ihr noch Erweiterungen vorgeschlagen.

Ihr könnt euch hier eine Region und Anwendungsbereich auswählen und die Erweiterungen mit einem Klick installieren. Dies könnt ihr aber später jederzeit auch noch tun.

Im nächsten Schritt könnt ihr euch mit eurem Shopware Account verbinden. Diesen benötigt ihr beispielsweise um später Themes oder Erweiterungen aus dem Store zu downloaden. Wenn ihr noch keinen habt, dann könnt ihr hier einen Account anlegen oder „überspringen“ klicken.

Nun könnt ihr noch den Shopware Store aktivieren.

Anschließend seid ihr fertig mit der Konfiguration.

Nun seht ihr das Shopware Dashboard.

3. Benutzername / Passwort ändern

Nun zeige ich euch, wie ihr den Benutzernamen und das Passwort ändern könnt. Dazu klickt ihr im Menü auf „Einstellungen.“

Wählt nun „System“ aus.

Wählt anschließend „Benutzer & Rechte“ aus.

Hier seht ihr nun eine Übersicht aller Benutzer. Standardmäßig gibt es nur den Benutzer „admin“.

Klickt nun auf die 3 Punkte hinter dem Benutzer und wählt dann „Bearbeiten“ aus.

Jetzt seht ihr die Account Informationen. Hier könnt ihr nun Namen, Passwort, E-Mail Adresse sowie viele weiter Sachen einstellen.

4. Erweiterungen und Themes installieren

Für Shopware gibt es eine Menge an kostenlosen Erweiterungen und Themes. Diese könnt ihr einfach über den Shop beziehen. Klickt dazu auf „Erweiterungen“.

Anschließend klickt ihr auf „Store“.

Hier gibt es nun die beiden Reiter „Apps“ und „Themes“. Ihr könnt ihr die Auswahl nach einigen Kriterien wie Bewertung, Bezahlmodell, verändern.

Nächster Artikel
Teamspeak auf vServer installieren
Weitere passende Themen