Deployment
FG Static Export kann ein bestehendes Export-Verzeichnis manuell oder am Ende eines Exportlaufs auf ein Remote-Ziel übertragen. Welche Verfahren auswählbar sind, hängt vom Systemcheck des WordPress-Servers ab.
Ablauf
Section titled “Ablauf”Vor jedem Deployment prüft die Implementierung:
- Ist Deployment aktiviert?
- Existiert das lokale Export-Verzeichnis?
- Ist die aktive Methode auf dem aktuellen Server verfügbar?
- Sind die für die Methode erforderlichen Zugangsdaten vorhanden?
Das Ergebnis und die Meldungen des letzten Laufs werden als WordPress-Optionen gespeichert und im Backend angezeigt.
Rsync über SSH
Section titled “Rsync über SSH”Voraussetzungen
Section titled “Voraussetzungen”- PHP-Funktion
exec()ist verfügbar und nicht deaktiviert - Kommando
rsyncist vorhanden - Kommando
sshist vorhanden - SSH-Zugang zum Zielserver
Verhalten
Section titled “Verhalten”Der Export-Root wird mit rsync -az übertragen. SSH verwendet den konfigurierten Port, BatchMode=yes und StrictHostKeyChecking=accept-new.
Optional kann ein Private-Key-Pfad angegeben werden.
Bei aktivierter Option Remote-Dateien löschen ergänzt das Plugin --delete.
SFTP über PHP SSH2
Section titled “SFTP über PHP SSH2”Voraussetzung
Section titled “Voraussetzung”Die Funktion ssh2_connect() muss verfügbar sein.
Authentifizierung
Section titled “Authentifizierung”Die Implementierung versucht zunächst Key-Authentifizierung, wenn ein privater Key und die zugehörige .pub-Datei vorhanden sind. Andernfalls kann Passwort-Authentifizierung verwendet werden.
Dateien und erforderliche Verzeichnisse werden rekursiv auf das SFTP-Ziel übertragen.
Grenze: Die gespeicherte Option Remote Delete ist für diese Methode nicht implementiert.
SFTP über phpseclib
Section titled “SFTP über phpseclib”Voraussetzung
Section titled “Voraussetzung”Die Klasse \phpseclib3\Net\SFTP muss über den Composer-Autoloader verfügbar sein.
Das analysierte Projekt enthält phpseclib/phpseclib in Version 3.0.55 im Composer-Lockfile.
Authentifizierung
Section titled “Authentifizierung”Unterstützt werden:
- Passwort-Login
- Private-Key-Login über
PublicKeyLoader - optionale Passphrase für den Private Key
Grenze: Remote Delete ist auch bei dieser Methode nicht implementiert.
FTP/FTPS
Section titled “FTP/FTPS”Voraussetzung
Section titled “Voraussetzung”Für FTP muss ftp_connect() vorhanden sein. Für FTPS wird zusätzlich ftp_ssl_connect() benötigt.
Die Verbindung wird in den Passivmodus gesetzt. Dateien werden rekursiv im Binärmodus übertragen.
FTPS-Fallback
Section titled “FTPS-Fallback”Ist FTPS aktiviert, aber ftp_ssl_connect() nicht verfügbar, protokolliert das Plugin eine Warnung und versucht anschließend normales, unverschlüsseltes FTP.
Wenn eine verschlüsselte Verbindung zwingend erforderlich ist, sollte deshalb zusätzlich der Systemcheck kontrolliert werden.
Grenze: Remote Delete ist für FTP/FTPS nicht implementiert.
ZIP + Remote Deploy-Script
Section titled “ZIP + Remote Deploy-Script”Der Code kennt die Methode zip_remote und markiert sie bei vorhandenem ZipArchive als technisch auswählbar. Die eigentliche Remote-Ausführung ist in Version 5.5.4 jedoch ausdrücklich nicht implementiert und endet mit einer Fehlermeldung.
Diese Methode sollte im aktuellen Stand nicht als Deployment-Verfahren eingesetzt werden.
Automatisches Deployment
Section titled “Automatisches Deployment”Auto-Deploy wird nur ausgeführt, wenn:
- Deployment aktiviert ist und
- Nach dem Export automatisch deployen aktiviert ist.
Der Deployment-Schritt startet am Ende des Exportlaufs; ein separater globaler „Export erfolgreich“-Status wird dafür nicht ausgewertet. Schlägt er fehl, bleibt der zuvor erzeugte lokale Export bestehen und der Fehler wird im Export- und Deployment-Log festgehalten.
Zugangsdaten
Section titled “Zugangsdaten”Passwörter können im Backend gespeichert oder über Konstanten in wp-config.php zur Laufzeit gesetzt werden. Details stehen unter Konfiguration.