Selbstgebauter Homeserver/NAS mit Ubuntu Server

In vielen Haushalten stehen mittlerweile zentrale Netzwerkspeicher, sogenannte NAS. Die Vorteile eines solchen Systems liegen auf der Hand. So hat man einen Datenspeicher der für den ganzen Haushalt z.B. Filme und Musik zur Verfügung stellt. Außerdem ermöglichen einem solche Systeme oft den Zugriff auf seine Daten von außerhalb des Hauses, ohne dass man seine Daten in fremde Hände geben muss. Auch die Backupstrategie wird vereinfacht wenn alle wichtigen Daten zentral vorgehalten werden.

Nun gibt es zwei Möglichkeiten sich einen solchen Netzwerkspeicher zu besorgen. Entweder man kauft sich ein fertiges NAS System, oder man baut sich ein solches selbst. Dies bedeutet zwar mehr Arbeit, man wird dafür aber mit einem System belohnt, welches nahezu alle denkbaren Serverdienste zur Verfügung stellen kann. Unabhängig davon was der Hersteller an Funktionen eingebaut hat.

Seit 2009 tut mein bisheriger Homeserver zuverlässig seinen Dienst. Besonders aufgrund des mittlerweile völlig unzeitgemäßen Stromverbrauchs der alten Hardware war eine Überarbeitung angebracht. In dieser Artikelreihe beschreibe ich wie man sich einen Homeserver/NAS auf Basis von Ubuntu Server aufbauen  und konfigurieren kann, als flexible Alternative zu den heute häufig eingesetzten fertig NAS Systemen.

Die Anforderungen an das System sind folgende:

  1. Möglichst geringer Stromverbrauch, da das System 24/7 laufen soll
  2. Schutz der Daten vor einem Festplattenausfall durch Speicherung auf einem RAID Verbund.
  3. Bereitstellen von Netzwerkfreigaben zum einfachen Zugriff auf die Zentralen Daten mit Windows und Linux
  4. Synchronisieren bestimmter Daten über mehrere Geräte (so dass diese auch lokal vorliegen)
  5. Zugriff auf die Daten von unterwegs
  6. Datenbankserver für das Mediacenter KODI
  7. Streamen von Medien für unterwegs auf Mobilgeräte
  8. Tägliches automatisches und verschlüsseltes Backup der wichtigsten Daten auf einen Cloudspeicher außer Haus.
  9. Manuelles Backup sämtlicher Daten auf einen externen Datenträger

Weiterlesen

SSL für phpMyAdmin erzwingen

Schnell kann es einem passieren, dass man sich in phpMyAdmin einloggt und beim aufrufen der Seite vergisst das https voranzustellen. Dann steht man vor der unschönen Situation, dass man gerade sein MySQL Passwort unverschlüsselt über das Internet übertragen hat.

phpMyAdmin bietet die Möglichekeit die Verwendung von SSL zu erzwingen, ohne das man die URL rewrite Funktion des Webservers bemühen muss.

Dazu einfach in der Configdatei /etc/phpmyadmin/config.inc.php am Ende folgende Zeile eintragen:

$cfg['ForceSSL'] = TRUE;

Dies führt dazu dass phpMyAdmin immer über https aufgerufen wird.


Creative Commons Lizenzvertrag
Dieser Artikel ist lizenziert unter einer Creative Commons Namensnennung 3.0 Deutschland Lizenz.


 

 

Datenverzeichnis für MySQL Datenbanken verschieben

MySQL Datenbanken werden von Ubuntu standardmäßig unter /var/lib/mysql gespeichert. Wenn man die Datenbanken in einem anderen Verzeichnis speichern möchte, z.B. auf einer separaten Datenpartition muss dieser Pfad geändert werden.

Nachdem die Datenbanken in das neue Verzeichnis kopiert wurden muss in der MySQL Configdatei unter /etc/mysql/my.cnf der Pfad unter „basedir“ angepasst werden. Weiterlesen

Tägliches automatisches Sichern von MySQL Datenbanken

Eine simple Möglichkeit MySQL Datenbanken zu backupen bietet das Programm Mysqldump. Mit einem Cronjob kann das Backup automatisiert werden.

Der einfachste Befehl zum Sichern aller Datenbanken ist:

mysqldump -uroot -pPASSWORT --all-databases > /pfad/zu/mysqlbackup.sql

Damit werden alle Datenbanken in die Datei mysqlbackup.sql gesichert.
Für ein tägliches Backup ist dieser Befehl allerdings nicht geeignet, da immer die Datei mysqlbackup.sql erzeugt wird. Besser wäre es wenn täglich eine Datei mit dem aktuellen Datum erzeugt wird. Dazu definieren wir eine Variable „Datum“ und geben der Backupdatei diesen Namen.

Datum=`/bin/date '+%Y-%m-%d---%H-%M-%S'` && mysqldump -uroot -pPASSWORT --all-databases > /home/optimonet/backuphdd/mysqlbackup/$Datum.sql

Um täglich ein Backup der Datenbanken zu erstellen muss nur noch ein Cronjob mit diesem Befehl erstellt werden.


Creative Commons Lizenzvertrag
Dieser Artikel ist lizenziert unter einer Creative Commons Namensnennung 3.0 Deutschland Lizenz.