Benutzer-Werkzeuge

Webseiten-Werkzeuge


seafile_installation

Seafile

Installation

Um den Datenbereich später leicht erweitern zu können, empfiehlt es sich für Seafile eine dedizierte Platte zu verwenden.

Abhängigkeiten installieren, es wird absichtlich aus Sicherheitsgründen kein sudo installiert. Als Alternative wird start-stop-daemon verwendet. Memcached ist optional.

apt-get install apache2 mariadb-server memcached

Python-Abhängigkeiten (TODO noch nicht vollständig verifiziert)

apt-get install python3-setuptools python3-pip
apt-get install python3-pillow python3-jinja2 python3-pylibmc python3-ldap python3-lxml python3-memcache python3-wheel
pip3 install --timeout=3600 captcha sqlalchemy==1.4.3 django-pylibmc django-simple-captcha

Falls die Versionen nicht passen und etwas neu gebaut werden muß, python3-dev installieren.

Vorarbeiten

adduser --system --group --uid 500 --disabled-password --gecos 'Seafile server' \
    --home /srv/seafile seafile
chmod 750 /srv/seafile
 
cd /srv/seafile
wget seafile-server_8.0.7_x86-64.tar.gz
tar xzf seafile-server_8.0.7_x86-64.tar.gz
mkdir installed
mv seafile-server_* installed
 
cd /srv/seafile/seafile-server-8.0.7

Bein nachfolgenden Skript kommt die Nachfrage nach dem Root-Kennwort für den Mysql-Server. Es kann ein belibiges Kennwort eingegeben werden falls der root-Benutzer das unix_socket plugin benutzt.

./setup-seafile-mysql.sh

Die Berechtigungen stimmen nach einer Installation leider nicht. Die minimal erforderlichen werden im Folgenden gesetzt;

chmod 750 /srv/seafile/conf
chgrp -R seafile /srv/seafile/conf
chmod 640 /srv/seafile/conf/seahub_settings.py
chown -R seafile: /srv/seafile/seafile-data
chown seafile: /srv/seafile/seafile-server-latest/runtime

Die Standardinstallation ist auf der Projektseite relativ gut erklärt. Hier sind die nachfolgenden, vermutlich sinnvollen Schritte aufgeführt.

  • Manueller Start, initial durchführen
    export LC_ALL=de_DE.UTF-8
    start-stop-daemon --start --chuid seafile --exec /srv/seafile/seafile-server-latest/seafile.sh -- start
    start-stop-daemon --start --chuid seafile --exec /srv/seafile/seafile-server-latest/seahub.sh -- start
  • Beim ersten Start wird nach dem administrativen Benutzer gefragt. Kommt die Frage nicht, ist etwas schieflelaufen
  • Init-Script benutzen /etc/init.d/seafile-server
    • Sorgt dafür, daß der Server unter einem eingeschränkten Benutzer (z.B. seafile) läuft.
  • Apache mit SSL als Proxy verwenden
    a2enmod rewrite
    a2enmod proxy_fcgi
    a2enmod proxy_http
  • LOGO_PATH ?

Sicherheit: Seahub nur auf localhost laufen lassen. Ab Version 9 ist das bei einer Neuinstallation anscheinend voreingestellt und die folgende Anpassung ist überflüssig. Dazu die Datei seahub.sh anpassen:

$PYTHON $gunicorn_exe seahub.wsgi:application -c "${gunicorn_conf}" -b "127.0.0.1:${port}" --preload

MySQL Datenbank

Falls von SQLite zu MySQL migriert wird, muß ggf. ein Datenbankbenutzer angelegt werden:

CREATE USER 'seafile'@'localhost' IDENTIFIED BY '********';
GRANT ALL PRIVILEGES ON `ccnet\-db`.* to 'seafile'@'localhost';
GRANT ALL PRIVILEGES ON `seafile\-db`.* to 'seafile'@'localhost';
GRANT ALL PRIVILEGES ON `seahub\-db`.* to 'seafile'@'localhost';

Libreoffice / PDF

apt-get install libreoffice libreoffice-script-provider-python poppler-utils
seafevents.conf
[OFFICE CONVERTER]
enabled = true

TODO LibreOffice Online

Upgrade

Maintenance Upgrade

z.B. 6.0.5 → 6.0.7

  1. Neue Version herunterladen
    cd /srv/seafile
    wget https://download.seadrive.org/seafile-server_6.0.7_x86-64.tar.gz
  2. Archiv auspacken
    tar xzf seafile-server_6.0.7_x86-64.tar.gz
  3. Server stoppen
    /etc/init.d/seafile-server stop
  4. in neu erstelltes Verzeichnis wechseln
  5. Minor-Upgrade Script laufen lassen
    upgrade/minor-upgrade.sh
  6. Server wieder starten
    /etc/init.d/seafile-server start

Minor Upgrade

z.B. 7.0.5 → 7.1.5

  1. Neue Version herunterladen
    cd /srv/seafile
    wget https://download.seadrive.org/seafile-server_7.1.5_x86-64.tar.gz
  2. Archiv auspacken
    tar xzf seafile-server_7.1.5_x86-64.tar.gz
  3. Server stoppen
    /etc/init.d/seafile-server stop
  4. in das neue Verzeichnis wechseln und das Upgrade-Script laufenlassen
    cd seafile-server-7.1.5
    upgrade/minor-upgrade.sh
  5. Server wieder starten
    /etc/init.d/seafile-server start

Major Version Upgrade

Die Versionen 11 und insbesondere 12 benötigen gesonderte Konfigurationsänderungen und ggf. zusätzliche Pakete.

Z.B. von 8 → 9

  1. Neue Version herunterladen
    cd /srv/seafile
    wget https://download.seadrive.org/seafile-server_9.0.10_x86-64.tar.gz
  2. Archiv auspacken
    tar xzf seafile-server_9.0.10_x86-64.tar.gz
  3. Server stoppen
    /etc/init.d/seafile-server stop
  4. Update durchführen
    cd seafile-server-9.0.10
    upgrade/upgrade_8.0_9.0.sh
  5. optional: Memcached neu starten
  6. Server wieder starten
    /etc/init.d/seafile-server start
  7. verschiebe das Installationspaket nach installed

Version 12

Die nachfolgende Aufstellung ist ggf. nicht vollständig!

Pakete nachinstallieren über die Paketverwaltung

apt-get install python3-jwt python3-pycryptodome python3-gunicorn python3-qrcode\ 
    python3-cffi python3-openpyxl python3-bleach python3-requests-oauthlib

Zusätzlich muß mit pip3 nachinstalliert werden:

  • sqlalchemy
  • pytz

Die Konfigurationsdatei ccnet.conf wird nicht mehr genutzt und kann somit gelöscht werden.

Des weiteren muß eine neue Konfigurationsdatei .env im Konfigurationsverzeichnis angelegt werden. Beispielhafter Inhalt:

.env
TIME_ZONE=UTC
SEAFILE_SERVER_PROTOCOL=https
SEAFILE_SERVER_HOSTNAME=seafile.example.com
JWT_PRIVATE_KEY=<Erzeuge hier eine Zeichenketter der Länge 40>
SEAFILE_MYSQL_DB_HOST=127.0.0.1
SEAFILE_MYSQL_DB_PORT=3306
SEAFILE_MYSQL_DB_USER=seafile
SEAFILE_MYSQL_DB_PASSWORD=<Kennwort hier eingeben>
SEAFILE_MYSQL_DB_CCNET_DB_NAME="ccnet-db"
SEAFILE_MYSQL_DB_SEAFILE_DB_NAME="seafile-db"
SEAFILE_MYSQL_DB_SEAHUB_DB_NAME="seahub-db"
seafile_installation.txt · Zuletzt geändert: von thooge

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki