Linux
Synology DiskStation migrieren
Feb 9th
Auch wenn die DS106 durchaus für die meisten Anwendungsfälle File-, SVN-, Web- Server ausreichte, so ist eine aktuelle DS211+ doch etwas performanter und dank RAID1 auch beruhigender, was Datenverlust durch Festplattencrashes angeht.
Die Migration
Unter how to migrate beschreibt der Hersteller selbst sehr ausführlich, welche Möglichkeiten es gibt. Ein direktes austauschen der Festplatten fällt der Anleitung zufolge flach.
Entsprechend bleibt nur Mehtode 3.2 übrig. Diese funktioniert aber prächtig.
- Backup der Einstellungen auf alter DS und Restore auf neuer brachte alle User samt Rechte auf die neue DS.
- Das beschriebene Network Backup kopiert die Daten der alten DS auf die neue und behält dabei die Besitzer und Zugriffsrechte bei!
- Das Verschieben macht man, wie beschrieben, über den File-Browser der DSM Web-Oberfläche, da so die Rechte korrekt beibehalten werden (Über SMB oder AFP Freigabe werden die Rechte entsprechend des angemeldeten Users gesetzt!!!).
Nacharbeit
Was die Migration nicht hin bekommen hat (Web-Server aktiviere, Servername etc.) lässt sich wirklich schnell von Hand nachziehen.
Auch die mySQL Datenbank muss man selbst per dump (über phpMyAdmin schnell gemacht) auf die neue DS übertragen.
Ipkg installiert man am besten auch frisch, da sich die Binaries, die sich im opt Ordner befinden (und vorbildlich im Backup mitgesichert werden) in der Regel nicht auf anderen Prozessortypen ausführen lassen.
websvn
Hat man SVN installiert und möchte gerne websvn einsetzen, so könnte evtl. folgende Fehlermeldung, trotz korrekt konfiguriertem websvn auftreten:
“sh: svn: not found”
Das liegt daran, dass der Pfad /opt/bin nicht in open_basedir der php.ini Konfiguration eingetragen ist.
Dazu einfach in der DSM Web-Oberfläche Bedienfeld -> Webdienste den Reiter “PHP-Einstellungen” wählen, die Option “PHP open_basedir benutzerspezifisch anpassen” aktivieren und “:/opt/bin” anfügen.

Tunneling AFP durch SSH
Sep 16th
Mit folgenden Befehlen kann man das angebotene Apple File Protocol eines entfernten Servers in das lokale Netzwerk befördern.
SSH ermöglicht eine sichere Terminal Verbindung zu einem Host-Rechner. So kann man auch mittels Port Forwarding auf einen Rechner zugreifen, der in einem Fremden Netzwerk, hinter einem Router / Firewall / etc. steht.
Auf diesem Host-Rechner muss der SSH Service laufen – wer hätte es gedacht, die Synology DiskStation bietet eben diesen Service. Aktivierbar unter Netzwerkdienste -> Terminal -> SSH Dienst aktivieren.
Außerdem bietet die DiskStation noch das AFP (unter Gemeinsame Dateien -> Win/Mac OS -> Mac Dateidienst aktivieren).
Befindet man sich nun Unterwegs/in einem fremden LAN und möchte auf die heimische DiskStation zugreifen, bietet es sich an, diese per SSH anzusprechen und das AFP hindurch zu tunneln. Anschließend kann auf die DiskStation zugreifen, als befände man sich im gleichen Netzwerk und das schöne ist, die Verbindung ist über SSH gesichert.
Folgende Befehle sorgen dafür, dass die entfernte DiskStation auf dem lokalen Rechner erreichbar wird.
dns-sd -R DiskStation _afpovertcp._tcp . 12345 > /dev/null & ssh -gNL 12345:127.0.0.1:548 root@remote.host.com
Erklärung:
Der Erste registriert den AFP Dienst unter dem Namen DiskStation über den Port 12345. Es wird so ein AFP Dienst angekündigt, der vom Dienst aus dem entfernten Netzwerk noch bedient werden muss.
Die Parameter:
- g sorgt dafür, dass der entfernte Host auf den lokal freigegebenen Port (12345) zugreifen darf – somit kann der entfernte Server seinen AFP Dienst durch den SSH-Tunnel über den Port 12345 bekannt machen.
- N bewirkt, dass nur die Tunnelfunktion genutzt wird, keine Konsoleneingabe möglich.
- L bewirkt das eigentliche Tunneln. Hier wird der lokale Port 12345 auf den entfernten Rechner auf 548 gemappt (wenn man statt 127.0.0.1 eine andere Adresse angibt, so könnte der SSH Dient auf einem anderen Rechner laufen, wie AFP).
- Als letztes wird angegeben, dass die SSH Verbindung über den Benutzer root am remote.host.com hergestellt wird.
Kleine Ergänzung:
Wer das ganze noch gerne ohne Passwortabfrage hätte, ist folgender Artikel im Wiki wärmstens empfohlen:
http://wiki.joachimschuster.de/index.php/SSH_ohne_Passwortabfrage
Ruby on Rails und Redmine auf Synology DiskStation
Sep 15th
Vor einigen Monaten versuchte ich Ruby on Rails auf der Synology DS106 zu installieren um anschließend das Projektmanagement Tool Redmine darauf laufen zu lassen.
Da das Ergebnis leider nur die Information war, dass die DS106 für Ruby einfach hoffnungslos unterdimensioniert ist, musste die Sache erst mal ruhen.
Bis jetzt endlich die neue DS210+ mit 512MB RAM und 1 GHz CPU zur Verfügung stand. Den kleinen Leistungsunterschied (vgl. 32MB RAM 266MHz) merkt man dann doch umgehend
Da die Installation nun erfolgreich durchgeführt werden konnte, habe ich die Anleitung noch mal überarbeitet und in Englisch verfasst.
Am Kniffligsten war nicht das Einrichten selbst, sondern den Dienst anschließend beim Booten automatisch starten zu lassen.
Dabei stellte sich heraus, dass zwei Umstände zu Problemen führten:
- Ruby möchte beim Ausführen ins Home-Verzeichnis des ausführenden Benutzers das Verzeichnis .gem (mit Dateien etc.) anlegen
- Redmine über Webrick gestartet will im Verzeichnis, in dem der Webservice ausgeführt wird, ein tmp-Verzeichnis erstellen.
Der erste Punkt kann dadurch behoben werden, dass die home-Verzeichnisse der Benutzer aktiviert werden. Dazu den Benutzer-home-Dienst unter Berechtigungen -> Benutzer -> Benutzer-Home aktivieren.
Der zweite Punkt kann durch das Wechseln in den Ordner, in dem der Redmine Service liegt behoben werden. Von dort aus kann dann der Dienst gestartet werden, da der Benutzer redmine darin schreibrechte hat.