Dies ist der zweite Teil meiner kleinen Serie „Bye, bye, Cloud“.
Wie bereits beim letzten mal angekündigt soll es heute um die Technik, also Hardware, Infrastruktur und Grundinstallation gehen, mit der ich meine eigene, private Cloud betreibe.
Wer, wie ich seine Cloud daheim betreiben möchte, statt auf einen WebHoster zu setzen, geht natürlich ein paar Kompromisse ein und nimmt auch Nachteile in kauf. Schließlich ist es bedeutend einfacher, sich einen VHost bei der nächsten Domain-Schleuder zu bestellen und sich um Wartung und Updates und Backups und all das, was sonst noch so kommt gar nicht kümmern zu müssen. Und noch einfach wird es, wenn man mit seinen Ansprüchen so weit runter kommt, dass sogar ein gehosteter WebSpace ausreicht.
Wie in meinem Auftaktartikel nachzulesen ist, sind meine Ansprüche nicht ganz so klein. Allein Mailserver, SSH- und VPN-Zugang verlangen nach einem Server-System, dass ich selbst konfigurieren darf. Ein VHost wäre also mindestvoraussetzung. Nun scheint mir der Schritt zu einem eigenen Server aber nicht mehr groß genug zu sein, um ihn nicht gehen zu können. Also mal kurz überlegen…
Vorteile
Stelle ich mir einen kleinen Server zu Hause ins Regal, bietet das folgende Vorteile:
- Ich kann mir das Serversystem aussuchen
- Ich darf alle Services aufsetzen, die ich möchte (ich bin root!)
- Ich kann alle Services so konfigurieren, wie ich möchte (ich bin root!!)
- Ich bin root!!!
- Alle Daten würde ausschließlich auf meinen eigenen Festplatten/Systemen liegen
Nachteile
Natürlich muss man auch ein paar nicht unerhebliche Nachteile in Kauf nehmen:
- Stromkosten
- Erreichbarkeit über FritzBox, DynDNS-Dienste
- Backup selbst machen
- VPN für Zugriff betreiben (Akku-Problem iPhone und „komplizierte“ Konfiguration)
Alles in Allem ist der Betrieb eines eigenen Servers alleine aus Datenschutz- und Freiheitsgründen schon sinnvoll. Dazu kommt natürlich noch ein unbändiger Spieltrieb mit der Aussicht auf Rechnerfrickelei 🙂
Zeugs wo man braucht
Die meisten Komponenten für „meine“ Cloud auf „meinem“ Server habe ich zum Glück schon daheim:
- Einen guten, alten Acer Aspire Revo R3610 Nettop mit relativ sparsamer Intel Atom N330, 1,6GHz, 2GB RAM, 250GB HDD, NVidia ION Graphics und onboard WLAN
- Eine Fritzbox (hier eine 4270) als Internetzugangspunkt und zentraler Router
- Ein Synology NAS (oder ein anderes, externes Speichermedium) für das Backup des Servers
Tatsächlich ist das schon alles. Über einen Dynamic-DNS Dienst propagiert die Fritzbox ihre IP, über die man sie von Außen erreichen kann. Ich habe in der Vergangenheit sehr gute – weil völlig unauffällige – Erfahrungen mit no-ip.com gemacht.
Das einzige Kabel, dass ich am Server brauche, ist ein Stromkabel. Die Performance des WLAN ist für Email, RSS und was ich sonst so brauche völlig ausreichend.
Der Stromverbrauch des Acer liegt zwischen 25W und 40W max. Mit einem kleinen Trick schickt man den Rechner Nachts in den Ruhezustand und reduziert so die Sromaufnahme noch einmal. Damit kann ich ganz gut leben.
Grundinstallation
Als Basis für den Server habe ich mich für ein Debian Linux entschieden, nachdem eine erste Einrichtung mit Ubuntu-Server nicht so wollte, wie ich wohl wollte.
Als erstes führt man eine Standardinstallation des Debian-Systems durch, wie immer möglichst mit einem richtigen Netzwerkkabel, obwohl alle Distributionen zwischenzeitlich das WLAN auch während der Installation einrichten können.
Ich partitioniere meine Platte dann gerne so, dass ich folgende Struktur erhalte:
- hda1 50GB Produktives Debian
- hda2 50GB Leer, bzw. Testsystem, bzw. Neuinstallation auf die von hda1 umgeschaltet werden kann
- hda5 12GB Swap-Partition
- hda6-x Rest Daten-Partitionen, die je nach Bedarf an verschiedenen Stellen gemounted werden können
Oft nutze ich die Datenpartitionen für die Home-Verzeichnisse der User und/oder Mediendaten, etc.pp. Im /home liegen später Mails und zu syncende Files.
WLAN on boot
Da ich kein Netzwerkkabel zum Server legen möchte, muss ich noch dafür sorgen, dass die WLAN-Verbindung direkt beim Bootvorgang hergestellt wird. Nach einer normalen Standardinstallation ist das nicht der Fall. Das WLAN wird erst mit der Benutzeranmeldung und den im Benutzerprofil hinterlegten Zugangsdaten aktiviert.
Dies ist mit einem kleinen Eingriff in die wpa_supplicant Konfiguration schnell erledigt.
1. Installation des Pakets wpasupplicant
$ sudo aptitude update $ sudo aptitude install wpasupplicant
2. Konfiguration von wpa_supplicant
Folgende Einträge in */etc/wpa_supplicant/wpa_supplicant.conf* vornehmen:
# Configuration for WiFi ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=netdev ap_scan=1 fast_reauth=1 eapol_version=1 network={ ssid="network-ssid" psk="my-password" priority=5 }
Da die Datei auch das WPA2-Passwort enthält, dieser so wenig rechte wie möglich geben:
$ sudo chmod 600 wpa_supplicant.conf
3. Konfiguration des Interfaces
Folgende Einträge in */etc/network/interfaces* vornehmen:
auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
SSH-Zugang
Natürlich sollte man nicht vergessen, sich einen Zugang zum System zu verschaffen.
Im ersten Schritt sollte man nur mal das Paket openssh-server installieren:
$ sudo aptitude install openssh-server
Ist der Dienst gestartet, sollte ein Zugang mit Username/Passwort bereits möglich sein. Natürlich arbeitet niemand mit root, sondern immer mit einem nicht privilegierten User. 😉 root ist in der Standardkonfiguration nämlich weder existent, noch darf er sich per SSH am System anmelden.
Auf die SSH-Konfiguration gehe ich in einem weiteren Artikel aber genauer ein. Auch darauf, wie man ohne den unsicheren User/Password Zugang, sondern mit Privat/Public-Key-Authentication ans System kommt.
Fritz!Box
Um später von außen per SSH und/oder VPN auf die „Cloud“-Dienste zugreifen zu können, muss man Portweiterleitungen über die Konfigurationsoberfläche der Fritzbox einrichten.
Solange SSH nur über Username/Passwort gesichert und das VPN noch gar nicht eingerichtet ist, würde ich auf die Konfiguration aber verzichten. Erfahrungsgemäß versuchen fiese Bots sonst sehr schnell, sich über den SSH-Dienst Zugang zum eigenen Heimnetz zu verschaffen.
Auf diese und weitere Punkte werde ich in den entsprechenden Artikeln näher eingehen.
Abschluss
Nach einem Neustart sollte das System sowohl direkt eine WLAN-Verbindung aufbauen, wie auch per SSH erreichbar sein. Damit wäre die Infrastruktur und das Grundsystem vorhanden, dass wir für die weiteren Dienste brauchen.
Im nächsten Teil der Serie werde ich mich dann mit dem ersten „richtigen“ Dienst beschäftigen, nämlich der Einrichtung von Kontakte- und Kalenderserver.
Fazit
Mit ein wenig Konfigurationsarbeit kann man einen kleinen Linux-Server aufsetzen, der nach dem Start im WLAN hängt und über SSH erreichbar ist.
Es braucht also weder ein 19″-Rack, noch einen klimatisierten Serverraum, um den Grundstock für eine eigenen Wolke zu legen.
Ich hoffe, der zweite Teil hat einiges an Anregung gegeben und freue mich wie immer über Kommentare und Fragen 🙂
Habt ihr auch eine eigene Wolke, oder ist euch die konfiguation zu kompliziert? Vertraut ihr eure Daten einem Hoster an, oder betreibt ihr auch einen eigenen Server? Ich lasse mich gerne durch weitere Meinungen zum Thema inspirieren.
Das klingt sehr interessant 🙂 Bin gespannt was noch so kommt. Wirst du owncloud benutzten?
Tatsächlich nutze ich Owncloud im Moment als Dropbox-Ersatz, habe aber bereits Alternativen im Auge. Schließlich brauche ich den ganzen Rest nicht. Ganz überzeugt hat mich Owncloud bisher nicht.
Ich werde dein Projekt auch mal weiter verfolgen, nach Weihnachten werde ich mir wahrscheinlich einen kleinen ITX PC hier ins Zimmer stellen, um zum einen einen kleinen Server zu haben und zum andern Serien (star Trek fan und so) sehen zu können.
eventuell hast du Ideen worauf ich da Hardware technisch zurückgreifen kann/sollte?
(notebook oder ähnliches kommt nicht infrage, sollte durchaus was zum basteln sein)
Ich werde als OS obiger Logik folgend eines mit Desktop nehmen, wahrscheinlich xUbuntu oder etwas in die Richtung, damit das OS den Servergebrauch nicht zu sehr ausbremst 😉
Hoffe du hast da eventuell die ein oder andere Idee 🙂
Freue mich über deine weiteren Fortschritte bei diesem Projekt 😀
Sehr interrassanter Artikel,
Ich bin gerade auch dabei mit eine Cloud aufzubauen. Diese läuft auf einem Embedded Alix 1D4 mit mSATA Fash und 30GB Platz unter FreeBSD. Dadruch kann ich Firewall, VPN und Cloud auf einem 24/7-Board laufen lassen und habe zw. 8 und 12W Verbrauch.
Ich spiele mit dem Gedanken owncloud oder den von Dir prefferierten Baikal-Server zu verwenden.
Mal sehen was sich besser eignet.
Viel Erfolg weiterhin.
Robert
Danke für die Blumen 🙂
Früher oder später wird bei mir auch ein Hardware-Wechsel anstehen. Das Alix Boards schaue ich mir mal an. Es fragt sich nur, wie gut die Systemperformance speziell für diverse Web-Anwendungen ist.
Trackbacks
[…] Teil 1: Meine Daten, mein Server Teil 2: Mein Server, meine Infrastruktur […]