Staging Manager

Hosting und Server Läuft das auf meinem Server?

Die Staging-Umgebung läuft auf deinem Server: unter einem Unterverzeichnis oder einer eigenen Domain, oder per SFTP auf einem zweiten Server. Ob der Server alles mitbringt, prüft die Vorprüfung, bevor etwas passiert.

Was am Server geschrieben wird

Der Live-Shop wird nur gelesen.

Geschrieben wird im Live-Shop an genau diesen Stellen:

Staging-Ordner
Je Staging-Umgebung ein Verzeichnis staging/<Name> im Verzeichnis des Live-Shops, neben public. Darin liegt die Staging-Umgebung selbst.
Verknüpfung im Webroot
Ein Symlink public/<Name>, damit die Staging-Umgebung unter der Adresse des Live-Shops plus ihrem Namen erreichbar ist. Mit eigener Adresse entfällt er.
Eigene Tabellen
Die Tabellen des Plugins mit Staging-Umgebungen, Läufen und Protokoll, dazu der Anonymisierungsnachweis in der privaten Ablage von Shopware.
Probe
Für die Vorprüfung kurz eine Probedatei und ein Symlink, danach wieder entfernt.
Nie geändert

Die Datenbank des Live-Shops, seine .env, seine .htaccess und seine übrigen Dateien. Nie angefasst: vHost, DNS, Zertifikate und PHP-Einstellungen des Servers.

Webserver und Adresse

Unterverzeichnis oder eigene Domain.

  • Apache

    Die .htaccess des Live-Shops geht unverändert mit. Der Symlink braucht FollowSymLinks oder SymLinksIfOwnerMatch; die Vorprüfung probiert es aus und meldet, wenn der Server ihm nicht folgt.

  • nginx

    Jede Staging-Umgebung im Unterverzeichnis braucht einen eigenen location-Block im server-Block des Live-Shops. Den fertigen Block zeigt die Karte „Erreichbarkeit“ zum Kopieren.

  • Eigener Pfad

    Die Staging-Umgebung liegt in einem Ordner außerhalb des Live-Shops, etwa /var/www/staging/shop. Eine Domain, deren Dokumentenstamm auf ihren Ordner public zeigt, richtest du beim Hoster ein.

  • Zweiter Server per SFTP

    Statt auf dem Server des Live-Shops kann die Staging-Umgebung per SFTP auf einem zweiten Server liegen.

Datenbank

Eine eigene Datenbank je Staging-Umgebung.

Die Datenbank des Live-Shops wird nur gelesen. Im Reiter „Allgemein“ wählst du, wie die Staging-Umgebung zu ihrer eigenen kommt.

Neue Datenbank anlegen
Das Plugin legt sie beim ersten Bau an; dafür braucht der Benutzer das Recht, Datenbanken anzulegen. Der Name folgt dem der Staging-Umgebung.
Vorhandene Datenbank wählen
Du nimmst eine leere Datenbank, etwa aus dem Hosting-Panel. Wählbar ist nur, was leer ist.
Zugang zur Datenbank
„Wie der Live-Shop“ nutzt denselben Server und Benutzer. „Eigene Zugangsdaten“ nimmt Server, Port, Benutzer und Kennwort, etwa wenn der Hoster je Datenbank einen eigenen Benutzer verlangt. „Verbindung prüfen“ fragt den Server, ohne etwas anzulegen.

Nie genommen werden die Datenbank des Live-Shops, die einer anderen Staging-Umgebung und eine mit fremden Tabellen. Live-Shop und Staging-Umgebung brauchen dasselbe Datenbanksystem, MySQL oder MariaDB. Fehlt dem Benutzer ein Recht, schreibt die Vorprüfung die passende GRANT-Zeile, die du an deinen Hoster gibst.

Besondere Aufbauten

Was für sie gilt.

Geprüft mit Apache und nginx, MySQL und MariaDB, Redis, Elasticsearch, OpenSearch und Varnish. Wo sich ein besonderer Aufbau erkennen lässt, markiert ihn die Vorprüfung als nicht empfohlen und nennt die Folgen; bauen kannst du trotzdem.

Views, Trigger und Routinen
Kommen nicht in die Staging-Umgebung, Events ebenso wenig; was im Live-Shop darauf beruht, fehlt dort. Die Vorprüfung nennt sie.
Vom Server gesetzte Datenbank-Adresse
Setzt der Server DATABASE_URL selbst, hält die Vorprüfung jeden Bau an, weil die Kopie sonst auf der Datenbank des Live-Shops liefe. Kläre dann mit dem Hoster, ob die Staging-Umgebung einen eigenen Wert bekommen kann.
Lese-Replikate der Datenbank
Die Staging-Umgebung liest dann aus der Datenbank des Live-Shops.
Mehrere Webserver
Hinter einem Load Balancer liegt die Staging-Umgebung nur auf dem Server, auf dem sie gebaut wurde; fehlt sie auf einem, zeigt es die Webserver-Probe.
Netzlaufwerke
NFS, SMB und ähnliche: Das Kopieren dauert länger, andere Webserver sehen die Staging-Umgebung nicht.
Gehostete Datenbanken
Etwa RDS oder Cloud SQL, nicht eigens geprüft. Welche Rechte fehlen, sagt die Vorprüfung.
Fragen

Was Shopbetreiber dazu fragen.

Läuft das auf einem Webspace?

Ja, auf eigenem Server wie auf Webspace; Shell und SSH brauchst du nicht. Darf der Datenbankbenutzer keine Datenbanken anlegen, wählst du eine leere aus dem Hosting-Panel, mit „Eigene Zugangsdaten“ auch mit ihrem eigenen Benutzer. Fehlt ein Recht, schreibt die Vorprüfung die passende GRANT-Zeile für deinen Hoster.

Was muss ich für nginx einrichten?

Jede Staging-Umgebung im Unterverzeichnis braucht einen eigenen location-Block im server-Block des Live-Shops. Das Plugin ändert keine nginx-Konfiguration; die Karte „Erreichbarkeit“ im Reiter „Allgemein“ zeigt den fertigen Block zum Kopieren, und „Jetzt prüfen“ probiert aus, ob Dateien und Seiten ankommen.

Kann die Staging-Umgebung eine eigene Domain bekommen?

Ja. Trag die Domain unter „Adresse der Staging-Umgebung“ ein und richte beim Hoster ihren Dokumentenstamm ein; die Karte „Erreichbarkeit“ zeigt den Pfad. Mit der Betriebsart „Eigener Pfad“ liegt die Staging-Umgebung zusätzlich in einem Ordner außerhalb des Live-Shops.

Kann die Staging-Umgebung auf einem zweiten Server liegen?

Ja: Ein zweiter Server per SFTP gehört zum Plugin. Ohne ihn liegt die Staging-Umgebung auf dem Server des Live-Shops, in einem eigenen Ordner und mit eigener Datenbank.

Weiter im Plugin

  • Einrichten

    Der Assistent in sieben Schritten, die Vorprüfung und der erste Bau.

  • Was kopiert wird

    Welche Dateien und Tabellen mitkommen, was leer bleibt und wie neu bauen, auffrischen und abbauen wirken.

  • Anonymisierung

    Das Regelwerk, die Ersetzungen je Spalte, die Vorschau und der Nachweis zu jedem Bau.

  • Schutz und Zugang

    Kennwortseite, IP-Adressen ohne Kennwort, Standardbenutzer, Zugangsdaten und Wartungsmodus.

  • Mails und Aufrufe

    Vier Wege für Mails, drei für Aufrufe von Apps und Webhooks, dazu Scheduled Tasks und Analytics.

  • Dienste und Plugins

    Suche, Redis, Warteschlange, Reverse-Proxy und Plugins: was die Kopie mit dem Live-Shop teilt.

  • Unterschiede zum Live-Shop

    Der Vergleich zeigt Erweiterungen, Einstellungen, Inhalte, Dateien und Datenbankstruktur, je mit Seite.

  • Zeitplan und Automatik

    Zeitplan, Laufzeit mit Erinnerung, Flow Builder und Konsolenbefehle.

  • Vergleich mit dem Standard

    Was Shopware mit system:setup:staging selbst kann und was das Plugin dazu bringt.

  • Preise

    Was eine Staging-Umgebung kostet, monatlich oder jährlich, und was jeder Plan enthält.