Der Traum vom eigenen Server

Eigentlich sollte es eine externe Festplatte werden - jetzt ist es ein Homeserver geworden. Der DS212j von Synology. Aber warum knapp das dreifache für quasi eine externe Festplatte mit Internetanschluss ausgeben?

Gleich vorne weg: Ein Homeserver ist nicht nur eine externe Festplatte mit Internetanschluss, sondern eigentlich ein Computer ohne Sound- und Grafikarte. Prozessor, Motherboard, Lüfter, etc. sind vorhanden. Und dieser Computer läuft, wenn er nicht kaputt geht, eigentlich durchgehend, so dass man, mit der richtigen Konfiguration (siehe unten), immer von überall auf alle seine Daten zugreifen kann, ohne dass man sich auf irgendwelche ominösen "Cloud-Anbieter" verlassen muss. Außerdem hat man ohne monatliche Kosten auch noch deutlich mehr Speicherplatz - in meinem Fall 2TB (2000GB).

Und was bringt dir der Homeserver?

Gute Frage. Bis jetzt habe ich es ungefähr so geplant:

  • Meine komplette Musiksammlung, bis auf einige Ausnahmen, falls ich mal offline Musikhören will, wird in den passenden Ordner auf dem Server verschoben, so dass ich ca. 30GB Speicherplatz auf meinem MacBook gewinne und diese auch ohne dieses anzuschalten abspielen kann.
  • Alle meine Webentwicklungsprojekte werden auf den Server verschoben, der unteranderem PHP unterstützt und MySQL-Datenbanken bietet, so dass ich eine klarerer Strukturierung hab und endlich Arbeit von Privaten Webprojekten trennen kann.
  • Seit ich mein neues Laptop habe, also seit knapp 8 Monaten, habe ich noch kein Backup gemacht. Das heißt wenn morgen die Festplatte durchbrennen würde - geht das? - wären alle meine Daten verloren. Für immer. Aus diesem Grund wollte ich mir eine externe Festplatte für "Time Machine"-Backups - immer diese Mac-Bezeichnungen... - besorgen. Aber auch der Homeserver unterstützt "Time Machine", so dass ich dort einfach alle meine Backups speichern kann.
  • Und falls mir irgendwann mal langweilig sein sollte, könnte ich mir noch ein passende Webcam besorgen und beispielsweise minütlich ein neues Foto von meinem Zimmer oder aus dem Fenster machen, welches automatisch von überall abrufbar wäre. Ist aber noch nicht in Planung.

Ich glaube mit einer einfachen externen Festplatte wäre nichtmal die Hälfte davon möglich.

Wie willst du über's Internet auf den Server zugreifen?

Das habe ich mich auch lange gefragt. Und bin bei meinen Recherchen immer wieder auf DynDNS.org gestoßen. Leider ist es kostenpflichtig geworden, weshalb ich es nicht benutzen werde - aber die Idee ist gut. Deshalb habe ich es testweise einfach so gelöst: Ich habe auf meinem gemieteten Sever eine Subdomain eingerichtet. Diese wird automatisch über meine Fritz.box alle paar Minuten angepingt (kann man da einstellen). Dabei wird folgendes PHP-Skript auf meinem Server ausgeführt (funktioniert derzeit nur mit den FTP-Inhalten der fritz.box):

<?php

if($_GET['pwd']=="passwort") {

$htaccess = ".htaccess";
$handle = fopen($htaccess,"w+");
if($handle == false) {
$fp = fopen("ip.txt","w+");
if(!$fp) {
fwrite($fp,$_SERVER['REMOTE_ADDR']);
fclose($fp);
} else {
echo "ERROR file";
}
} else {
fputs($handle,"RewriteEngine On \nRewriteCond %{REQUEST_FILENAME} !-f \nRewriteCond %{REQUEST_FILENAME} !-d \nRewriteCond %{REQUEST_FILENAME} index.html \nRewriteRule ^(.*)$ ftp://".$_SERVER['REMOTE_ADDR']."/ [L] \nRewriteEngine On \nRewriteCond %{REQUEST_FILENAME} !-f \nRewriteCond %{REQUEST_FILENAME} !-d \nRewriteRule ^(.*)$ ftp://".$_SERVER['REMOTE_ADDR']."/$1 [L]");
fclose($handle);
echo "UPDATE to IPADRESS: ".$_SERVER['REMOTE_ADDR']." done.";
}
}
?>

Dieses Skript speichert die IP-Adresse der fritz.box, die sich alle 24 Stunden ändert, in eine .htaccess-Datei, solange dies unterstützt wird. Wenn man dann die URL direkt aufruft wird dieses Skript ausgeführt, welches einem ermöglicht die Inhalte des Servers abzurufen ohne die IP zu wissen:

<?php

$htaccess = ".htaccess";

$handle = fopen($htaccess,"r");

if($handle == false) {

	$fp = fopen("ip.txt","r");

	$ip = fgets($fp,100);

	fclose($fp);

Header("Location: ftp://".$ip);
exit();
}
?>

Die Basis dieser Skripte habe ich auf scheible.eu gefunden.

So einfach ist das. Und sobald der Server da ist, wird das ganze auch endlich Realität.