Online Bookmark Verwaltung auf eigenem Server mit scuttle/semanticscuttle

Es ist kein Geheimnis, dass ich absolut nichts mit Cloud und Onlinediensten anfangen kann, solange die Daten nicht durch mich selber verwaltet werden. Selbst bei so „harmlosen“ Themen wie Lesezeichen. Es gibt diverse Dienste im Netz, welche für euch eure Lesezeichen speichern, damit ihr sie so über mehrere Geräte oder Browser synchronisiert habt. Allerdings haben auch alle Dienste wieder Einschränkungen wie „läuft nur mit Chromium“, „läuft nur mit Firefox“, etc…. achja und natürlich „DEINE Daten liegen bei UNS“.

Die meiste Zeit habe ich das Firefox Plugin syncplaces verwendet, welches aber leider nicht mehr weiterentwickelt wird und auch nicht mehr verfügbar ist. Danach habe ich es mit XMarks versucht… Das Plugin für Firefox bietet die Möglichkeit des eigenen Servers an. Das Plugin für Chromium wieder nicht. Auch auf meinem Tablet oder Smartphone hätte ich meine Lesezeichen gerne. Egal welchen Browser ich verwende.

Ich bin schon seit langer Zeit auf der Suche nach einem Stückchen Software, welches mir die Verwaltung von meinen Lesezeichen auf MEINEM Server ermöglicht. Allerdings habe ich nie das richtige für mich gefunden. Das einzige was ich bis dahin ausprobiert hatte war sitebar aber das gefiel mir überhaupt nicht.

Vor ein paar Tagen habe ich mal meine alten Notizen ToDos aufgeräumt und bin dabei auf einen Merker gestoßen mit dem Tag „ausprobieren“ :-)

Dabei handelte es sich um die Software scuttle. Auch wenn die Software länger kein Update mehr bekommen hat und somit vermutlich nicht mehr gepflegt wird, habe ich es mir dennoch mal auf meinem Server installiert. Was soll ich sagen?

Scuttle erfüllt genau meine Anforderungen und es fühlt sich richtig gut an!

Nachdem ich es über ein paar Tage hinweg genutzt habe und öfter mal über google nach Infos geschaut hatte, ist mir aufgefallen, dass scuttle in der Tat tot ist, allerdings weiterlebt durch

semanticscuttle

Dieses Projekt lebt noch und hat das ursprünglich Scuttle weiterentwickelt.

semanticscuttle bietet nicht nur die reine Bookmark Verwaltung an, sondern ist userbasiert und kann dadurch für Social Network Aspekte genutzt werden (Bookmarks weiterleiten, Bewerten, etc…)

Die Lesezeichen werden nicht in Ordnern verwaltet, sondern über Tags. semanticscuttle bietet aber die Möglicheikeit verschachtelte Tags anzulegen, welche sich dann wie Ordner darstellen. Hier mal ein Screenshot dazu:

 

 

 

 

 

 

 

 

Im ersten Schritt steht natürlich erstmal der Import eurer Lesezeichen an. Diese können über einen Export aus eurem Browser (html !) in semanticscuttle importiert werden. Ferner steht sogar der Import eurer http://delicious.com/ Bookmarks zu Verfügung. Da ich diesen Dienst aber nicht nutze, kann ich leider nicht sagen wie gut er funktioniert.

Nach dem Import müsst ihr erstmal eure Lesezeichen taggen. Das kann je nach Anzahl natürlich länger dauern. Ist das aber erstmal erledigt, habt ihr einen sehr schnellen und guten Überblick über eure Lesezeichen. Ich nutze scuttle mittlerweile für private Seiten, allerdings auch für Firmenzwecke (jeweils getrennt durch verschachtelte Tags).

Die Installation ist ebenfalls recht einfach sodass ich hier nicht viel dazu schreiben möchte. Hier der Link zur offiziellen Installationsanleitung:

Anleitung

Im großen und ganzen ist die Installation typisch für Webdienste: Apache, mysql, Konfiguration über config Dateien.

Welche Vorteile scuttle/semanticscuttle mir persönlich bietet:

Bookmarkverwaltung browserübergreifend

Bookmarkverwaltung systemübergreifend

Nutzung durch Plugins für Chromium und Firefox (vielleicht auch für IE, der ist mir aber wurscht :-) )

Verfügbarkeit der Bookmarks auch auf meinem Android Tablet/Smartphone (vielleicht auch für IOS, das ist mir aber wurscht :-) ) Hier der Link zur kostenlosen Android App
Scuttle Android

Alles in allem eine runde Sache! Cloud Dienste sind nicht schlecht, aber besser sind sie wenn man sie selber verwalten kann.

Wem der eigene Server in der großen weiten Netzwelt immer noch zu riskant ist, kann semanticscuttle auch sehr gut auf seinem NAS installieren. Ich habe es auf dem Synology Nas laufen lassen und es funktionierte einwandfrei.

 

Flattr this!

Einbinden von Cloudstorage über webdav und fstab (owncloud, HiDrive, etc…)

Wer seinen Cloud Storage gerne ins Filesystem seines Linux einbinden will, muss gar nicht so viel machen.

Zuerst muss davfs2 installiert werden, welches in allen Distros verfügbar ist.

Am Beispiel von Sabayon:

sudo equo install davfs2

Als nächstes legen wir unter home ein Verzeichnis, welches als Mountpunkt für unseren Onlinespeicher dient:

mkdir /home/{Benutzername}/cloud

Nun wird ein entsprechender Eintrag in der /etc/fstab erzeugt (Datei muss mit root Rechten geöffnet werden)

Für owncloud:

http://URL_EURER_OWNCLOUD/files/webdav.php  /home/{BENUTZERNAME}/cloud davfs  rw,user,noauto  0  0

Für Strato HiDrive:
n

https://webdav.hidrive.strato.com /home/{BENUTZERNAME}/cloud davfs rw,user, noauto 0 0

Damit davfs weiss wie die jeweiligen Authentifizierungsdaten lauten, müssen diese im Homeverzeichnis abgelegt werden.

mkdir /home/{BENUTZERNAME}/.davfs2
touch /home/{BENUTZERNAME}/.davfs2/secrets

In die frisch erstellte Datei secrets müssen nun die entsprechenden Zugangsdaten für den Cloudstorage hinzugefügt werden.
Schema: URL USER PASSWORD

Für owncloud:

http://URL_EURER_OWNCLOUD/files/webdav.php USER PASSWORD

Für Strato HiDrive:

https://webdav.hidrive.strato.com USER PASSWORD

Damit niemand ausser uns Zugriff auf die Datei secrets bekommt, muss diese noch mit den entsprechenden Rechten verarztet werden:

chmod 600 /home/{BENUTZERNAME}/.davfs2/secrets

Damit unser User nun die Laufwerke mounten kann, muss er der Gruppe davfs2 hinzugefügt werden (das Kommando dafür kann distributionsabhängig abweichen.

Für Sabayon:
n

gpasswd -a ${BENUTZERNAME} davfs2

Fertig! Nun können die Laufwerke direkt ins Filesystem eingehängt werden.

mount /home/{BENUTZERNAME}/cloud

Ihr solltet die Laufwerke aber manuell nach dem Bootvorgang mounten und nicht automatisiert, da dies nur funktioniert wenn auch die Internetverbindung vorhanden ist.

Flattr this!

Eigene(r) Dropbox/Cloud Storage mit Synology NAS und Sparkleshare

Online Speicher ist schon etwas feines. Mittlerweile gibt es auch zig Anbieter, welche Speicherplatz
anbieten (Dropbox, Wuala, Sugarsync, etc…). Meistens bekommt man ein kleines bisschen Speicher sogar kostenlos, was in der Regel für ein paar Dokumente oder Bilder ausreicht. Will man mehr Speicher haben, muss man Geld bezahlen. Egal welcher Dienst, jeder hat seine Vor.- und Nachteile. Alle haben für mich aber etwas gemeinsam:

Jemand „Fremdes“ hat MEINE Daten auf SEINEN Servern.

Und genau damit kann ich mich einfach nicht anfreunden. Aus diesem Grund bin ich schon länger auf der Suche nach einer Lösung um mein NAS als Online Storage zu nutzen. Bis jetzt habe ich die Platten im eigenen Netz über NFS gemounted, sodass ich mit allen Rechnern darauf zugreifen und die Dokumente bearbeiten konnte. Von Unterwegs via
Android Telefon ging das ebenfalls über FTP, etc…

Komfortabler ist es aber die Dateien lokal zu bearbeiten, welche dann nach der Änderung automatisch zurück aufs NAS synchronisiert werden. Bei meiner Suche bin ich natürlich auch über Sparkleshare gestolpert.

Sparkleshare ist ein Open Source Client, welcher serverseitig ein GIT Repository benötigt.

Die folgende Anleitung bezieht sich auf einen Fedora Client und ein Synology NAS als Server. Für andere Systeme sollte es die Kombination an Software allerdings auch geben.

Installationsanleitung:

Einrichten des Synology NAS als Server

Vorbereitend muss das NAS in die Lage versetzt werden auch mit Fremdsoftware bestückt
zu werden.
Hier gibt es ein gutes Tutorial dazu: Installation IPKG

Ist das Paketverwaltungssystem IPKG installiert geht es weiter mit der Installation von git.

Dazu muss man sich als root via ssh oder telnet auf dem NAS anmelden. Danach werden folgende Befehle abgesetzt:

ipkg update
ipkg install git

Nach wenigen Sekunden ist die git Installation abgeschlossen.

Falls man den Connect zum git Repository mit einem speziellen User machen möchte, sollte man diesen nun über das Webinterface (DSM) vom NAS anlegen.

Wichtig ist, dass am NAS SSH Login (DSM Webinterface) aktiviert ist, da Sparkleshare über ssh mit git redet. Damit der zu nutzende User sich dann auch wirklich über ssh anmelden kann muss die Datei

/etc/passwd noch geändert werden. Ich nutze nano also Editor, allerdings spielt der Editor keine Rolle.
Im folgenden
Beispiel nenne ich den User einfach mal „Gituser“. Diesen müsst ihr dann durch den User von euch ersetzen.

nano /etc/passwd

Folgende Zeile muss geändert werden:
ALT:
Gituser:x:1026:100:Git:/var/services/homes/Gituser:/sbin/nologin
NEU:
Gituser:x:1026:100:Git:/var/services/homes/Gituser:/bin/sh

Ihr solltet euch nun testweise mit dem „Gituser“ über ssh anmelden. Wenn die Anmeldung funktioniert geht es weiter.

Als nächstes sollte über das DSM Webinterface ein neuer „Gemeinsamer Ordner“ angelegt werden. In diesem Ordner werden dann später die git Repository angelegt. Ich habe ihn bei mir GIT_REPO genannt. Wichtig ist, dass der User „Gituser“ Schreibberechtigung für diesen Ordner bekommt!

Wenn der Ordner angelegt ist und die Berechtigungen stimmen, können wir nun auch unser erstes leeres Repository anlegen. Dazu melden wir uns als Gituser über ssh an und legen ein neues Unterverzeichnis im GIT_REPO Ordner an.

mkdir -p /volume1/GIT_
REPO/Test

Nun wechseln wir in das Verzeichnis und erzeugen ein leeres Repository:

cd /volume1/GIT_REPO/Test
git init --bare

Damit haben wir unser erstes Repository und auch die ersten Arbeiten auf dem NAS abgeschlossen.

Einrichten von Sparkleshare auf dem Client:

Für Fedora sind folgende Zeilen in einem Terminal abzusetzen:

sudo curl -o /etc/yum.repos.d/sparkleshare.repo http://repos.fedorapeople.org/repos/alexh/sparkleshare/fedora-sparkleshare.repo
sudo yum install sparkleshare

Wie bereits erwähnt beziehe ich mich hier nur auf Fedora. Sparkleshare gibt es aber auch für andere Distributionen.
Die Installation auf dem Client ist damit abgeschlossen. Nun geht es an die Konfiguration.

Sparkleshare installiert sich als Dienst welcher über

sparkleshare start

starten, über

sparkleshare stop

anhalten und über

sparkleshare restart

neustarten
lässt.

Nach dem ersten Start von Sparkleshare wird man aufgefordert seinen Namen und eine EMail Adresse einzugeben. Danach läuft der Dienst, welcher aber noch keine Repositories überwacht.

Wir fügen nun ein Repository hinzu über das Tray Icon von Sparkleshare (Menüpunkt „Füge ein gehostetes Projekt hinzu“. Folgender Dialog erscheint:

Repository einrichten

Da wir unseren eigenen Server nutzen wollen, wählen wir „On My Own Server“.
Als Adresse muss die IP des NAS eingetragen werden. Sparkleshare nutzt per default den Namen git, welcher beim Connect vor die IP gestellt
wird. In unserem Beispiel haben wir aber den User Gituser vorgesehen, somit müsste der Eintrag für die Adresse wie folgt aussehen:

Gituser@IP_VON_EUREM_NAS

Der entfernte Pfad sieht dann so aus (wie in unserem Beispiel angelegt):

/volume1/GIT_REPO/Test

Nun klicken wir auf „Hinzufügen“, warten einen Moment und hoffen, dass eine Erfolgsmeldung kommt.

Damit man nicht immer ein Passwort für den ssh Connect eingeben muss, generieren wir uns nun ein ssh Schlüsselpaar und übetragen den Schlüssel auf das NAS.

Dies erfolgt so:

ssh-keygen
ssh-copy-id Gituser@IP_VON_EUREM_NAS

Auf dem Server entsteht folgende Datei mit den bekannten ssh Schlüsseln:

/volume1/homes/Gituser/.ssh/authorized_keys

Diese öffnen wir mit einem Editor unserer Wahl.

Auf dem Client öffnen wir die Datei:

/EUER_HOMEVERZEICHNIS/.config/sparkleshare/sparkleshare.EURE_EMAIL_ADRESSE.key.pub

In dieser Datei steht der ssh Schlüssel für Sparklshare. Diesen
kopieren wir als neue Zeile in die geöffnete Datei authorized_keys.

Dadurch sollte Sparkleshare sich nun über ssh mit eurem Server verbinden können, ohne dass ihr ein Passwort eingeben müsst.

Das war es dann auch. Ab sofort sollten alle Dateien aus eurem lokalen Ordner im Hintergrund auf das NAS übertragen werden. Will man das Repository auf mehrern Rechnern nutzen, muss die Client Installation und ssh Konfiguration pro Rechner wiederholt werden.

Das ganze funkioniert bei mir auch recht zuverlässig. Der Dienst hat sich zwar schon ein paar Mal verabschiedet, aber ein Datenverlust ist mir bisher nicht entstanden.

Falls ihr Fragen habt oder ich etwas vergessen, meldet euch einfach.

Als nächstes werde ich dann mal owncloud ausprobieren. :-)

Flattr this!