Dropbox auf dem eigenen Server

Dropbox

Ich habe nun Dropbox auf meinem Webserver installiert. Das ist sehr praktisch. Denn: egal wo ich programmiere, ob an meinem iMac oder am Laptop, ich habe die aktuellen Dateien da und muss mir nicht erst die aktuellen Versionen über FTP vom Server holen. Überhaupt, das FTP Programm fällt eigentlich komplett weg; wenn ich Dateien hochladen möchte, ziehe ich sie einfach in den Dropbox-Ordner und alles passiert von selbst im Hintergrund. Wenn ich etwas an einem Script ändere und die Datei speichere, wird sie automatisch auf den Server hochgeladen. Ich habe automatisch ein zusätzliches Backup der verschiedenen Versionen und gelöschten Dateien in meinem Dropbox-Account. Dateien, die auf dem Webserver generiert werden (zum Beispiel sind alle Blogeinträge auf dieser Seite nur Texteinträge) werden automatisch auf meinen Rechner runtergeladen.
(Die Daten liegen immer noch auch auf den Dropbox-Servern; es wird einfach noch zusätzlich mit dem Webserver synchronisiert)

Da ich meinen Server inzwischen bei Uberspace habe, ist das einrichten von Dropbox auch gar nicht so schwer:

ich habe mir der besseren Übersicht halber für meinen Webserver einen neuen Dropbox-Account angelegt. Mit diesem Account habe ich den Ordner wwwroot für meinen eigentlichen Dropbox-Account freigegeben.
(Wenn man direkt seinen eigentlichen Account verknüpft, synct Dropbox natürlich ALLE Daten auf den Webserver (sie landen zwar nur im Ordner ~/Dropbox/ und sind vom Web aus nicht erreichbar - aber sie benötigen natürlich Platz und liegen dann noch an einem weiteren Ort). Wer das nicht möchte, kann selektives syncen anschalten und nur bestimmte Ordner synchronisieren lassen; dafür benötigt man ein Script, mit dem man Dropbox kontrollieren kann. Von Dropbox selber gibt es ein CLI-Script (Command-Line-Interface-Script, geschrieben in Python), das habe ich bei mir allerdings nicht zum Laufen bekommen. Die Lösung mit einem Zweitaccount schien mir eleganter und funktioniert hervorragend.)

Dropbox auf dem eigenen Webserver laufen zu lassen, bringt einiges an praktischen Vorteilen:

Aus den Kommentaren:

dropbox.py mit Python 2.6

damit das CLI-Script bei mir laufen konnte, musste ich es mit Python 2.6 ausführen. Bei Uberspace funktioniert das so:

python2.6 ~/bin/dropbox.py status

(dieser Befehl gibt den aktuellen Status von Dropbox aus; syncing oder idle etc.)

Kirby

Kirby ist ein CMS von Bastian Allgeier, das komplett auf Dateien basiert, ohne Datenbank dahinter. Die Verbindung mit Dropbox ist hier perfekt.
Ein kleines Tutorial hierzu: Kirby meets Dropbox

Veröffentlicht am in den Kategorien Webentwicklung & Internet mit 10 Kommentaren.

Kommentare

Thunderflash

Klingt spannend!
Habe ich das richtig verstanden, dass die Daten nur noch auf deinen eigenen Server liegen und von Dropbox nicht mehr theoretisch eingesehen werden können?
Auf meiner Arbeit würde ich Dropbox gerne nutzen, da ist aber das Gegen-Argument dass dann Firmendaten auf fremden Servern liegen.

Geschrieben am .

Max http://www.maxhaesslein.de

Nein, es geht nur darum, dass die Daten vom Webserver automatisch synchronisiert werden. Die Daten liegen einfach ZUSÄTZLICH auf dem eigenen Server, allerdings auch immer noch auf den Servern von Dropbox.

Geschrieben am .

Max http://maxhaesslein.de

Falls du einen Cloud-Server auf deinem eigenen Server einrichten möchtest, kannst du dir http://owncloud.org/ mal näher anschauen.

Geschrieben am .

Christoph http://om.de

Es hat ein bisschen gedauert, weil ich mich mal wieder beim symlink vertippt habe, aber jetzt funktioniert es. Einfacher kann man Dateien nicht syncen.

Vielen Dank dafür.

Geschrieben am .

Mate

Vielleicht kann ich die Anleitung noch damit vervollständigen indem ich erzähle, wie ich das CLI-Skript benutze. Ich hab das einfach ins persönliche bin-Verzeichnis runtergeladen und mit cmod 700 ausführbar gemacht, und anschließend umbenannt von dropbox.py nach dropbox. Jetzt kann ich von überall dropbox aufrufen

cd ~/bin/
wget https://www.dropbox.com/download?dl=packages/dropbox.py
chmod 700 dropbox.py
mv dropbox.py dropbox

Geschrieben am .

Peter

Die Lösung für die selektive Synchronisation ist, absolute Pfade statt relativen anzugeben.

Das ist also falsch:
python dropbox.py exclude add (/Dropbox)/Ordner

Es muss lauten:
python dropbox.py exclude add ~/Dropbox/Ordner
Wobei "~" kurz für "/home/user" ist.

Ich hatte anfangs auch dieses Problem, und daher zwei Accounts, aber wirklich elegant ist es mit einem.

Mit den bereits genannten symlinks zu Dropbox wird das Uberspace schliesslich wirklich grossartig.

Geschrieben am .

Florian

Vielen Dank für die super Anleitung!

Geschrieben am .

spektakel

Wer Dropbox meiden möchte kann Owncloud in Verbindung mit Unison nutzen.

Geschrieben am .

Adrian http://adrianthomas.org

Hallo Max,

Vielen Dank für deinen sehr hilfreichen Blogeintrag! Ich versuche gerade das gleiche Setup auf Überspace hinzubekommen, habe jetzt jedoch das Problem das neue Dokumente und Ordner die ich auf Dropbox erstelle immer als Zugriffsrecht "777" bekommen. Was habe ich falsch gemacht?

Genauere Infos habe ich für die Allgemeinheit auch im Kirby Forum gepostet:
http://getkirby.com/forum/general/topic:269

Danke!
Adrian

Geschrieben am .

Kevin Lorenz http://www.kevinlorenz.com

Alternativ zu Dropbox lässt sich mit dem Plugin SFTP für Sublime Text upload on save einrichten. Einmal die Serverdaten hinterlegt muss man sich keinen Kopf mehr drum machen, dass die Daten synchron sind.

Geschrieben am .

Kommentar schreiben




App.net