Vorbereitung:
- Raspberry OS Image flashen, falls noch nicht vorhanden
- Auf der Root Partition, eine leere Datei, ohne Dateinendung "ssh" hinzufügen
- LAN,- sowie Strom Kabel anstecken und nun können wir starten
Vorabkonfiguration des Raspberry´s, ist zwar nicht notwenig, aber wir wollen ja von Anfang an genau sein
Mit dem Befehl raspi-config folgendes einstellen:
- Hostname
- Local
- Timezone
Neuen Benutzer erstellen (hier ist das admin als Beispiel, könnt natürlich selbst wählen, pi wird hiermit ausgesperrt und kann sich nicht mehr anmelden)
sudo su
adduser admin
passwd admin
usermod -g users admin
gpasswd -a admin ssh
gpasswd -a admin sudo
usermod -L pi
passwd -l pi
reboot now
Updates und Upgrades durchführen mit folgenden Befehl:
- sudo apt update && sudo apt upgrade -y
Jetzt installieren wir folgende Pakete mit diesem Befehl:
Nun müssen wir ein Root-Passwort für Mysql vergeben (geheim ersetzt du mit deinem Passwort):
sudo mysql -u root
update mysql.user set password=password('geheim') where user='root';
update mysql.user set plugin='' where user='root';
flush privileges;
quit
Wir legen einen weiteren Benutzer Namens Seafile an und wechseln auch gleich zu diesen:
Jetzt laden wir das Archiv herunter, entpacken es und verschieben es aus Strukturierung in den Ordner "installed":
wget https://github.com/haiwen/seafile-rpi/releases/download/v7.1.5/seafile-server-7.1.5-buster-armv7.tar.gz
tar xfvz seafile-server-7.1.5-buster-armv7.tar.gz
mkdir installed
mv seafile-server-7.1.5-buster-armv7.tar.gz installed/
Wir wechseln in den entpackten Ordner und starten mit der Installation:
- Servernamen vergeben
- IP Adresse des Pi eingeben,
- „1“ wählen für neue Datenbank erstellen
- mysql root Passwort eingeben
- mysql Passwort für Benutzer seafile vergeben
- der Rest kann mit Enter übersprungen werden
Um Seafile/Seahub starten zu können, legen wir eine Verknüpfung an:
cd
cd seafile-server-latest/seafile/lib
ls -l #wenn hier schon python3.6 steht, keine Verküpfung nötig!
ln -s python3.7 python3.6
Und starten:
- E-Mail und Passwort für den Admin_User festlegen
Das ganze wieder stoppen mit:
Autostart erstellen:
Folgendes wird eingefügt und mit STRG + O - Enter - STRG +X gespeichert und geschlossen:
[Unit]
Description=Seafile
After=network.target mysql.service
[Service]
Type=forking
ExecStart=/home/seafile/seafile-server-latest/seafile.sh start
ExecStop=/home/seafile/seafile-server-latest/seafile.sh stop
User=seafile
Group=seafile
[Install]
WantedBy=multi-user.target
Alles anzeigen
Weiteres führen wir noch einen Eintrag durch:
[Unit]
Description=Seafile hub
After=network.target seafile.service
[Service]
Environment="LC_ALL=C"
Type=forking
ExecStart=/home/seafile/seafile-server-latest/seahub.sh start
ExecStop=/home/seafile/seafile-server-latest/seahub.sh stop
User=seafile
Group=seafile
[Install]
WantedBy=multi-user.target
Alles anzeigen
Das ganze aktivieren wir mit:
Jetzt kommen wir zu der Konfiguration von Nginx:
server { listen 80; server_name _;
proxy_set_header X-Forwarded-For $remote_addr;
location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; proxy_read_timeout 1200s;
client_max_body_size 0;
access_log /var/log/nginx/seahub.access.log; error_log /var/log/nginx/seahub.error.log; }
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
access_log /var/log/nginx/seafhttp.access.log;
error_log /var/log/nginx/seafhttp.error.log; } location /media { root /home/seafile/seafile-server-latest/seahub; }
}
Alles anzeigen
Wir löschen die Standardconfig und erstellen eine neue Verknüpfung:
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/seafile.conf /etc/nginx/sites-enabled/seafile.conf
Die Konfiguration Testen wir jetzt, mit der Wiedergabe "successful", laden Nginx neu und passen die Seafile-Konfiguration an:
sudo nginx -t #Ergebnis sollte "Syntax ok" lauten
sudo nginx -s reload
sudo su seafile
cd conf
nano ccnet.conf
SERVICE_URL = http://hostname #oder IP-Adresse
Speichern und schließen und das selbe noch für:
Jetzt den Benutzer Seafile mit exitverlassen und Seafile Server starten mit:
Für jeden weiteren Hinweis oder diversen Konfigurationsmöglichkeiten, kann gerne hier gesammelt werden, das sich zu dem Thema hier beschäftigt
Quelle: Seafile Version 7.1.5 auf Raspberry installieren - StephansNet