Ich hab auf meinem Schreibtisch einen kleinen (lüfter- und festplattenlosen) Linux Server auf AMD Geode Basis laufen, der über die DSL Leitung und mit DynDNS jederzeit von überall für mich zugänglich ist. Auf dem Ding läuft neben vielem anderem auch ein CalDAV/CardDAV Server, meines Wissens verwendet auch Google Calendar dieses Protokoll. Damit kann jeder vernünftige Email Client Termine und Kontakte synchronisieren. Für Android gibt es Apps die den Android Kalender und die Android Kontakte synchronisieren, funzt einwandfrei. Natürlich alles SSL/TLS verschlüsselt.
Ich zitiere mich mal selber.
Auf per PN geäusserten Wunsch hier mal eine grobe Zusammenfassung wie man sowas aufziehen kann. Bis alles so läuft wie es soll kann auch ein erfahrener Linux Nutzer viel Freizeit einplanen.
Machbar ist es aber allemal auch für Neulinge, eine Schritt für Schritt Anleitung kann ich hier in der Kürze zwar nicht geben, sowas findet sich für die einzelnen Punkte aber zuhauf im Netz, Google hilft.
Bedenkt dabei dass Ihr einen Server in Eurem Netz von aussen zugänglich macht. Angriffe aus China und Russland auf den SSH Server und den Apache Server sind an der Tagesordnung. Also auch mit Sicherheitsmassnahmen vertraut machen, die wichtigsten Punkte: Sichere Passwörter, regelmässige Updates, ggf. Adressbereiche bereits von der Firewall sperren lassen, falls SSH Zugriff von aussen möglich sein soll, auf Schlüsselpaare statt Passwörter umstellen, root Zugriff verbieten, wiederholte fehlgeschlagene Logins bei Brute-Force Attacken analysieren und Adresse sperren (denyhosts, fail2ban, allerdings umstritten). SSL/TLS für https ist Pflicht. Fortgeschrittene Sicherheitsmassnahme auf dem Server wäre z.B. SELinux, das hab' ich aber selber auch noch nicht eingerichtet.
Also:
1. Geeignete Serverhardware aussuchen und besorgen.
Ich habe mir ein ALIX.1D Board (
http://www.alix-board.de/) mit Gehäuse besorgt, Priorität lag bei mir auf niedrigem Stromverbrauch, weniger auf Performance, da das Ding 24/7 durchläuft. Das tut für die gewünschten Zwecke wie oben beschrieben allemal. Als Massenspeicher kommt eine 16GB CompactFlash Karte zum Einsatz.
2. Ein Linux System darauf installieren.
Bei mir läuft Debian GNU/Linux 6.0 Squeeze, jedes andere moderne Linux tut's genauso. Für solche Systeme wie das ALIX.1D braucht man zum Installieren ein USB CD-ROM zum booten mit der Installations CD. Dann einfach Standardinstallation, natürlich ohne GUI wie Gnome/KDE oder so. SSH Server nicht vergessen.
3. Einen guten Router besorgen falls nicht schon vorhanden.
Alles was man braucht (Firewall, Port Forwarding und Dynamic DNS Unterstützung ) sollte eigentlich jeder moderne Router beherrschen. Firewall möglichst restriktiv einrichten. Port Forwarding (https Port 443, ggf. SSH Port 22 auf den Linux Server) einrichten. Dynamic DNS gemäss Router- und Providerdokumentation einrichten.
4. Ein Dynamic DNS Konto bei einem Provider einrichten und den Router entsprechend konfigurieren. Wenn man will dafür eine eigene (.de, .org, .net etc.) Domain registrieren.
Ich habe mein Konto bei dyndns.org, gibt auch andere Provider dafür. Bei kostenlosen Konten kann man eine Subdomain registrieren wie beimirzuhause.home.dyndns.org, eigene Domains kann man auch verwenden, das kostet dann ein wenig.
5. Einen Apache Server auf dem Linuxserver installieren und grundkonfigurieren.
Siehe Dokumentation zur gewählten Linux Distribution und zum Apache.
6. SSL/TLS Verschlüsselungszertifikate erzeugen und selbst signieren, alternativ von einem Anbieter signieren lassen.
Anleitungen zum erzeugen von SSL/TLS Zertifikaten gibt es zuhauf im Netz. Selbstsignierte Zertifikate erfüllen ihren Zweck (Verschlüsselung), wenn man den Apache als Webserver einsetzen will meckern aber die Browser. Will man das loswerden, braucht man ein von einem entsprechenden Anbieter signiertes vertrauenswürdiges Zertifikat (meines kostet ca. 30 Euro pro Jahr).
7. Eine CalDAV/CardDAV Software besorgen und im Apache Server installieren. Benötigte Zusatzsoftware (z.B. Datenbanksystem) installieren und konfigurieren.
Ich verwende dafür DAViCal (
http://www.davical.org/), ein mittlerweile recht ausgereiftes und leistungsfähiges CalDAV und CardDAV System. Im Prinzip nur eine Reihe PHP Skripten die im Apache installiert werden. Dazu braucht man die PostgreSQL Datenbank die bei jeder Linux Distribution dabei sein sollte. Installationsanleitungen gibt es auf der DAViCal Homepage. Mit den CalDAV und CardDAV Protokollen sollten moderne Clients umgehen können, ich selbst verwende Evolution (GNOME Standard). Mit Thunderbird geht's, mit Android auf meinem Smartphone geht's auch, Apple iOS meines Wissens auch, Outlook weiss ich jetzt nicht aber würde mich sehr wundern wenn nicht.
8. Testen. Fluchen. Testen. Eine Rauchen. Testen. Fluchen. Kaffee trinken. Testen. Freuen.
Wie gesagt...
9. Beliebige andere Serverdienste installieren und ausprobieren... (bei mir OpenVPN, Squid Proxy mit SquidGuard Werbe-/Tracker-/Filesharingblocker für alle Browser, WebDAV als privater Webspace, LDAP für Kontakte (ausser Betrieb, ist durch CardDAV ersetzt), Webserver mit diversen weiteren Webapplikationen wie Fotoalbum für die Verwandtschaft).
Ich hoffe ich habe nichts vergessen. Tips und Tricks und Fragen per PN, wenn's nicht zuviel wird.
Gruss,
Robert