Benutzer-Werkzeuge

Webseiten-Werkzeuge


cookbook:staging

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
cookbook:staging [2015/02/05 13:13]
shadowcat
cookbook:staging [2017/01/19 00:00] (aktuell)
Zeile 1: Zeile 1:
 ====== Staging mit syncData2 ====== ====== Staging mit syncData2 ======
  
-Unter Staging versteht man unter anderem das Testen einer Website auf einem nichtöffentlichen Server. Bezogen auf BlackCat CMS könnte das beispielsweise bedeuten, daß die Inhalte zunächst in einer lokalen Umgebung - beispielsweise auf Basis einer Portable-Installation - erstellt und gepflegt werden, bevor sie auf den öffentlichen Webserver übertragen werden.+Unter Staging versteht man unter anderem das Testen einer Website auf einem nichtöffentlichen Server. Bezogen auf BlackCat CMS könnte das beispielsweise bedeuten, daß die Inhalte zunächst in einer lokalen Umgebung - beispielsweise auf Basis einer Portable-Installation - erstellt und gepflegt werden, bevor sie auf den öffentlichen Webserver übertragen werden. Das schließt auch das Hinzufügen und Testen von Modulen mit ein. 
 + 
 +{{:​cookbook:​schematisch.png?​nolink|}} 
 + 
 +Die Inhalte auf dem öffentlichen Server sind in diesem Fall - nach erfolgter Synchronisation - identisch mit denen der lokalen Installation.
  
 Das manuelle Übertragen von Inhalten ist jedoch mühselig und fehleranfällig. Glücklicherweise steht jedoch das Werkzeug syncData2 der phpManufaktur zur Verfügung, um dies zu vereinfachen. Das manuelle Übertragen von Inhalten ist jedoch mühselig und fehleranfällig. Glücklicherweise steht jedoch das Werkzeug syncData2 der phpManufaktur zur Verfügung, um dies zu vereinfachen.
  
 +syncData2 wird auf beiden Systemen, also sowohl lokal als auch im Web, installiert und konfiguriert. Das lokale System ist die Quelle, auf der die Daten per Backup exportiert werden. Um das Zielsystem, also den öffentlichen Server, zu aktualisieren,​ überträgt man die Backup-Dateien per FTP auf den Server und importiert sie dort mit Hilfe von syncData2.
 ===== Allgemeines zu syncData2 ===== ===== Allgemeines zu syncData2 =====
  
Zeile 16: Zeile 21:
 syncData2 ist kein CMS-Modul! Die Installation kann also nicht über das BlackCat Backend erfolgen! syncData2 ist kein CMS-Modul! Die Installation kann also nicht über das BlackCat Backend erfolgen!
 </​WRAP>​ </​WRAP>​
 +
 +Die jeweils aktuelle Version ist bei GitHub zu finden: https://​github.com/​phpManufakturHeirs/​SyncData2/​releases
  
 Nach dem Entpacken des ZIPs in dieses Verzeichnis wird mit  Nach dem Entpacken des ZIPs in dieses Verzeichnis wird mit 
Zeile 87: Zeile 94:
     http://<​CAT_URL>/​syncdata/​backup?​key=<​Schlüssel>​     http://<​CAT_URL>/​syncdata/​backup?​key=<​Schlüssel>​
  
-Die Sicherung kann je nach Umfang der Installation recht lange dauern, also Geduld! Das Ergebnis ​liegt nach Abschluß ​des Backups im Verzeichnis+Die Sicherung kann je nach Umfang der Installation recht lange dauern, also Geduld! ​ 
 + 
 +Während der Sicherung ist die Seite im Browser leer, also in der Regel einfach weiß. Nach Abschluß der Sicherung wird eine Ergebnisseite ausgegeben.  
 + 
 +{{:​cookbook:​syncdata_2_backup.png?​nolink|}} 
 + 
 +Das Ergebnis des Backups ​liegt im Verzeichnis
  
      /​syncdata/​data/​backup      /​syncdata/​data/​backup
  
 +
 +===== Übertragen des Backups auf den Server =====
 +
 +Das Backup besteht aus zwei Dateien, nämlich einem ZIP, welches alle Daten beinhaltet, und einer MD5-Datei mit einer Checksumme. Dies ermöglicht es syncData2, das Backup auf Konsistenz zu überprüfen. Es ist deshalb wichtig, immer beide Dateien (per FTP) auf das Zielsystem zu übertragen.
 +
 +Beispiel:
 +
 +    syncdata_backup_20150205_1314.md5
 +    syncdata_backup_20150205_1314.zip
 +
 +Der Name der Dateien setzt sich aus dem festen Präfix "​syncdata_backup",​ dem Datum und der Uhrzeit zusammen.
 +
 +Beide Dateien werden auf dem Zielsystem im Verzeichnis
 +
 +    /​syncdata/​inbox
 +
 +abgelegt.
 +
 +
 +===== Import auf dem Server =====
 +
 +Analog zum Backup, erfolgt auch der Import wieder per Aufruf von syncData2.
 +
 +    <​CAT_URL>/​syncdata/​restore?​key=<​Schlüssel>​
 +
 +<WRAP center round important 60%>
 +**Wichtig:​** Der <​Schlüssel>​ ist in diesem Fall der des Servers! Jede syncData2-Installation hat ihren eigenen Sicherheitsschlüssel,​ der während der Installation generiert wird.
 +</​WRAP>​
 +
 +SyncData2 sucht nun in der ''​inbox''​ nach Datensicherungen. Jede einmal importierte Sicherung wird in die Datenbank eingetragen und die Dateien aus der ''​inbox''​ in das Verzeichnis ''/​data/​backup''​ verschoben.
 +
 +Auch hier kann der Import der Daten je nach Umfang einige Zeit dauern. Nach Abschluß des Imports wird wieder eine Ergebnisseite angezeigt.
 +
 +
 +===== Synchronisierung =====
 +
 +Nach dem initialen Ex- und Import der Webseiten geht es darum, den öffentlichen Server bei Bedarf zu aktualisieren. Ein vollständiges Backup ist in diesem Fall unnötig und auch zu umfangreich. Daher verfügt syncData2 über eine weitere Funktionalität,​ nämlich die Synchronisierung.
 +
 +Um auf dem Quellsystem ein Differenzbackup zu erzeugen, dient folgender Aufruf:
 +
 +    <​CAT_URL>/​syncdata/​createsync?​key=<​Schlüssel>​
 +
 +Sofern es veränderte Daten gibt, wird im Verzeichnis
 +
 +     /​syncdata/​outbox
 +
 +ein Backup angelegt. Genau wie beim Vollbackup besteht auch dieses aus einer ZIP-Datei und einer Checksummen-Datei mit der Endung .md5.
 +
 +Auch in diesem Fall wird das Backup nach Fertigstellung in die Inbox des Zielsystems übertragen. Anschließend wird auf dem Zielsystem der Import mit
 +
 +    <​CAT_URL>/​syncdata/​sync?​key=<​Schlüssel>​
 +
 +veranlaßt.
 +
 +Fertig importierte Synchronisierungen werden in das Verzeichnis
 +
 +    <​CAT_PATH>/​syncdata/​data/​synchronize
 +
 +verschoben.
 +
 +
 +<WRAP center round important 100%>
 +Wichtiger Hinweis zum Schluß: Obiges Vorgehen erfordert, daß sämtliche Änderungen ausschließlich auf dem Quellsystem vorgenommen werden. Es ist sonst möglich, daß Änderungen durch die Synchronisierung überschrieben werden.
 +</​WRAP>​
 +
 +===== Serverumzug mit syncData2 =====
 +
 +Mit obigem Verfahren kann man auch eine BlackCat-Installation von Server A auf Server B umziehen. Das Vorgehen ist das gleiche, nur der letzte Schritt - Synchronisation - fällt weg.
cookbook/staging.1423138417.txt.gz · Zuletzt geändert: 2015/02/05 00:00 (Externe Bearbeitung)