Raspberry Pi: Unterschied zwischen den Versionen

Aus Wiki Freifunk-3Ländereck
Wechseln zu: Navigation, Suche
(Backup)
Zeile 2: Zeile 2:
 
==Backup==
 
==Backup==
  
 +
Damit die auf dem Raspberry Pi hinterlegten Daten auch sicher sind, empfiehlt sich ein regelmäßiges, möglichst automatisiertes Backup. Lösungen gibt es hierzu viele. Eine einfache, jedoch recht komfortable Lösung bietet BackupPC. Neben diversen Verfahren zur eigentlichen Erstellung der Backups bietet es eine einfache Web-Oberfläche, welche einen bequemen Zugriff aus der Ferne ermöglicht. Zum Glück ist backuppc teil der Debian-Distribution und lässt sich mittels apt installieren:
  
apt-get install backuppc
+
apt-get install backuppc
  
Im Zuge der Installation wird automatisch der Benutzer "backuppc" angelegt und ein zufälliges Passwort generiert.
+
Im Zuge der Installation wird automatisch der Benutzer "backuppc" angelegt und sowie ein zufälliges Passwort generiert. Diese sollte man sich notieren. Prinzipiell werden Passwörter in der Datei ''/etc/backuppc/htpasswd" verwaltet. Das Passwort für den Benutzer ''backuppc'' lässt sich mit dem folgenden Befehl ändern:
Die Konfiguration für den Apache2 Web-Server wird im Verzeichnis "/etc/apache2/conf.d" abgelegt. Benutzerkonten lassen sich in der Datei "/etc/backuppc/htpasswd" anlegen.
 
  
 
+
  sudo htpasswd /etc/backuppc/htpasswd backuppc
Um sichere Verbindungen zu erzwingen, aktivieren wir die Option "SSLRequireSSL" in der Datei "/etc/apache2/conf.d":
+
Sofern man secure HTTP noch nicht aktiviert hat, sollte man dies jetzt nachholen.
+
Die Konfiguration für den Apache2 Web-Server ist in der Datei ''/etc/apache2/conf.d/backuppc.conf'' abgelegt. Um sichere Verbindungen via SSL zu erzwingen, aktivieren wir dort die Option "SSLRequireSSL":  
  
 
  # Uncomment the line below to ensure that nobody can sniff importanti
 
  # Uncomment the line below to ensure that nobody can sniff importanti
Zeile 18: Zeile 18:
 
  SSLRequireSSL
 
  SSLRequireSSL
  
SSL aktivieren
+
Sofern man SSL für den Apache2 noch nicht aktiviert hat, sollte man dies jetzt nachholen:
  
 
  sudo a2enmod ssl
 
  sudo a2enmod ssl
  
Im Anschluss starten wir den Apache2 neu
+
Für den Backup-Betrieb genügen die vorinstallieren nichtöffentlichen Zertifikate. Im Anschluss starten wir den Apache2 neu:
  
 
  service apache2 restart
 
  service apache2 restart
  
Im Anschluss ... aufrufen unter
+
Sofern der Neustart erfolgreich war, lässt sich die Weboberfläche von BackupPC ab sofort unter dem folgenden URL aufrufen:
  
   https://box-1719.ff3l/backuppc/
+
   https://<host>/backuppc/
  
Anmeldung...
+
Für die Anmeldung benutzen wir den zuvor notierten Benutzernamen und das zugehörige Passwort.
  
Der Rechner "localhost" ist bereits vorkonfiguriert. Wir klicken auf "Host Summary" und dort den auf den Link "localhost". Im Anschluss können wir in einem Menu links oben durch Klick auf "Edit Config" die Voreinstellunen anpassen.
+
Der Rechner "localhost" ist in BackupPC bereits vorkonfiguriert. Wir klicken auf "Host Summary" und danach auf den Link "localhost". Im Anschluss wählen wir im Menü links oben die Option "Edit Config".
Im Reiter "Xfer" im Hauptfenster wählen wir als "Xfer Method" "rsync". Der Rest der Einstellungen kann in der Regel unverändert bleiben.  
+
Im Reiter "Xfer" im Hauptfenster wählen wir danach als "Xfer Method" die Option "rsync". Der Rest der Einstellungen kann in der Regel unverändert bleiben.  
 +
 
 +
Sollte rsync auf dem Rechner noch nicht isntalliert sein, so holen wir dies in der Konsole mittels apt nach:
  
Sollte rsync auf dem Rechner noch nicht isntalliert sein, so holen wir dies in der Konsole mit dem folgenden Befehl nach:
 
 
   sudo apt-get install rsync
 
   sudo apt-get install rsync
  
Backuppc läuft aus Sicherheitsgründen unter dem Linux-Benutzer "backuppc". Der Zugriff auf die zu sichernden Rechner erfolgt via SSH. Dies gilt auch, wenn der lokale Rechner gesichert werden soll. Damit sich backuppc via SSH als Benutzer "root" anmelden kann, aktivieren wir die entsprechende Option in der Datei "/etc/ssh/sshd_config":
+
Backuppc läuft aus Sicherheitsgründen unter dem Linux-Benutzer "backuppc". Der Zugriff auf die zu sichernden Rechner erfolgt via SSH (zumindest bei der von uns gewählten Sicherungsmethode). Dies gilt auch, wenn der lokale Rechner gesichert werden soll. Damit sich BackupPC via SSH als Benutzer"root" anmelden kann, aktivieren wir die entsprechende Option in der Datei "/etc/ssh/sshd_config":
  
 
   PermitRootLogin yes
 
   PermitRootLogin yes
  
Weiterhin deaktivieren wir die Authentifizierung mittels Passwörter, welche im Klartext übertragen werden:  
+
Weiterhin deaktivieren wir die Authentifizierung mittels unverschlüsselter Passwörter:  
  
 
  # Change to no to disable tunnelled clear text passwords
 
  # Change to no to disable tunnelled clear text passwords
 
  #PasswordAuthentication yes
 
  #PasswordAuthentication yes
  
Bevor wir SSH neu starten, sollten wir unbedingt sicherstellen, dass wir uns mittels eines registrierten Schlüssels authentifizieren können! Ansonsten sperren wir uns mit dieser Maßnahme selbst vom Rechner aus
+
Sofern wir uns via SSH mit dem Raspberry Pi verbunden haben, sollten wir unbedingt sicherstellen, dass die Authentifizierung mittels eines registrierten Schlüssels möglich ist! Ansonsten sperren wir uns mit dieser Maßnahme selbst vom Rechner aus. Im Anschluss startend wir den SSH-Dämonen neu:
  
 
  sudo service ssh restart
 
  sudo service ssh restart
  
Benutzer backuppc werden:
+
Als nächstes werden wir zum Benutzer backuppc:
  
 
   sudo su backuppc
 
   sudo su backuppc
  
SSH Schlüssel generieren
+
In dieser Identität generieren wir ein SSH Schlüsselpaar:
  
 
   ssh-keygen -t rsa -b 4096 -C "<email@example.com>"
 
   ssh-keygen -t rsa -b 4096 -C "<email@example.com>"
  
Das Schlüsselpaar wird standardmäßig im Heimatverzeichnis im Versteckten Unterverzeichnis ".ssh" abgelegt. Der öffentliche Schlüssel ist in der Datei "id_rsa.pub" hinterlegt.
+
Das Schlüsselpaar wird standardmäßig im Heimatverzeichnis im Versteckten Unterverzeichnis ".ssh" abgelegt. Der öffentliche Schlüssel ist in der Datei "id_rsa.pub" gespeichert. Um diesen Schlüssel für den Zugang als Benutzer root zu registrieren führen wir die folgende Befehlszeile aus:
  
 
  ssh-copy-id -i ~/.ssh/id_rsa.pub root@localhost
 
  ssh-copy-id -i ~/.ssh/id_rsa.pub root@localhost
  
Passowrt eingeben.
+
Auf die Aufforderung hin geben wir das Passowrt des Benutzers root ein. Ab sofort sollte die Verbindung mittels SSH als Benutzer root auch ohne Passworteingabe möglich sein:
Im Anschluss ... ohne Passworteingabe möglich sein
 
  
 
   ssh root@localhost
 
   ssh root@localhost
 
   exit
 
   exit
  
Wir werden wieder zu unserem regulären Benutzer
+
Nachdem dies erledigt ist, werden wieder zu unserem regulären Benutzer:E
  
 
   exit
 
   exit
  
Die /var/lib/backuppc . Verschieben und verlinken!
+
Jetzt sind wir fast soweit, dass wir unser erstes Backup durchführen können. Backups werden im Verzeichnis ''/var/lib/backuppc'' gespeicher. Dieses dient dem Linux-Benutzer backuppc gleichzeitig als Heimverzeichnis. Da wir Backups aus Sicherheitsgründen nicht auf dem gleichen Speichermedium ablegen sollten, empfiehlt sich die Einrichtung eines USB-Speichers. Dieser muss unbedingt mit einem Datei-System formattiert sein, welches Linux-Benutzerrechte unterstützt (z.B. ext4fs). Es wird im Folgenden davon ausgegangen, dass der Speicher an der Stelle /mnt/<usb-storage> in das Dateisystem eingebunden ist.
 +
Zuerst stoppen wir den Hintergrundprozess von BackupPC:
 +
 
 +
sudo service backuppc stop
 +
 
 +
Im zweiten Schritt verschieben wir das existierende Heimverzeichnis auf den externen Speicher:
 +
 
 +
sudo mv /var/lib/backuppc /mnt/<usb-storage>
 +
 
 +
Im Anschluss erstell wir an der ursprünglichen Stelle einen symbolischen Link auf den neuen Speicherort:
 +
 
 +
sudo ln -s /mnt/<stick>/backuppc /var/lib/backuppc
 +
 
 +
Zuletzt aktivieren wir wieder den BackupPC-Hintergrundprozess:
 +
 
 +
sudo service backuppc start
  
Damit sind wir soweit, dass wir unser erstes Backup starten können. Hierzu wechseln wir wieder in die Web-Oberfläche. Unter "User Actions" hat man durch Klick auf die Schaltfläche "Start Full Backup" die Möglichkeit, ein erstes, vollständiges Backup manuell zu starten.
+
Damit sind wir soweit, dass wir unser erstes Backup starten können. Hierzu wechseln wir wieder in die Web-Oberfläche. In der Ansicht für den Rechner "localhost" hat man unter "User Actions" durch Klick auf die Schaltfläche "Start Full Backup" die Möglichkeit, ein erstes, vollständiges Backup manuell zu starten. Danach heißt es Geduld haben. Sollte es zu einem Fehler kommen, empfiehlt sich ein Studium der Log-Dateien. In Zukunft sollten die Backups automatisch erstellt werden. Wie sich die Intervalle anpassen lassen, entnimmt man am besten der Dokumentation.
Danach heißt es Geduld haben. Sollte es zu einem Fehler kommen, empfiehlt sich ein Studium der Log-Dateien.
 

Version vom 17. März 2015, 21:33 Uhr

Backup

Damit die auf dem Raspberry Pi hinterlegten Daten auch sicher sind, empfiehlt sich ein regelmäßiges, möglichst automatisiertes Backup. Lösungen gibt es hierzu viele. Eine einfache, jedoch recht komfortable Lösung bietet BackupPC. Neben diversen Verfahren zur eigentlichen Erstellung der Backups bietet es eine einfache Web-Oberfläche, welche einen bequemen Zugriff aus der Ferne ermöglicht. Zum Glück ist backuppc teil der Debian-Distribution und lässt sich mittels apt installieren:

apt-get install backuppc

Im Zuge der Installation wird automatisch der Benutzer "backuppc" angelegt und sowie ein zufälliges Passwort generiert. Diese sollte man sich notieren. Prinzipiell werden Passwörter in der Datei /etc/backuppc/htpasswd" verwaltet. Das Passwort für den Benutzer backuppc lässt sich mit dem folgenden Befehl ändern:

 sudo htpasswd /etc/backuppc/htpasswd backuppc

Die Konfiguration für den Apache2 Web-Server ist in der Datei /etc/apache2/conf.d/backuppc.conf abgelegt. Um sichere Verbindungen via SSL zu erzwingen, aktivieren wir dort die Option "SSLRequireSSL":

# Uncomment the line below to ensure that nobody can sniff importanti
# info from network traffic during editing of the BackupPC config or
# when browsing/restoring backups.
# Requires that you have your webserver set up for SSL (https) access.
SSLRequireSSL

Sofern man SSL für den Apache2 noch nicht aktiviert hat, sollte man dies jetzt nachholen:

sudo a2enmod ssl

Für den Backup-Betrieb genügen die vorinstallieren nichtöffentlichen Zertifikate. Im Anschluss starten wir den Apache2 neu:

service apache2 restart

Sofern der Neustart erfolgreich war, lässt sich die Weboberfläche von BackupPC ab sofort unter dem folgenden URL aufrufen:

 https://<host>/backuppc/

Für die Anmeldung benutzen wir den zuvor notierten Benutzernamen und das zugehörige Passwort.

Der Rechner "localhost" ist in BackupPC bereits vorkonfiguriert. Wir klicken auf "Host Summary" und danach auf den Link "localhost". Im Anschluss wählen wir im Menü links oben die Option "Edit Config". Im Reiter "Xfer" im Hauptfenster wählen wir danach als "Xfer Method" die Option "rsync". Der Rest der Einstellungen kann in der Regel unverändert bleiben.

Sollte rsync auf dem Rechner noch nicht isntalliert sein, so holen wir dies in der Konsole mittels apt nach:

 sudo apt-get install rsync

Backuppc läuft aus Sicherheitsgründen unter dem Linux-Benutzer "backuppc". Der Zugriff auf die zu sichernden Rechner erfolgt via SSH (zumindest bei der von uns gewählten Sicherungsmethode). Dies gilt auch, wenn der lokale Rechner gesichert werden soll. Damit sich BackupPC via SSH als Benutzer"root" anmelden kann, aktivieren wir die entsprechende Option in der Datei "/etc/ssh/sshd_config":

 PermitRootLogin yes

Weiterhin deaktivieren wir die Authentifizierung mittels unverschlüsselter Passwörter:

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

Sofern wir uns via SSH mit dem Raspberry Pi verbunden haben, sollten wir unbedingt sicherstellen, dass die Authentifizierung mittels eines registrierten Schlüssels möglich ist! Ansonsten sperren wir uns mit dieser Maßnahme selbst vom Rechner aus. Im Anschluss startend wir den SSH-Dämonen neu:

sudo service ssh restart

Als nächstes werden wir zum Benutzer backuppc:

 sudo su backuppc

In dieser Identität generieren wir ein SSH Schlüsselpaar:

 ssh-keygen -t rsa -b 4096 -C "<email@example.com>"

Das Schlüsselpaar wird standardmäßig im Heimatverzeichnis im Versteckten Unterverzeichnis ".ssh" abgelegt. Der öffentliche Schlüssel ist in der Datei "id_rsa.pub" gespeichert. Um diesen Schlüssel für den Zugang als Benutzer root zu registrieren führen wir die folgende Befehlszeile aus:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@localhost

Auf die Aufforderung hin geben wir das Passowrt des Benutzers root ein. Ab sofort sollte die Verbindung mittels SSH als Benutzer root auch ohne Passworteingabe möglich sein:

 ssh root@localhost
 exit

Nachdem dies erledigt ist, werden wieder zu unserem regulären Benutzer:E

 exit

Jetzt sind wir fast soweit, dass wir unser erstes Backup durchführen können. Backups werden im Verzeichnis /var/lib/backuppc gespeicher. Dieses dient dem Linux-Benutzer backuppc gleichzeitig als Heimverzeichnis. Da wir Backups aus Sicherheitsgründen nicht auf dem gleichen Speichermedium ablegen sollten, empfiehlt sich die Einrichtung eines USB-Speichers. Dieser muss unbedingt mit einem Datei-System formattiert sein, welches Linux-Benutzerrechte unterstützt (z.B. ext4fs). Es wird im Folgenden davon ausgegangen, dass der Speicher an der Stelle /mnt/<usb-storage> in das Dateisystem eingebunden ist. Zuerst stoppen wir den Hintergrundprozess von BackupPC:

sudo service backuppc stop

Im zweiten Schritt verschieben wir das existierende Heimverzeichnis auf den externen Speicher:

sudo mv /var/lib/backuppc /mnt/<usb-storage> 

Im Anschluss erstell wir an der ursprünglichen Stelle einen symbolischen Link auf den neuen Speicherort:

sudo ln -s /mnt/<stick>/backuppc /var/lib/backuppc

Zuletzt aktivieren wir wieder den BackupPC-Hintergrundprozess:

sudo service backuppc start

Damit sind wir soweit, dass wir unser erstes Backup starten können. Hierzu wechseln wir wieder in die Web-Oberfläche. In der Ansicht für den Rechner "localhost" hat man unter "User Actions" durch Klick auf die Schaltfläche "Start Full Backup" die Möglichkeit, ein erstes, vollständiges Backup manuell zu starten. Danach heißt es Geduld haben. Sollte es zu einem Fehler kommen, empfiehlt sich ein Studium der Log-Dateien. In Zukunft sollten die Backups automatisch erstellt werden. Wie sich die Intervalle anpassen lassen, entnimmt man am besten der Dokumentation.