Shopware updaten

Vorarbeiten

Zugang zum Serverbackend beim Provider, um PHP-Version umstellen zu können.

Shopware-ID und zugehöriges PW, um Plugins upaten zu können

Für den Fall der Fälle FTP-Zugang

SSH-Zugang damit das Backup der Dateien schneller geht.

Backup Dateien und Datenbank

tar -vczf backupdatum-uhrzeit.tar httpdocs/, wobei backudpatum-uhrzeit der Dateiname der Backupdatei ist und httpdocs/ das zu sichernde Verzeichnis samt Unterverzeichnisse.

Zum Entpacken: tar -vxf backupdatum-uhrzeit.tar httpdocs/

Für die Datenbank: mysqldump -uUser -pPasswort > Backupdatei.datum-uhrzeit.sql --databases Datenbankname.

Baustellenseite einrichten

<ifmodule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^90.187.254.57
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance.html [R=503,L]
</ifmodule>

Die IP-Adresse muss natürlich der eigenen Adresse entsprechen, damit man selber reinkommt.

Sonstiges

Wenn im Verzeichnis files/update eine .json-Datei steht ist Shopware der Meinung, dass ein Update läuft. Gleiches gilt für files/backup/auto_update/dummy. Die verhindert, dass der Assistent zwei mal parallel gestartet wird.

Falls ominöse Fehler auftreten, auch mal das Anzeigen von Fehlern aktivieren. Und zwar in der config.php:

<?php return array (
  'db' => 
  array (
    'host' => 'HOST',
    'port' => 'PORT',
    'username' => 'USER',
    'password' => 'PASSWORD',
    'dbname' => 'DBNAME',
  ),
  'front' => array(
    'showException' => true,
    'noErrorHandler' => false,
  ),
 
  //Low-Level PHP-Fehler ab Shopware 5.2.0
  'phpsettings' => [
    'display_errors' => 1,
  ]
);