Seafile 7.1.2 64bit (beta) Probleme bei der Installation

Hier eine Zusammenfassung meiner Vorgehensweise. Ich glaube, man bemerkt, dass ich kein Linuxprofi bin :wink:

. Kubuntu 20.04 (Daily Build) frisch installiert - keine Probleme
… Minimalinstallation mit Fremdsoftware (Treiber etc.)
… eine Partition /
… eine Partition /home
… User crashy (Systemverwalter)
… Aktualisierungen durchgeführt

. kleinere Programme wie Gnome Laufwerke oder Keepass installiert

. Samba Server per Konsole installiert - keine Probleme
… sudo apt-get install samba-common samba

. sudo su
. adduser seafile

. der Ordner /home/seafile wurde erstellt -> Berechtigung seafile/seafile

. Ordner ‘installled’ (mit dem Downloadarchiv als Inhalt) erstellt und den entpackten Ordner seafile-server-7.1.2 liegen jetzt im Verzeichnis /home/seafile -> Berechtigungen seafile/seafile

als User ‘crashy’ Python 3 installiert

. sudo apt-get install python3 python3-setuptools python3-pip python3-ldap -y
-> keine Fehlermeldung
. sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy psd-tools
. dann kommt ein > und ich drücke nochmals ENTER - erst dann startet die Installation / der Download
-> Fehlermeldung ‘Failed building wheel for pylibmc’ und weiter unten 3 Zeilen rot mit 'failed with error code 1 in /tmp/pip-install-w_kn5w2d/pylibmc

weiter mit
. pip3 install django-smtp-ssl

mysql-Server nach Anleitung von digital-ocean
. sudo apt update - keine Probleme
. sudo apt install mysql-server - keine Probleme
. sudo mysql_secure_installation
… Validate Password > Y
… Medium 1
… Passworteingabe
… dann alle weiteren Abfragen mit Y beantwortet
-> keine Probleme

. sudo mysql
. SELECT user,authentication_string,plugin,host FROM mysql.user; ergab
… root - auth_socket -
… alle anderen User (wie z.B. mysql.sys) - caching_sha2_password -

dann
. ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘mit meinem Passwort’;
. FLUSH PRIVILEGES;

Ergebnis getestet:
… SELECT user,authentication_string,plugin,host FROM mysql.user;
-> root - mysql_native_password -

Bei alle anderen User (wie z.B. mysql.sys) steht weiterhin - caching_sha2_password - !
Ist das so richtig? Bei meinen vorherigen Versuchen habe ich einmal alle User auf - mysql_native_password - geändert - ohne Erfolg bei der Installation von seafile. Da aber lt. digital-ocean alle user in mysql auf - mysql_native_password - eingestellt sind, ändere ich alle User darauf.

Ergebnis:
debian-sys-maint - mysql_native_password -
mysql.infoschema - mysql_native_password -
mysql.session - mysql_native_password -
mysql.sys - mysql_native_password -
root - mysql_native_password -

. exit
. mysql -u root -p + Passwort -> funktioniert .exit

Jetzt zu Seafile:

. su seafile
. cd /home/seafile/seafile-server-7.1.2
. ./setup-seafile-mysql.sh
… Name des Servers
… als IP habe ich die IP des Servers eingetragen 192.168.178.xx
… Port 8082
… 1 = new database
… localhost für mysql-Server
… Port 3306
… mysql Rootpasswort eingetragen
… mysql-User = seafile (Standard belassen)
… Passwort für seafile
… die database-Namen so belassen
-> keine Probleme

Seafile starten
. ./seafile.sh start
-> keine Probleme
Seahub starten
. ./seahub.sh start
… Emailadresse eingegeben
… Passwort vergeben

und jetzt

Error happend during creating seafile admin
Seahub failed to start :frowning:

Logs
ccnet.log
. …/common/ccnet-db.c(583): Failed to connect to MySQL: Plugin caching_sha2_password could not be loaded: lib/mariadb/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

seafile.log
. …/common/ccnet-db.c(589): Failed to connect to MySQL: Plugin caching_sha2_password could not be loaded: lib/mariadb/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
repo-mgr.c(3646): Failed to add branch
seafile-session.c(349); Failed to create system default repo.

Jetzt komme ich nicht mehr weiter!

Kennt jemand einen Zauberspruch?

Danke und Grüße
Crashy

Probiere es doch mal mit diesem Video: https://www.youtube.com/watch?v=uS4c2DPZA6M

Das Video läuft bei mir nebenher mit - ein Danke an datamate. Es gibt nur geringe Abweichungen in der Vorgehensweise.

Ich bin mir nicht sicher, ob es an den Beta-Versionen liegt. Ich hätte sehr gerne bei Ubuntu die LTS-Version und bei Seafile die 7.1.x, da dann in der Zukunft die Updates leichter fallen.

Nur bleibt es letztlich immer an dieser Stelle hängen. :roll_eyes:

mysql_native_password ist richtig. Die Anleitung von Digital Ocean (So installieren Sie MySQL auf Ubuntu 18.04 | DigitalOcean) erklärt das schon gut.

Lege den User in der Datenbank nochmal an und “droppe” den dann. Vielleicht sind noch irgendwelche grant tables nicht richtig leer:
1.) CREATE USER ‘seafile’@‘127.0.0.1’ IDENTIFIED BY ‘password’;
2.) DROP USER ‘seafile’@‘127.0.0.1’;

Wichtig: Der user seafile@127.0.0.1 ist ein anderer als seafile@localhost, wie ich vor kurzem selbst lernen musste.

Hi rdb,
ich glaube, ich bin mit deiner Hilfe einen kleinen Schritt weiter! Die logs weisen jetzt nicht mehr die o.g. Fehlermeldung aus, dafür eine andere. Die scheint mir aber lösbar zu sein.

In der Tat fehlte in der mysql-Datenbank der User ‘seafile’ - der ist nun vorhanden und jetzt auch auf - mysql_native_password - eingestellt. ‘127.0.0.1’ habe ich zudem noch gegen ‘localhost’ getauscht. Die IP wollte mysql irgendwie nicht.

Jetzt sieht die Auflistung so sauber wie bei digital-ocean aus.

Jetzt erhalte ich in den Logs allerdings die Fehlermeldung: Access denied for user ‘seafile’@‘localhost’ to database ‘seafile-db’.

Deinen 2. Befehl “DROP USER ‘seafile’@‘127.0.0.1’;” oder DROP USER ‘seafile’@‘localhost’; hat mysql nicht akzeptiert und nur einen Pfeil → darunter ausgespuckt.
edit Gerade nochmals versucht (damit ich nix falsches sage)

ERROR 1396 (HY000): Operation DROP USER failed for ‘seafile’@‘127.0.0.1’

Ich muss mich korrigieren - habe es hinbekommen. Nun steht der User ‘seafile’@‘127.0.0.1’ mit - mysql_native_password - in der Liste.
Die Fehlermeldung in den Logs bleibt.

Nach vielen erfolglosen Versuchen in mysql habe ich es hinbekommen, dass die Datenbanken akzeptiert werden und in den Logs keine Fehlermeldungen auftauchen.
War ein ziemliches Durcheinander. Ein Hinweis eines anderen Leidgeplagten brachte die Lösung. Er hat beide beiden User ‘seafile’@‘localhost’ UND ‘seafile’@‘127.0.0.1’ erstellt.

Hierfür zuerst:
. create user ‘seafile’@‘localhost’ bzw. ‘127.0.0.1’ IDENTIFIED BY ‘password’;
.ALTER USER ‘seafile’@‘localhost’ bzw. ‘127.0.0.1’ IDENTIFIED WITH mysql_native_password BY ‘password’;
. FLUSH PRIVILEGES;

UND die Datenbanken erneut angelegt
. create database ccnet_db character set = ‘utf8’;
. create database seafile_db character set = ‘utf8’;
. create database seahub_db character set = ‘utf8’;

UND die Privilegien für BEIDE // ‘localhost’ bzw. ‘127.0.0.1’ // gewährt:

. GRANT ALL PRIVILEGES ON ccnet_db.* to seafile@localhost; bzw. 127.0.0.1;
. GRANT ALL PRIVILEGES ON seafile_db.* to seafile@localhost; bzw. 127.0.0.1;
. GRANT ALL PRIVILEGES ON seahub_db.* to seafile@localhost; bzw. 127.0.0.1;

Als User seafile wieder zurück in die Konsole und seafile gestartet - kein Problem. Seahub gestartet, der Adminaccount konnte angelegt werden, Passwort vergeben, startet auf Port 8000 und bricht mit einer kleiner Fehlermeldung ab - Seahub failed to start

In den Logs sehe ich keine Fehlermeldung mehr.

In der Fritzbox alle Schleusen auf >> Exposed Host
Ohne Erfolg

So langsam verzweifel ich :frowning:

Nach einigem Stöbern fand ich hier in diesem Forum eine Lösung.
mit ./seahub.sh start-fastcgi (das ging warum auch immer nur einmal) kam die Fehlermeldung ‘No module name ‘captcha’’
mit
sudo apt install python3-django-captcha
das Modul installiert. Seitdem läuft seahub.

Ich schreibe dies hier nur auf, damit u.U. andere von der Recherche profitieren.

@rdb
Dir vielen Dank für Deine Hilfe! Das war für mich ein wichtiger Hinweis.

Gruß an alle

1 Like

Vielen Dank für deine ausführliche Beschreibung.
Ich bin leider erst nach einem Tag auf die Idee gekommen hier im Forum mal zu schauen. :exploding_head: