Im seafile-Verzeichnis mit der Struktur

dccnet
conf
installed
logs
pids
pro-data
seafile-data
seafile-pro-server-6.2.13
seafile-server-latest -> seafile-pro-server-6.2.13
seahub-data

das aktuelle Paket laden und entpacken:

dccnet
conf
installed
logs
pids
pro-data
seafile-data
seafile-pro-server-6.2.13
seafile-pro-server-6.3.9
seafile-server-latest -> seafile-pro-server-6.2.13
seahub-data

Den seafile– und seahub-Server stoppen:

$ seafile-server-latest/seahub.sh stop
$ seafile-server-latest/seafile.sh stop

Das Upgrade-Skript laufen lassen:

$ seafile-server-latest/upgrade/upgrade_6.2_6.3.sh

-------------------------------------------------------------
This script would upgrade your seafile server from 6.2 to 6.3
Press [ENTER] to contiune
-------------------------------------------------------------



Updating seafile/seahub database ...

[INFO] You are using MySQL
[INFO] updating ccnet database...
/path-to/seafile-pro/seafile-pro-server-6.3.9/upgrade/db_update_helper.py:354: Warning: Table 'LDAPConfig' already exists
  cursor.execute(sql)
/path-to/seafile-pro/seafile-pro-server-6.3.9/upgrade/db_update_helper.py:354: Warning: Table 'GroupStructure' already exists
  cursor.execute(sql)

[INFO] updating seafile database...
/path-to/seafile-pro/seafile-pro-server-6.3.9/upgrade/db_update_helper.py:354: Warning: Table 'SeafileConf' already exists
  cursor.execute(sql)
/path-to/seafile-pro/seafile-pro-server-6.3.9/upgrade/db_update_helper.py:354: Warning: Table 'RepoInfo' already exists
  cursor.execute(sql)

[INFO] updating seahub database...
/path-to/seafile-pro/seafile-pro-server-6.3.9/upgrade/db_update_helper.py:354: Warning: Table 'organizations_orgmemberquota' already exists
  cursor.execute(sql)
[WARNING] Failed to execute sql: (1061, "Duplicate key name 'ix_event_timestamp'")
[WARNING] Failed to execute sql: (1061, "Duplicate key name 'ix_FileAudit_timestamp'")
[WARNING] Failed to execute sql: (1061, "Duplicate key name 'ix_FileUpdate_timestamp'")
[WARNING] Failed to execute sql: (1061, "Duplicate key name 'ix_UserTrafficStat_month'")
Done

migrating avatars ...

Done

updating /path-to/seafile-pro/seafile-server-latest symbolic link to /path-to/seafile-pro/seafile-pro-server-6.3.9 ...



-----------------------------------------------------------------
Upgraded your seafile server successfully.
-----------------------------------------------------------------

Starten des Seahub-Servers:

$ seafile-server-latest/seafile.sh start

** Message: seafile-controller.c(1155): loading seafdav config from /path-to/seafile-pro/conf/seafdav.conf

[05/14/19 21:27:18] ../common/session.c(139): using config file /path-to/seafile-pro/conf/ccnet.conf
[05/14/19 21:27:18] ../common/license.c(406): Loading license file /path-to/seafile-pro/seafile-license.txt ..
[05/14/19 21:27:18] ../common/license.c(409): License file /path-to/seafile-pro/seafile-license.txt does not exist, allow at most 3 trial users
License file /path-to/seafile-pro/seafile-license.txt does not exist, allow at most 3 trial users
Starting seafile server, please wait ...
** Message: seafile-controller.c(1155): loading seafdav config from /path-to/seafile-pro/conf/seafdav.conf

Seafile server started

Done.
$ seafile-server-latest/seahub.sh start

LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub at port 8000 ...

Seahub is started

Done.

User Jail für sftp unter openssh

In der Konfigurationsdatei /etc/ssh/sshd_config sicherstellen, dass folgende Zeile aktiv ist:

…
# override default of no subsystems
Subsystem       sftp    internal-sftp
…

Für User folgenden Eintrag am Ende der Konfigurationsdatei /etc/ssh/sshd_config eintragen:

&hellip
Match User dummy
    ChrootDirectory /var/www/
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

Achtung: das Verzeichnis /var/www muss alsEigentümer root haben.

Quelle: https://www.howtoforge.com/restricting-users-to-sftp-plus-setting-up-chrooted-ssh-sftp-debian-squeeze

User jail für ftp mit proftpd

…
# Use this to jail all users in their homes
DefaultRoot                     ~
…

Quelle: http://www.ochounos.com/blog/12

Sinnvolle Userkonfiguration

Der User dummy sollte in der Datei /etc/passwd folgendes Home-Verzeichnis gesetzt haben: /var/www/dummy

Wichtigste Änderung auf meinen Rechnern: statt mysql wird mariadb in der neuen Debian Version verwendet. Details dazu unter https://mariadb.com/kb/en/library/moving-from-mysql-to-mariadb-in-debian-9/ Bei Test-Upgrades hat es Probleme mit dem Paket phpmyadmin gegeben. Deshalb deinstalliere ich phpmyadmin vor dem Upgrade:

Deinstallation von phpmyadmin

root@e5:~# apt-get purge phpmyadmin
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  libjs-sphinxdoc libjs-underscore php-gettext
Verwenden Sie »apt-get autoremove«, um sie zu entfernen.
Die folgenden Pakete werden ENTFERNT:
  phpmyadmin*
0 aktualisiert, 0 neu installiert, 1 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 24,5 MB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n]
(Lese Datenbank ... 61604 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von phpmyadmin (4:4.2.12-2+deb8u2) ...
dbconfig-common: dumping mysql database phpmyadmin to /var/tmp/phpmyadmin.phpmyadmin.2017-09-24-09.13.mysql.asWzHs.
dbconfig-common: dropping mysql database phpmyadmin.
dropping database phpmyadmin: success.
verifying database phpmyadmin was dropped: success.
dbconfig-common: revoking privileges for user phpmyadmin on phpmyadmin.
revoking access to database phpmyadmin from phpmyadmin@localhost: success.
Conf phpmyadmin disabled.
apache2_invoke postrm: Disable configuration phpmyadmin
Löschen der Konfigurationsdateien von phpmyadmin (4:4.2.12-2+deb8u2) ...
apache2_invoke postrm: Purging state for phpmyadmin
Trigger für hicolor-icon-theme (0.13-1) werden verarbeitet ...
Trigger für man-db (2.7.0.2-5) werden verarbeitet ...

Debian Upgrade

Jetzt starten wir das eigentliche Upgrade:

root@e5:~# apt-get update
…
root@e5:~# apt-get upgrade
…
root@e5:~# apt-get dist-upgrade
…

Noch etwas Aufräumarbeit:

root@e5:~# apt-get autoremove
…
root@e5:~# apt-get autoclean
…

Da es während des Upgrades von Debian jessie einen neuen Kernel gegeben hat, wird vor dem tatsächlichen Upgrade auf Debian stretch noch ein Reboot durchgeführt:

root@e5:~# reboot

Zum Ändern der Distribution (Upgrade von jessie auf stretch) folgende Änderung in der Datei /etc/apt/sources.list:

deb http://ftp.de.debian.org/debian/ jessiestretch main
deb-src http://ftp.de.debian.org/debian/ jessiestretch main

deb http://security.debian.org/ jessiestretch/updates main
deb-src http://security.debian.org/ jessiestretch/updates main

# stretch-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ jessiestretch-updates main
deb-src http://ftp.de.debian.org/debian/ jessiestretch-updates main
root@e5:~# apt-get update
…
root@e5:~# apt-get upgrade
…
root@e5:~# apt-get dist-upgrade
…

Nacharbeiten

mysqladmin wieder installieren