RASPBIAN: Seafile installieren (SQLite3 / MySQL)
Verfasst: 07.09.2015, 14:22
History:
28.06.2017 - V01.06 - Anleitung auf Version Seafile 6.1.1 angepasst, aktualisiert und getestet (MySQL)
25.02.2017 - V01.05 - Anleitung auf Version Seafile 6.0.7 angepasst, aktualisiert und getestet (MySQL)
11.03.2016 - V01.04 - Autostartscript Hinweis für MySQL und weiteren symbolischen Link hinzugefügt
10.03.2016 - V01.03 - Seafile Download Link wieder rückgängig gemacht, da geänderter Link nicht mehr gefunden wird
01.03.2016 - V01.02 - Seafile Download Link angepasst und Lösung für mögliche Fehlermeldung bei der Konfiguration berücksichtigt
12.09.2015 - V01.01 - Pfade optimiert und Datenbank MySQL als Alternative hinzugefügt
07.09.2015 - V01.00 - Erste Fertigstellung
Bei dieser Anleitung wird eine externe Festplatte verwendet, die unter
(Weitere Infos zum Einbinden von USB Geräten befinden sich hier:
RASPBIAN Festplatte einbinden
)
Inhaltsverzeichnis:
(1) Seafile installieren
(2) Seafile automatisch starten
(1) Seafile installieren
Zuerst werden wie immer die Paketliste und die dazugehörigen Pakete in Raspbian aktualisiert:
Als nächstes werden weitere benötigte Pakete installiert:
Mit Datenbank SQLite3
Mit Datenbank MySQL
Nun wird ein neuer User
(Das Homeverzeichnis und damit Seafile wird auf der SD Karte im Pi angelegt und installiert, da die Platte zwecks einfacherem Zugriff in NTFS formatiert wurde und nur für die Seafile Daten genutzt wird. Das Installieren von Seafile auf NTFS könnte diverse Probleme bereiten, da z.B. das Rechtemanagement unter Debian nicht mehr funktioniert.)
Beim Anlegen des Users werden einige Sachen abgefragt, die man alle leer einfach mit Enter bestätigen kann.
Es folgt ein symbolischer Link (der Einfachheit halber anderer Anleitungen):
Nun folgt der Wechsel vom User
Nun folgt der Download von Seafile (wieder auf Versionslink geändert, da der allgemeine Link momentan nicht funktioniert):
Der obige Link sollte von Zeit zu Zeit auf neuere Versionen überprüft werden. Es gab bis vor Kurzem ein allgemeiner Link, der immer die neuste Version abrief. Dieser funktioniert aktuell genauso wenig, wie der direkte Download über die deutsche Webseite von Seafile. Daher erfolgt momentan der Link zur direkten Version.
Das Downloadverzeichnis befindet sich hier:
Offizielles Seafile Download Verzeichnis 
Und das Entpacken:
Nun wird das Paket in das Verzeichnis
Es wird in das Seafile Verzeichnis gewechselt:
Und das Setup gestartet:
Mit Datenbank SQLite3
Bei diesem Setup erfolgt erst ein Hinweistext, der mit Enter bestätigt wird.
Dann wird nach dem Servernamen gefragt, wie der Seafile Server später heißen soll.
Hier spielt es keine Rolle, wie er benannt wird. In dieser Anleitung heißt er schlicht
Als nächstes wird nach der IP oder der Domain gefragt, unter der der Server erreichbar sein soll. Dies also entsprechend eintragen.
Dann folgt der Pfad für die späteren Daten, hier die Platte
Dann den Port übernehmen und 2x mit Enter bestätigen.
Mit Datenbank MySQL
Hier wird nach den MySQL Daten gefragt wie Server, Port, User für Seafile, usw ....
Dies bitte alles eingeben und bestätigen.
Das Setup legt dann auch die Datenbanken in MySQL an und bestätigt am Ende, wenn alles fertig ist.
Man kann die Datenbanken per phpMyAdmin prüfen.
Damit Wartungen und Updates ein wenig komfortabler vonstatten gehen, wird nun ein weiterer symbolischer Link hinzugefügt, der Seafile ein wenig von der direkten Versionsnummer trennt. Dies ist z.B. nützlich, um z.B. bei einem Update nicht auch noch sämtliche Konfigurationsdateien auf die neue Versionsnummer anpassen zu müssen (Pfade & Co.). Hier wird einfach z.B. aus
Hierzu wird der Link wie folgt angelegt:
Es folgt nun der erste Start:
Und darauf der Start des Webinterfaces:
Danach wird man nach der Mailadresse und des Passworts des Admins gefragt. Hier sind die Daten einzugeben für den späteren Admin.
Kurz darauf läuft auch das Webinterface.
Es kommt nun mit ziemlicher Sicherheit vor, dass eine Fehlermeldung angezeigt wird:
Dies kann vorerst ignoriert werden, da dies bei der Autostartkonfiguration berücksichtigt und korrigiert wird. Der Start und Stopp von Seafile wird dann auch nochmal weiter unten vereinfacht.
Es gibt nun verschiedene Möglichkeiten, das Webinterface zu starten, je nachdem, was beim Setup als Domain oder IP angegeben wurde.
Wichtig ist der Port 8000, wenn alles beim Standard gelassen wurde:
Es erscheint im Browser die Loginmaske von Seafile, in der die zuvor als Admin definierten Daten eingegeben werden:

Danach wird die Startseite von Seafile geladen.

Somit funktioniert Seafile mir dem in Seafile integrierten Webinterface.
Ein verschlüsselter Zugriff bei Verwendung von NGINX wird in den nächsten Kapiteln gezeigt.
Alle weiteren Schritte werden nun nicht mehr als User
Dazu verlassen wir den bisher genutzten User mit
und führen alle weiteren Befehle wieder mit
(2) Seafile automatisch starten
Um Seafile automatisch beim Booten des RasPis zu starten, legen wir die folgende Datei an:
Und befüllen diese mit folgendem Inhalt:
Wichtig !!
Bei der Nutzung von MySQL muss die 4. Zeile von oben so lauten:
Darin kann man den
Diese Datei wird nun ausführbar gemacht:
Und damit das Ganze noch funktioniert, folgt noch der folgende Befehl:
Das funktioniert leider nicht mehr zuverlässig (auf einem Pi geht's, auf einem anderen nicht mehr).
Es wird auch generell unter Debian seit einigen Versionen von
Man kann den Server ab sofort mit den folgenden Befehlen steuern:
Um das zu testen, wird der RasPi neu gestartet und das Webinterface wieder im Browser aufgerufen.
Läuft alles, kann die Konfiguration weiter gehen.
Verschlüsselter SSL Zugriff folgt später ....
28.06.2017 - V01.06 - Anleitung auf Version Seafile 6.1.1 angepasst, aktualisiert und getestet (MySQL)
25.02.2017 - V01.05 - Anleitung auf Version Seafile 6.0.7 angepasst, aktualisiert und getestet (MySQL)
11.03.2016 - V01.04 - Autostartscript Hinweis für MySQL und weiteren symbolischen Link hinzugefügt
10.03.2016 - V01.03 - Seafile Download Link wieder rückgängig gemacht, da geänderter Link nicht mehr gefunden wird
01.03.2016 - V01.02 - Seafile Download Link angepasst und Lösung für mögliche Fehlermeldung bei der Konfiguration berücksichtigt
12.09.2015 - V01.01 - Pfade optimiert und Datenbank MySQL als Alternative hinzugefügt
07.09.2015 - V01.00 - Erste Fertigstellung
Hinweis:
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.
Info:
Diese Anleitung setzt ein fertig konfiguriertes RASPBIAN mit MySQL voraus (falls MySQL verwendet werden soll).
Wichtig:
Die Anleitung beschreibt die einfache Installation im lokalen Netz ohne Verschlüsselung.
Da seafile einen eigenen Webserver Service mitbringt, ist lediglich MySQL zu installieren und zu konfigurieren.
Wer des Weiteren Webseiten parallel mit fastcgi und ggf. Verschlüsselung für seafile und dyndns nutzen möchte, braucht eine umfangreichere Konfiguration, die ich aktuell aus Zeitgründen (noch) nicht liefern kann.
Diese Anleitung setzt ein fertig konfiguriertes RASPBIAN mit MySQL voraus (falls MySQL verwendet werden soll).
Wichtig:
Die Anleitung beschreibt die einfache Installation im lokalen Netz ohne Verschlüsselung.
Da seafile einen eigenen Webserver Service mitbringt, ist lediglich MySQL zu installieren und zu konfigurieren.
Wer des Weiteren Webseiten parallel mit fastcgi und ggf. Verschlüsselung für seafile und dyndns nutzen möchte, braucht eine umfangreichere Konfiguration, die ich aktuell aus Zeitgründen (noch) nicht liefern kann.
Bei dieser Anleitung wird eine externe Festplatte verwendet, die unter
/media/hdd
ansprechbar ist.(Weitere Infos zum Einbinden von USB Geräten befinden sich hier:


Inhaltsverzeichnis:
(1) Seafile installieren
(2) Seafile automatisch starten
(1) Seafile installieren
Zuerst werden wie immer die Paketliste und die dazugehörigen Pakete in Raspbian aktualisiert:
Code: Alles auswählen
sudo apt-get update && sudo apt-get upgrade
Hinweis:
Seit Version 6.1.0 ist es erforderlich, das abhängige Paket
Dies wurde inzwischen in der Anleitung berücksichtigt.
Seit Version 6.1.0 ist es erforderlich, das abhängige Paket
python-requests
zu installieren.Dies wurde inzwischen in der Anleitung berücksichtigt.
Mit Datenbank SQLite3
Code: Alles auswählen
sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging python-requests sqlite
Code: Alles auswählen
sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging python-requests python-mysqldb
seafile
angelegt und dessen Homeverzeichnis:(Das Homeverzeichnis und damit Seafile wird auf der SD Karte im Pi angelegt und installiert, da die Platte zwecks einfacherem Zugriff in NTFS formatiert wurde und nur für die Seafile Daten genutzt wird. Das Installieren von Seafile auf NTFS könnte diverse Probleme bereiten, da z.B. das Rechtemanagement unter Debian nicht mehr funktioniert.)
Code: Alles auswählen
sudo adduser seafile --disabled-login
Es folgt ein symbolischer Link (der Einfachheit halber anderer Anleitungen):
Code: Alles auswählen
sudo ln -s /home/seafile /var/lib/seafile
pi
zum neuen User seafile
und damit auch in sein neues Homeverzeichnis unter /home/seafile
:Code: Alles auswählen
sudo su - seafile
Code: Alles auswählen
wget https://github.com/haiwen/seafile-rpi/releases/download/v6.1.1/seafile-server_6.1.1_stable_pi.tar.gz
Das Downloadverzeichnis befindet sich hier:


Und das Entpacken:
Code: Alles auswählen
tar xvf seafile-server_6.1.1_stable_pi.tar.gz
installed
"weggesichert" (verschoben).Code: Alles auswählen
mkdir installed && mv seafile-server_* installed
Code: Alles auswählen
cd seafile-server-*
Hinweis:
Wird der Seafile Datenordner außerhalb des Home Verzeichnisses des Users
Daher ist es empfehlenswert, das Setup als User
Hier bei ist darauf zu achten, dass dann sowohl das Datenverzeichnis als auch das komplette Home Verzeichnis des Users rekursiv wieder den Besitzer und die Gruppe
Danach wird wieder zum User
Wird der Seafile Datenordner außerhalb des Home Verzeichnisses des Users
seafile
betrieben, so kommt es nach dem Setup zu einer Fehlermeldung, dass das Verzeichnis nicht angelegt werden konnte. Vorab anlegen hilft leider nicht, da das Setup das Verzeichnis dann ablehnt, da es schon existiert.Daher ist es empfehlenswert, das Setup als User
root
durchlaufen zu lassen.Hier bei ist darauf zu achten, dass dann sowohl das Datenverzeichnis als auch das komplette Home Verzeichnis des Users rekursiv wieder den Besitzer und die Gruppe
seafile
zugewiesen bekommen.Danach wird wieder zum User
seafile
zurück gewechselt und mit der Anleitung weiter verfahren.Mit Datenbank SQLite3
Code: Alles auswählen
./setup-seafile.sh
Dann wird nach dem Servernamen gefragt, wie der Seafile Server später heißen soll.
Hier spielt es keine Rolle, wie er benannt wird. In dieser Anleitung heißt er schlicht
Seafile
.Als nächstes wird nach der IP oder der Domain gefragt, unter der der Server erreichbar sein soll. Dies also entsprechend eintragen.
Dann folgt der Pfad für die späteren Daten, hier die Platte
/media/usb/seafile-data
.Dann den Port übernehmen und 2x mit Enter bestätigen.
Mit Datenbank MySQL
Code: Alles auswählen
./setup-seafile-mysql.sh
Dies bitte alles eingeben und bestätigen.
Das Setup legt dann auch die Datenbanken in MySQL an und bestätigt am Ende, wenn alles fertig ist.
Man kann die Datenbanken per phpMyAdmin prüfen.
Damit Wartungen und Updates ein wenig komfortabler vonstatten gehen, wird nun ein weiterer symbolischer Link hinzugefügt, der Seafile ein wenig von der direkten Versionsnummer trennt. Dies ist z.B. nützlich, um z.B. bei einem Update nicht auch noch sämtliche Konfigurationsdateien auf die neue Versionsnummer anpassen zu müssen (Pfade & Co.). Hier wird einfach z.B. aus
seafile-server-6.1.1
der neue Pfad seafile-server-latest
gemacht und nach einem Versionsupdate reicht es, wenn man bei der neuen Version einfach den Link anpasst, statt in den Konfigdateien die Versionsnummer zu korrigieren. Der alte Pfad bleibt aber weiterhin funktionsfähig, ändert sich aber mit jeder neuen Seafile Version, während der Link immer gleich bleibt.Hierzu wird der Link wie folgt angelegt:
Code: Alles auswählen
ln -s /home/seafile/seafile-server-6.1.1 /home/seafile/seafile-server-latest
Code: Alles auswählen
/var/lib/seafile/seafile-server-latest/seafile.sh start
Code: Alles auswählen
/var/lib/seafile/seafile-server-latest/seahub.sh start
Kurz darauf läuft auch das Webinterface.
Es kommt nun mit ziemlicher Sicherheit vor, dass eine Fehlermeldung angezeigt wird:
Code: Alles auswählen
LC_ALL is not set in ENV, set to en_US.UTF-8
....
Es gibt nun verschiedene Möglichkeiten, das Webinterface zu starten, je nachdem, was beim Setup als Domain oder IP angegeben wurde.
Wichtig ist der Port 8000, wenn alles beim Standard gelassen wurde:
Code: Alles auswählen
http://domain_aus_dem_setup:8000
oder
http://IP_Adresse:8000
oder
http://servername_des_raspis:8000

Danach wird die Startseite von Seafile geladen.

Somit funktioniert Seafile mir dem in Seafile integrierten Webinterface.
Ein verschlüsselter Zugriff bei Verwendung von NGINX wird in den nächsten Kapiteln gezeigt.
Alle weiteren Schritte werden nun nicht mehr als User
seafile
durchgeführt, sondern als User root
.Dazu verlassen wir den bisher genutzten User mit
Code: Alles auswählen
exit
sudo
am Anfang aus.(2) Seafile automatisch starten
Um Seafile automatisch beim Booten des RasPis zu starten, legen wir die folgende Datei an:
Code: Alles auswählen
sudo nano /etc/init.d/seafile-server
Code: Alles auswählen
#!/bin/bash
### BEGIN INIT INFO
# Provides: Seafile Server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Seafile-Daemon at boot time
# Description: Enable service provided by Seafile.
### END INIT INFO
# Change the value of "user" to your linux user name
user=seafile
# Change the value of "seafile_dir" to your path of seafile installation
seafile_dir=/home/seafile
script_path=${seafile_dir}/seafile-server-latest
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub.init.log
# Change the value of fastcgi to true if fastcgi is to be used
fastcgi=false
# Set the port of fastcgi, default is 8000. Change it if you need different.
fastcgi_port=8000
# Fix Error Message while startup:
# /var/lib/seafile/haiwen/seafile-server-latest/seahub.sh: Zeile 207: Warnung: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): Datei oder Verzeichnis nicht gefunden.
# Change locale to needed. This fix is only needed on a german / not english installation
export LC_ALL='de_DE.UTF-8'
case "$1" in
start)
sudo -u ${user} ${script_path}/seafile.sh start >> ${seafile_init_log}
if [ $fastcgi = true ];
then
sudo -u ${user} ${script_path}/seahub.sh start-fastcgi ${fastcgi_port} >> ${seahub_init_log}
else
sudo -u ${user} ${script_path}/seahub.sh start >> ${seahub_init_log}
fi
;;
restart)
sudo -u ${user} ${script_path}/seafile.sh restart >> ${seafile_init_log}
if [ $fastcgi = true ];
then
sudo -u ${user} ${script_path}/seahub.sh restart-fastcgi ${fastcgi_port} >> ${seahub_init_log}
else
sudo -u ${user} ${script_path}/seahub.sh restart >> ${seahub_init_log}
fi
;;
stop)
sudo -u ${user} ${script_path}/seafile.sh $1 >> ${seafile_init_log}
sudo -u ${user} ${script_path}/seahub.sh $1 >> ${seahub_init_log}
;;
*)
echo "Usage: /etc/init.d/seafile {start|stop|restart}"
exit 1
;;
esac
Bei der Nutzung von MySQL muss die 4. Zeile von oben so lauten:
# Required-Start: $remote_fs $syslog mysql
(ohne "$" am Anfang vor dem Wort mysql
!!).Darin kann man den
Port 8000
beliebig ändern und fast-cgi
aktivieren, falls gewünscht.Diese Datei wird nun ausführbar gemacht:
Code: Alles auswählen
sudo chmod 755 /etc/init.d/seafile-server
Code: Alles auswählen
sudo insserv seafile-server
sudo update-rc.d seafile-server defaults
sollte NICHT mehr verwendet werden !!Das funktioniert leider nicht mehr zuverlässig (auf einem Pi geht's, auf einem anderen nicht mehr).
Es wird auch generell unter Debian seit einigen Versionen von
update-rc.d
abgeraten und deshalb insserv
empfohlen.Man kann den Server ab sofort mit den folgenden Befehlen steuern:
Code: Alles auswählen
sudo service seafile-server start
sudo service seafile-server stop
sudo service seafile-server restart
Läuft alles, kann die Konfiguration weiter gehen.
Verschlüsselter SSL Zugriff folgt später ....
Fortsetzungen, Korrekturen, Änderungen möglich ....
Copyright © 2025 RasPiFun.de