Die Zeiten der Datenspionage im digitalen Zeitalter wächst. Mit ihm wächst jedoch auch die Angst, seine Daten einer „Cloud“ anzuvertrauen. Ein weiteres Problem von Cloudiensten ist, dass der Upload von Dateien meist eine sehr lange Zeit einnimmt, da die Uploadgeschwindigkeit im eigenen Heim meist sehr stark limitiert ist.
Abhilfe schafft hier nur eigen Selbst-gehosteter Server in den eigenen vier Wänden. Auf diesen kann man, je nach Bandbreite und verbautem Speicher, mit bis zu 100 MB/s zugreifen. Die Owncloud Alternative Seafile eignet sich hierzu besonders gut. Seafile läuft deutlich performanter und wird von einer OpenSource Community entwickelt. Außerdem gibt es einen kostenlose App mit dem „Kamera Upload Dienst“. Einmal aktiviert, lädt dieser automatisch die neu aufgenommenen Bilder und Videos per W-LAN oder Mobilfunk auf den eigenen Server. Somit fungiert er gleichzeitg als Backup, falls mal wieder die Speicherkarte den Geist aufgegeben hat oder man versehentlich ein Bild gelöscht hat. Doch nun zu den eigentlichen Schritten. Alternativ könnt ihr auch mein Video auf Youtube https://youtu.be/4n1d6osMP5c ansehen.
Auf dieser Webseite findest du eine Schritt-für-Schritt Anleitung. Sie beinhaltet die Installation von Seafile auf dem Banana Pi (oder andere Einplatinencomputer) mit Autostart und HTTPS.
Information: Diese Beispiele beziehen sich auf Version 5.1.1 von Seafile!
Wichtig: Dem Banana Pi sollte im Router eine feste IP zugewiesen werden.
Schritt 1 (optional):
Wer den Server auch von unterwegs erreichen möchte (außerhalb des W-LAN) benötigt eine DynDNS.
Diese kann man sich unter DNSHome.de anlegen. Wer dazu Hilfe braucht, kann dazu gern in mein oben verlinktes Video reinsehen.
Schritt 2:
Jetzt beginnen wir, die nötigen Pakete zu installieren
apt-get install python2.7 python-setuptools python-simplejson python-imaging python-urllib3 python-flup python-pip python-ldap python-requests sqlite3 sudo nginx
Schritt 3:
Einen neuen Benutzer namens „Seafile“ anlegen, alle Fragen über vollständigen Namen, etc können ignoriert werden
adduser seafile --disabled-login
und wir wechseln direkt zu diesem Benutzer
su seafile
Schritt 4:
Link des Archievs von https://github.com/haiwen/seafile-rpi/releases kopieren und mittels
wget https://github.com/haiwen/seafile-rpi/releases/download/v5.1.1/seafile-server_stable_5.1.1_pi.tar.gz
herunterladen. Das ganze mit
tar xfv seafile-server_stable_5.1.1_pi.tar.gz
entpacken. Anschließend mittels
cd seafile-server-5.1.1
in den Ordner wechseln.
Schritt 5:
Als nächsten Schritt führen wir das Setup aus:
./setup-seafile.sh
- „server-name“ gebt ihr einen kurzen Namen ein, wie „Homeserver“ o.Ä.
- „server Domain/IP“ euere IP im Netzwerk oder eure DynDNS
- Den Rest mit Enter bestätigen
Nun starten wir Seafile
./seafile.sh start
und Seahub
./seahub.sh start 8000
Es folgt die Konfiguration für einen Admin-Account.
Schritt 6:
Nun beginnen wir mit der Einrichtung von HTTPS/SSL, also einer gesicherten Verbindung
nano /home/seafile/conf/ccnet.conf
Hier ergänzen wir die Zeile und ersetzten Domain durch eure IP/DynDNS
SERVICE_URL = https://DOMAIN:8001
und speichern mit strg+x; j und enter.
Schritt 7:
Es folgt die nächste Datei:
nano /home/seafile/conf/seahub_settings.py
und ändern bzw. ergänzen den Eintrag
FILE_SERVER_ROOT = 'https://DOMAIN:8001/seafhttp'
und speichern wieder.
Schritt 8:
Wir starten Seahub neu mittels:
/home/seafile/seafile-server-latest/seahub.sh stop
und
/home/seafile/seafile-server-latest/seahub.sh start-fastcgi
und wechseln wieder zurück zu dem Benutzer „root“ mittels:
exit
Schritt 9:
Als nächstes erstellen wir einen Ordner und ein SSL-Zertifikat mir einer Gültigkeit von 10 Jahren:
mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
openssl genrsa -out seahub.key 4096
Nun erstellen wir die Keys (beim Ausführen des ersten Befehls verlangt Openssl einige Informationen, wie z.B. „Country Name“, …)
openssl req -new -sha512 -key seahub.key -out seahub.csr
openssl x509 -req -sha512 -days 3650 -in seahub.csr -signkey seahub.key -out seahub.crt
Schritt 10:
Nginx mit den neuen Informationen füttern; aber Vorsicht: Nginx ist sehr hungrig!
nano /etc/nginx/sites-available/seahub
und fügt diesen Inhalt ein. Wichtig: „DOMAIN“ ersetzten!
Noch eine Verknüpfung erstellen…
ln -s /etc/nginx/sites-available/seahub /etc/nginx/sites-enabled/seahub
und Nginx neustarten
/etc/init.d/nginx restart
Vorletzter Schritt:
Autostart:
nano /etc/init.d/seafile-server
Diesen Inhalt einfügen. Ausführbar machen:
chmod +x /etc/init.d/seafile-server
und abschließend noch eintragen:
update-rc.d seafile-server defaults
Letzter Schritt:
GENIEßEN und einen Kommentar schreiben, falls mal was nicht funktioniert, ihr Kritik üben wollt, etc. Alternativ auch an folgende E-Mail Adresse:
Ich hoffe, ich konnte euch helfen und natürlich wünsche ich euch nun Viel Spaß mit Seafile 😀
2 Gedanken zu “Banana Pi: Seafile mit Autostart und HTTPS”
Hallo,
erstmal danke für die Erklärung. Ich hab jetzt folgendes Problem:
Sobald ich auf den Nutzer Seafile wechsel und wget ausführen möchte, geht gar nix, da ich keine Rechte habe.
Bin absoluter Linux neuling.
Gruß
Hallo Nuca,
es tut mir Leid, dass ich erst jetzt auf deinen Kommentar antworte, aber der ist versehentlich im Ordner Spam gelandet 🙁
Falls das Problem immernoch besteht, würde ich gern wissen, ob du Seafile versuchst auf einen Stick, bzw. externes Laufwerk herunterzuladen und ob du einen Raspi oder Banana Pi hast.
Viele Grüße,
TechnikAmateur