cg-soft.de -Programmining

Die Datensicherung der WordPress-Website ist ein wichtiger Bestandteil des Schutzes einer Website vor Beschädigung oder Datenverlust. Mit einer regelmäßigen Datensicherung ist sichergestellt, dass die Website auch nach einem Cyberangriff oder einem Systemfehler wiederhergestellt werden kann.

Wie man seine WordPress-Website ohne Plugininstallation auf Server- und PHP-Ebene sichern kann, möchte ich in diesem Beitrag beschreiben.

Das von mir programmierte All-in-One-Script erstellt Datensicherungen der kompletten Website und ermöglicht ein schnelles Wiederherstellen. Mit dem Programm wird eine vollständige Sicherung der Website erstellt, die alle Dateien, Datenbanken und Konfigurationen enthält. Die Sicherung kann in komprimierter Form auf ein externes Speichermedium, wie z.B. eine externe Festplatte, übertragen werden. Dadurch ist sichergestellt, dass alle Daten im Falle eines Verlustes oder eines Cyberangriffs hergestellt werden können.

Verzeichnis für Sicherungen einrichten


  1. Als Erstes muss ein passwortgeschütztes Verzeichnis auf dem Webspace angelegt werden
  2. Das Verzeichnis muss beschreibbar sein

Passwortschutz anlegen

                
                    <html lang="de">
    <head>
        <meta charset="utf-8" />
        <title>Passwortschutz anlegen</title>
    <body>
        <?php
            $p = dirname($_SERVER["SCRIPT_FILENAME"]);
            #echo $p ;
            #exit();
            $check = "passwort.php";
            if(is_writeable($check)) {
            echo "Die Datei darf beschrieben werden.";
            } else {
            echo "Die Datei darf nicht beschrieben werden.";
            }
            if (isset($_POST['name']) && $_POST['name'] <> '' ) {  
              $x = $_POST['name'] . ':' . password_hash($_POST['pw'], PASSWORD_BCRYPT);
              if ($_POST['add']) {
                file_put_contents($p . '/.htpassword', '\n' . $x, FILE_APPEND);
              } else {
                file_put_contents($p . '/.htpassword', $x);      
              }  
              $x = "AuthType Basic\nAuthName 'Bitte Name und Passwort eingeben'\nAuthUserFile $p/.htpassword\nRequire valid-user";
              file_put_contents($p . '/.htaccess', $x);  
              echo 'Login<br />Name: ' . htmlspecialchars($_POST['name']) . '<br />' . 'Passwort : ' . htmlspecialchars($_POST['pw']) . '<br />'; echo 'Passwortschutz aktiv' . '<br />'; if ($_POST['rename'] && file_exists($_SERVER["SCRIPT_FILENAME"])) { rename($_SERVER["SCRIPT_FILENAME"], $_SERVER["SCRIPT_FILENAME"]. '_'); echo 'Script-Datei wurde umbenannt: ' . $_SERVER["SCRIPT_NAME"]. '_'; } } else { ?> 
        <form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="post">
            <table>
                <tbody>
                    <tr>
                        <td colspan="3"><b>Passwortschutz anlegen</b></td>
                    </tr>
                    <tr>
                        <td>Name:</td>
                        <td>&nbsp;</td>
                        <td><input type="text" name="name" /></td>
                    </tr>
                    <tr>
                        <td>Passwort : </td>
                        <td>&nbsp;</td>
                        <td><input type="text" name="pw" /></td>
                    </tr>
                    <?php if (file_exists($p . '/.htpassword')) echo '<tr><td>Benutzer anhängen ?</td><td>&nbsp;</td><td><input type="checkbox" name="add"></td></tr>'; ?> 
                    <tr>
                        <td>Diese Datei nach erstellen des<br />Passwortschutzes umbenennen ?</td>
                        <td>&nbsp;</td>
                        <td><input type="checkbox" name="rename"></td>
                    </tr>
                </tbody>
            </table>
            <p><input type="submit" value=".htaccess & .htpassword anlegen"/></p>
        </form>
        <?php } ?> 
    </body>
</html>
                
            

Die PHP-Script erzeugt einen Passwortschutz für das Sicherungsverzeichnis. Nach dem Erstellen der Zugangsdaten vom Server löschen! 

Hier ist es möglich, die IP-Adresse für eine lokale Kopie der Website anzugeben. Wie man unter Windows ein echtes Linux / Debian zum Laufen bekommt, beschreibe ich (vielleicht) etwas später ;o)… Jedoch sollte die lokale Entwicklerumgebung und online Umgebung nahezu identisch sein!

Sicherung erstellen und zurückspielen

Das Programm ist selbsterklärend und robust!

Ich habe „mit Absicht“ auf sämtlichen Schnickschnack verzichtet.

Viele WordPress-Plug-ins zur Datensicherung sind kostenlos, aber es gibt auch einige kostenpflichtige Plugins, die eine Reihe zusätzlicher (- notwendiger -) Funktionen bieten.

Mit dem vorgestellten Tool ist es möglich, einfach und unkompliziert eigene Sicherungen zu erstellen.