Shopware 6 mit Object Storage 2.0 verbinden

Shopware 6 mit Object Storage 2.0 verbinden

Mit Shopware 6 und unserem Object Storage 2.0 bieten wir Ihnen eine flexible und kostengünstige Lösung für die Speicherung Ihrer statischen Dateien. Eine besonders praktische Funktion besteht darin, dass die Bilder Ihres Shopware-Shops direkt in Ihrem Object Storage gespeichert werden können. Dadurch belegen die Mediendaten keinen Speicherplatz auf dem Server und Sie profitieren von einer besseren Performance und Skalierbarkeit.

Um dies zu ermöglichen, müssen Sie einmalig alle Shop-Mediendateien in Ihren Object Storage übertragen und eine Verbindung zwischen Ihrem Object Storage und Shopware herstellen. Diese Anleitung führt Sie Schritt für Schritt durch den Prozess. Bei weiteren Fragen steht Ihnen unser Support gerne zur Verfügung.

Wichtige Vorbereitung

Bevor Sie mit der Verknüpfung von Shopware 6 und dem Object Storage 2.0 beginnen, halten Sie bitte Folgendes bereit:

  • Shopware 6 Installation: Ein funktionierender Shopware 6 Shop auf Ihrem Webhosting oder Server. Sie können Shopware 6 beispielsweise per App-Installer installieren. Zur Anleitung
  • Object Storage 2.0 Zugang: Zugangsdaten zu Ihrem Object Storage 2.0. Diese erhalten Sie nach der Bestellung eines Object Storage.
  • Shell-Benutzer: Ein Benutzer mit Shell-Zugang, um die erforderlichen Befehle auszuführen und Anpassungen vorzunehmen. So legen Sie einen Shell-Benutzer an

Um Ihnen den Einstieg in unseren Object Storage 2.0 zu erleichtern, erklären wir Ihnen in unserem Leitfaden zur Einführung in unseren Object Storage 2.0, wie Sie Buckets erstellen, Benutzer sowie Berechtigungen verwalten, einen Whitelabel Hostname einrichten und Rclone konfigurieren.

Shopware 6 und Object Storage verbinden

Shopware 6 setzt voraus, dass alle Dateien vor der Einrichtung manuell in den Object Storage übertragen werden. Nach der Konfiguration übernimmt Shopware automatisch das Speichern aller neuen Dateien im Object Storage.

Stellen Sie außerdem sicher, dass Ihr Object Storage für den öffentlichen Zugriff konfiguriert ist. Dies können Sie über unser Kundencenter anpassen: Navigieren Sie zu "Mein Konto" -> "Meine Object Storages", wählen Sie den entsprechenden Object Storage aus und setzen Sie die Policy auf "public", falls dies noch nicht geschehen ist.

Für den initialen Upload können Sie Tools wie rclone verwenden, welches wir in dieser Anleitung beispielhaft einsetzen.


1

  • Melden Sie sich im Kundencenter cp.timmehosting.de an.
  • Wählen Sie im Hauptmenü "Mein Konto".
  • Gehen Sie im linken Untermenü im Bereich "Object Storage" auf den Punkt "Meine Object Storages".

Ergebnis: Sie sehen eine Liste aller Buckets unter Ihrem Kundenkonto.


Im Kundencenter anmelden
Klicken Sie auf das Bild, um es zu vergrößern.

2

Damit jeder die Daten aus dem Object Storage im Online-Shop sehen kann, müssen die Dateien öffentlich zugänglich sein. Stellen Sie dafür die Storage Policy auf "public".

  • Wählen Sie im Reiter "Buckets" den entsprechenden Bucket aus.
  • Ändern Sie hier die "Policy" per Dropdown auf "public".
  • Bestätigen Sie die Änderung mit einem Klick auf den grünen Button "Speichern".

Ergebnis: Storage policy wurde auf "public" gestellt.



3

Rclone ist ein vielseitiges tool zur Verwaltung und Synchronisierung von Dateien zwischen Ihrem lokalen System und einem Object Storage. In unseren Managed Hosting-Produkten ist Rclone bereits vorinstalliert und muss lediglich konfiguriert werden, um es nutzen zu können.

Folgen Sie diesen Schritten, um Rclone einzurichten:

  • Melden Sie sich per SSH auf Ihrem Server an.
  • Erstellen Sie eine Konfigurationsdatei mit den Zugangsdaten für Ihren Object Storage. Legen Sie die Datei unter folgendem Pfad an:
/var/www/ihredomain.tld/private/rclone.conf
  • Fügen Sie die folgenden Informationen in die Datei ein:
[Object Storage]
type = s3
provider = Other
access_key_id = [Ihr Access Key]
secret_access_key = [Ihr Secret Access Key]
endpoint = [Ihr S3-Endpunkt oder Whitelabel Hostname]
  • Speichern Sie die Datei, um die Verbindung zu konfigurieren.

Ergebnis: Rclone ist nun einsatzbereit und kann für die Synchronisierung mit Ihrem Object Storage verwendet werden.



4

Nachdem Sie Rclone erfolgreich konfiguriert haben, können Sie nun Ihre Dateien in den Object Storage übertragen.

  • Bevor Sie mit dem Hochladen beginnen, verbinden Sie sich per SSH mit Ihrem Server und navigieren Sie zu dem Verzeichnis, das die Dateien enthält, die Sie übertragen möchten:
cd /pfad/zu/ihren/dateien

Hinweis: Ersetzen Sie /pfad/zu/ihren/dateien durch den tatsächlichen Pfad zu Ihrem lokalen Verzeichnis. Zum Beispiel könnte der Pfad einer Shopware-Installation /var/www/ihredomain.tld/web/ lauten. Haben Sie Rclone auf Ihrem lokalen Rechner installiert und konfiguriert könnte der Pfad unter Linux auch /home/benutzer/dokumente/projekt oder unter Windows C:\Benutzer\Benutzername\Dokumente\Projekt lauten.

rclone sync public/ objectstorage:[IhrBucket]/[Zielpfad]
  • objectstorage: Der Name der Remote-Verbindung, die Sie in der Rclone-Konfiguration festgelegt haben.
  • [IhrBucket]: Ersetzen Sie diesen Platzhalter durch den Namen Ihres Buckets im Object Storage.
  • [Zielpfad]: (Optional) Der Pfad innerhalb Ihres Buckets, in den die Dateien kopiert werden sollen.

Ergebnis: Sie haben Dateien in den Object Storage kopiert.



5

Nun muss Shopware über zwei Konfigurationsdateien informiert werden, welche Inhalte in den Object Storage übertragen werden sollen.

Dazu erstellen Sie die folgende Datei, falls diese noch nicht existiert:

/var/www/meinedomain.de/web/config/packages/z-shopware.yaml

Fügen Sie anschließend den folgenden Inhalt in die Datei ein:

shopware:
    filesystem:
        public: &fallback-filesystem
            url: "%env(OS_DOMAIN)%/%env(OS_BUCKET)%/"
            type: "amazon-s3"
            visibility: "public"
            config:
                bucket: "%env(OS_BUCKET)%"
                region: "eu-central-1"
                endpoint: "%env(OS_DOMAIN)%"
                use_path_style_endpoint: true
                root: ""
                credentials:
                    key: "%env(OS_ACCESS_KEY_ID)%"
                    secret: "%env(OS_SECRET_ACCESS_KEY)%"

        theme: *fallback-filesystem

        asset: *fallback-filesystem

        sitemap: *fallback-filesystem

Erklärung: Die Config-Dateien werden von Symfony in alphabetischer Reihenfolge geladen. Zuerst wird die shopware.yaml, anschließend die shopware.yml geladen. Die in der zweiten Datei enthaltenen Einträge überschreiben dabei die Einträge aus der ersten Datei. Folglich überschreiben die Einträge aus der z-shopware.yaml entsprechende Einträge in den vorher geladenen Dateien. In der Regel nutzt man eine shopware.yaml als Shopware-Standard, die bei Shopware-Updates überschrieben wird. Die z-shopware.yaml nutzt man für eigene Anpassungen.

Hinweis: Falls diese Datei bei Ihnen bereits existiert und Sie in dieser bereits Inhalte hinterlegt haben, müssen Sie auf eine einheitliche Einrückung achten!

Ergebnis: Die z-shopware.yaml wurde angelegt oder angepasst.



6

Jetzt müssen Sie die Zugangsdaten zu Ihrem Object Storage in der Datei .env.local im Hauptverzeichnis Ihrer Shopware-Installation hinterlegen. Fügen Sie dafür folgende Zeilen ein:

OS_ACCESS_KEY_ID="[IhrAccessKey]"
OS_SECRET_ACCESS_KEY="[IhrSecret]"
OS_DOMAIN="[S3-Endpunkt oder Whitelabel Hostname]"
OS_BUCKET="[IhrBucket]"
  • [IhrAccessKey]: Ihr Access Key aus dem Object Storage.
  • [IhrSecret]: Ihr Secret aus dem Object Storage.
  • [S3-Endpunkt oder Whitelabel Hostname]: Der S3-Endpunkt oder der eingerichtete Whitelabel Hostname.
  • [IhrBucket]: Der Name Ihres Buckets.

Ergebnis: Die Zugangsdaten zum Object Storage wurden hinterlegt.



7

Damit Shopware den S3 Object Storage nutzen kann, müssen die erforderlichen PHP-Pakete installiert werden. Diese werden nicht standardmäßig mitgeliefert, sind aber für die Anbindung erforderlich.

Sollte beim Kompilieren ein Fehler wie Missing dependency league/slysystem-async-aws-s3 auftreten, liegt das daran, dass dieses Paket von Shopware nicht automatisch installiert wird.

Um die fehlenden Abhängigkeiten zu ergänzen, führen Sie folgenden Befehl im Hauptverzeichnis Ihrer Shopware-Installation aus:

cd /pfad/zu/ihrem/shopware
composer require league/flysystem-async-aws-s3

Anschließend muss der Composer Autoloader aktualisiert werden, um die neuen Abhängigkeiten einzubinden:

composer dump-autoload

Ergebnis: Die Abhängigkeiten wurden installiert.


Shopware-Cache löschen und Theme kompilieren

Damit die Änderungen wirksam werden, müssen Sie abschließend den Shopware-Cache leeren und das Theme neu kompilieren.

Dies kann auf zwei Wegen erfolgen:

  • Über die Konsole, indem Sie Schritt 8 der folgenden Anleitung ausführen.
  • Alternativ über die Shopware-Administration, indem Sie die Schritte 9a bis 10b befolgen.

8

Wenn Sie die Cache-Löschung und Theme-Generierung über Ihre Konsole ausführen möchten, melden Sie sich per SSH an der Konsole an.

  • Wechseln Sie in Ihren Document Root, zum Beispiel über
cd /var/www/meinedomain.de/web/ 

Hinweis: Ersetzen Sie "meinedomain.de" durch Ihre Domain.

  • Geben Sie nacheinander folgende Konsolenbefehle ein:
php bin/console cache:clear
php bin/console theme:compile

Ergebnis: Ihr Shopware-Cache wurde über die Konsole gelöscht und das Theme neu kompiliert.



9a

Wenn Sie dies über Ihre Shopware-Administration ausführen möchten, loggen Sie sich zunächst in Ihre Administration ein.

Für die Cache-Löschung gehen Sie wie folgt vor:

  • Wählen Sie im Hauptmenü Ihrer Administration den Punkt "Einstellungen" aus.
  • Wählen Sie im Untermenü nun die Option "System".
  • Es stehen Ihnen verschiedene Icons zur Bearbeitung zur Verfügung.
  • Wählen Sie das Icon "Caches & Indizes" aus.

Ergebnis: Sie gelangen in das Bearbeitungsfenster zur Cache-Löschung.



9b

  • Klicken Sie auf die Schaltfläche "Caches leeren".

Ergebnis: Sie haben den Cache Ihres Shops in der Administration gelöscht.



10a

Nun müssen Sie in Ihrer Shopware-Administration noch das Theme neu generieren.

  • Navigieren Sie dafür im Hauptmenü zum Bereich "Verkaufskanäle" und wählen Sie dort Ihr Design aus, in unserem Beispiel "Timme Hosting".
  • Ihnen stehen nun die Reiter "Allgemein", "Produkte", "Theme" und "Analyse" zur Auswahl zur Verfügung. Wählen Sie den Reiter "Theme" aus.
  • Klicken Sie rechts neben dem Theme auf den Button "Theme bearbeiten".
  • Ohne Änderungen vorzunehmen, klicken Sie auf den blauen Button "Speichern".

Ergebnis: Es öffnet sich das Popup-Fenster "Theme speichern".



10b

  • Klicken Sie auf die blaue Schaltfläche "Speichern", um Ihr Theme zu speichern.

Ergebnis: Ihr Theme wurde in der Shopware-Administration aktualisiert.


Troubleshooting

Häufige Probleme

  • Falsche Zugangsdaten: Überprüfen Sie die in .env.local eingetragenen Zugangsdaten.
  • Fehlerhafte Endpunkt-URL: Stellen Sie sicher, dass der S3-Endpunkt oder der Whitelabel Hostname korrekt sind.
  • Berechtigungsprobleme: Vergewissern Sie sich, dass der Benutzer die richtigen Berechtigungen auf den Bucket hat.
  • Fehlerhafte Konfiguration: Überprüfen Sie die Konfiguration in der z-shopware.yaml. Die Einrückung und die YAML-Syntax müssen korrekt sein.

Durch die Integration von Shopware 6 mit unserem Object Storage 2.0 können Sie die Performance Ihres Shops verbessern und gleichzeitig den lokalen Speicherplatz auf Ihrem Server entlasten. Die Auslagerung der Mediendaten ermöglicht eine bessere Skalierbarkeit und vereinfacht das Management großer Datenmengen.

Geschafft! Sie haben Shopware 6 mit Ihrem Object Storage 2.0 verbunden.

Finden Sie den passenden Tarif

Unser Tarifberater hilft Ihnen dabei, das passende Paket zu finden. Bei Fragen berät Sie unser Sales-Team sehr gerne unter +49 (0) 4131 / 22 78 1-25 oder sales@timmehosting.de.

Bitte beachten Sie: Der Tarifberater dient nur der groben Orientierung. Ihr tatsächlicher Bedarf kann durch den Ressourcenbedarf Ihrer Anwendung(en), tageszeitabhängige/saisonale/aktionsbedingte Schwankungen des Besucheraufkommens, geplantes Wachstum und weitere Faktoren von der Empfehlung abweichen.

  • 1
  • 2
  • 3
  • 4
  • 5

Was möchten Sie hosten?

Möchten Sie einen oder mehrere Shops hosten? (Eine Multishop-Installation gilt als ein Shop.)

Möchten Sie eine oder mehrere Websites hosten? (Eine Multisite-Installation gilt als eine Website.)

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Artikel haben Sie insgesamt in Ihrem Shop/Ihren Shops (inkl. Varianten)?

Wieviele Artikel haben Sie insgesamt in Ihrem Shop/Ihren Shops (inkl. Varianten)?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wir empfehlen Ihnen folgende Lösungen:

ScaleServer oder Web Hosting

Zu den ScaleServer Paketen Zu den Web Hosting Paketen

Wir empfehlen Ihnen folgende Lösungen:

ScaleServer oder Shop Hosting

Zu den ScaleServer Paketen Zu den Shop Hosting Paketen

Wir empfehlen Ihnen folgende Lösungen:

Managed vServer oder ScaleServer

Zu den Managed vServer Paketen Zu den ScaleServer Paketen

Wir empfehlen Ihnen folgende Lösungen:

Managed Server oder ScaleServer

Zu den Managed Server Paketen Zu den ScaleServer Paketen

Wir empfehlen Ihnen unsere

Timme Cloud 2.0

Zur Timme Cloud 2.0