====== Kopano Upgrade ab 8.4.x aufwärts ======
//**Hinweis:** Die nachfolgende Beschreibung bezieht sich auf die Verwendung der supporteten Kopano "limited" Pakete und nicht auf die Community-Version aus der openSUSE Distribution.//
In Kopano Versionen bis einschließlich 8.4.x verbarg sich ein Fehler der dazu führen konnte dass es in der Datenbank zu Datenverlusten kommen konnte. Beim Upgrade auf Version 8.5.x kann die Kopano Datenbank auf Fehler überprüft und ggf. bereinigt werden.
Folgende Schritte sollten Sie vor jedem der nachfolgend beschriebenen Upgrades vornehmen.
Stoppen Sie den Email-Abruf und die interne Email-Zustellung:
invis:~ # systemctl stop fetchmail.service
invis:~ # systemctl stop postfix.service
Sichern per Kopano Brick-Level-Backup alle Kopano-Stores:
invis:~ # kbackup
Stoppen Sie zunächst alle Kopano-Dienste:
invis:~ # runkopano stop
Sichern Sie jetzt die Kopano Datenbank im Ganzen:
invis:~ # kdbdump
Wir empfehlen keinen der einzelnen Versionssprünge auszulassen. Sollte dies versehentlich geschehen, können Sie sich die erforderlichen Software-Pakete der verpassten Version direkt bei Kopano herunterladen:
**[[https://download.kopano.io/limited/core:/final/tarballs/archives/]]**
Sie benötigen dazu Ihre Kopano-Zugangsdaten. Wie ein solches Upgrade abläuft wird im nächsten Abschnitt beschrieben.
===== Upgrade von 8.4.x auf 8.5.9 =====
Da in den Kopano Limited Repositories für openSUSE Leap 42.3 bereits Kopano Version 8.6.x vorgehalten wird, empfehle ich sich zunächst ein lokales Repository der letzten 8.5er Version anzulegen. Dazu lässt sich ein Tarball-Archiv bei Kopano herunterladen:
[[https://download.kopano.io/limited/core:/final/tarballs/archives/core-8.5.9.5_0%2B2-openSUSE_Leap_42.3-x86_64.tar.gz]]
//**Hinweis:** Für den Download benötigen Sie Ihre Kopano Zugangsdaten.//
Verschieben Sie anschließend die bisherige Repository-Datei des Kopano Limited-Repositories an einen anderen Ort:
invis:~ # mv /etc/zypp/repos.d/Kopano-openSUSE-42.3_limited.repo .
...Sie werden diese Datei später wieder benötigen.
Entpacken Sie jetzt das Archiv "irgendwo" auf Ihrem invis-Server, ein guter Ort ist beispielsweise /srv/shares/service in ein entsprechendes Unterverzeichnis. Starten Sie jetzt YaST und wechseln Sie nach Software -> Software-Repositories. Legen Sie hier über die Funktion "Hinzufügen" ein neues Repository vom Typ "Lokales Verzeichnis" an, welches als Inhalt den zuvor entpackten Ordner hat.
Wechseln Sie jetzt in Yast nach Software -> "Software Installieren oder Löschen" und geben Sie in der Suchleiste "kopano" ein. Suchen Sie sich aus der Paketliste in der rechten Fensterhälfte das Paket "kopano-server-packages" heraus und wählen Sie es mit der Leertaste zur Aktualisierung aus. Nahezu alle anderen Pakete werden dann automatisch zur Aktualisierung ausgewählt. Evtl. fordert YaST Sie auf einem "Anbieterwechsel" zuzustimmen. Tun Sie dies.
Gehen sie jetzt die Liste der Kopano-Pakete durch und wählen Sie noch alle nicht automatisch zur Aktualisierung gewählten Pakete ebenfalls mit der Leertaste zur Aktualisierung aus. Darunter beispielsweise das Paket "kopano-bash-completion".
//**Achtung:** Achten Sie genau darauf, dass Sie nicht versehentlich Pakete auf Versionen aus der openSUSE Leap Distribution (Version 8.3.3) downgraden.//
Sind alle Pakete aktualisiert, beenden Sie YaST.
Jetzt müssen Sie die Kopano Datenbank überprüfen bzw. bereinigen. Beides läuft völlig automatisch ab:
invis:~ # kopano-dbadm k-1216
Je nach Größe der Datenbank kann dieser Vorgang eine ganze Weile dauern.
Beim Wechsel von Version 8.4.x nach 8.5.x wurden in den Konfigurationsdateien ein paar Änderungen vorgenommen. Sie können diese Änderungen manuell nachvollziehen. Aktualisieren Sie über YaST das Paket invisAD-setup-13 auf Version 13.2.
Jetzt finden unter /usr/share/sine/templates/groupware/kopano einen Satz aktuelle Vorlagen der neuen Dateien. Daran ist nur wenig anzupassen. Benötigt werden Die Dateien:
* gateway.cfg
* ical.cfg
* monitor.cfg
* presence.cfg
* search.cfg
* server.cfg
* spooler.cfg
Anpassungen müssen lediglich in den Dateien "server.cfg" und "presence.cfg" vorgenommen werden. Aus den bisher aktiven Dateien in /etc/kopano müssen Sie aus der Datei "server.cfg" das MySQL-Passwort für den Zugriff auf die Kopano-Datenbank (Zeile: ca. 132), den "cache_cell_size" (Zeile ca. 275) und ggf. die Adresse des Postmasters (system_email_address) (Zeile: ca. 52) übernehmen.
Aus der Datei "presence.cfg" ist der "server_secret_key" (Zeile: ca. 32) in die neue Datei zu übernehmen.
Wenn Sie möchten können Sie in den Dateien die Sicherheit der Verschlüsselung ein wenig hochschrauben. Suchen Sie jeweils nach der Konfigurationsoption "server_ssl_protocols" und fügen Sie am Ende der Zeile folgendes an:
!TLSv1
Hier wäre eigentlich auch bereits TLS Version 1.1 aus Sicherheitsgründen auszuklammern. Wenn Sie dies tun, sollten Sie aber testen, ob all Ihre Clients speziell ältere Outlook Versionen damit klar kommen.
Starten Sie jetzt nur den Kopano-Server-Dienst und kontrollieren Sie dessen Logfile dabei auf Fehler:
invis:~ # systemctl start kopano-server.service && tail -f /var/log/kopano/server.log
Treten dabei keine Auffälligkeiten auf (ist bisher noch nie schief gegangen) können Sie alle Kopano-Dienste wieder und den Apache Webserver neu starten und sich in der Webapp anschauen, ob alles wie gewohnt funktioniert.
invis:~ # systemctl restart apache2.service
invis:~ # runkopano start
===== Upgrade von 8.5.9 auf 8.6.x =====
Beim Upgrade auf Version 8.6.x ist zu beachten, dass Kopano die eigenen Repositories geändert hat. Ab sofort nutzt Kopano bevorzugt PHP7, der invis-Server in Version 13.x kann jedoch nicht einfach so von PHP5 zu PHP7 wechseln.
Inzwischen hat Kopano allerdings auch ein PHP5 basiertes Repository veröffentlicht, schließlich wird PHP5 seitens openSUSE in Version 42.3 noch offiziell gepflegt.
Im letzten Upgrade-Schritt wurde die ursprüngliche Repository-Datei gesichert. Diese muss jetzt so angepasst werden, dass Sie auf das PHP5-Repository zeigt. Fügen Sie wie nachfolgend gezeigt in der Zeile "baseurl" den Zusatz "_PHP5" am Ende der Zeile hinzu:
[Kopano-openSUSE-42.3_limited]
name=Kopano-openSUSE-42.3_limited
enabled=1
autorefresh=1
baseurl=https://download.kopano.io/limited/core:/final/openSUSE_Leap_42.3_PHP5
path=/
type=rpm-md
keeppackages=0
Kopieren Sie die Datei jetzt wieder zurück nach: /etc/zypp/repos.d ... und aktualisieren Sie den Repository-Cache:
invis:~ # zypper ref
Starten Sie jetzt YaST und aktualisieren Sie alle Kopano-Pakete wie im vorigen Abschnitt beschrieben auf Version 8.6.x.
Das im vorigen Abschnitt angelegte lokale Repository können Sie jetzt wieder löschen.
Bei diesem Upgrade Schritt sind keine Konfigurationsanpassungen erforderlich.
Starten Sie ggf. den Apache Webserver neu:
invis:~ # systemctl restart apache2.service
===== Upgrade von 8.6.x auf 8.7.x =====
//**Achtung: Aktualisieren Sie bitte noch nicht auf Kopano Verion 8.7.0. Sie scheint noch fehlerhaft zu sein.//
Aktualisieren Sie nach dem Stoppen der Kopano-Dienste via YaST alle Kopano-Pakete. Suchen Sie mit YaST einfach nach "kopano" und wählen Sie die Pakete "kopano-server-packages" und "kopano-bash-completion" aus. Es ergeben sich dabei ein paar Paket-Konflikte. Zur Auflösung der Konflikte wählen Sie immer die vorgeschlagene Lösung 1, Deinstallation eines veralteten Pakets.
Ist die Installation der Pakete abgeschlossen, müssen Anpassungen an der Kopano Datenbank vorgenommen werden. Führen Sie dazu folgenden Befehl aus:
invis:~ # kopano-dbadm usmp
Auch in der LDAP-Konfiguration müssen ein paar kleine Anpassungen vorgenommen werden. Öffnen Sie dazu die Datei: /etc/kopano/ldap.cfg und führen Sie folgenden Anpassungen durch. Kommentieren Sie am Anfang der Datei die Direktiven ''ldap_host'', ''ldap_port'' und ''ldap_protokoll'' aus:
...
# LDAP host name/IP address
# Optional, default = localhost
#ldap_host = localhost
# LDAP port
# Optional, default = 389
# Use 636 for ldaps
#ldap_port = 636
# LDAP protocol
# Optional, default = ldap
# use 'ldaps' for SSL encryption. Make sure /etc/ldap/ldap.conf is
# configured correctly with TLS_CACERT
#ldap_protocol = ldaps
...
Diese Direktiven werden durch Setzen der Direktive ''ldap_uri'' ersetzt:
...
# LDAP URI
# Optional, override ldap_host, ldap_port and ldap_protocol if set
# e.g. ldaps://servername:port. You may also specify multiple space-separated
# URI's
ldap_uri = ldaps://invis.invis-net.loc
...
Selbstverständlich müssen Sie den Hostnamen Ihres Servers in den URI einfügen.
Mit Version 8.7.0 wandern die "userscripts", eine Sammlung von Scripts die beim Anlegen eines Benutzer dessen Store in der Kopano-Datenbank erstellen, aus "/etc/kopano/userscripts" nach "/usr/lib/kopano/userscripts". Dies muss in der Server-Konfiguration angepasst werden. Öffnen sie dazu die Datei: /etc/kopano/server.cfg und passen Sie die Pfade etwa ab Zeile 344 wie nachfolgend gezeigt ab:
...
# scripts which create stores for users from an external source
# used for ldap and unix plugins only
createuser_script = /usr/lib/kopano/userscripts/createuser
deleteuser_script = /usr/lib/kopano/userscripts/deleteuser
creategroup_script = /usr/lib/kopano/userscripts/creategroup
deletegroup_script = /usr/lib/kopano/userscripts/deletegroup
createcompany_script = /usr/lib/kopano/userscripts/createcompany
deletecompany_script = /usr/lib/kopano/userscripts/deletecompany
...
In den Konfigurationen von der Kopano-Dienste "ical" und "gateway" wurden mit Einführungen von Version 8.7.0 Änderungen vorgenommen, mit denen unsere Vorlagen-Dateien inkompatibel sind. Die Änderungen sind beim Upgrade manuell vorzunehmen. In beiden Fällen sind die Änderungen gleichartig. Beginnen wir mit Kopano-Gateway. Kommentieren Sie in Datei /etc/kopano/gateway.cfg folgende Zeilen aus oder entfernen Sie sie:
...
# enable/disable POP3, and POP3 listen port
pop3_enable = no
pop3_port = 110
# enable/disable Secure POP3, and Secure POP3 listen port
pop3s_enable = no
pop3s_port = 995
# enable/disable IMAP, and IMAP listen port
imap_enable = yes
imap_port = 143
# enable/disable Secure IMAP, and Secure IMAP listen port
imaps_enable = yes
imaps_port = 993
...
Ersetzen Sie sie durch folgende Zeilen:
...
# Space-separated list of address:port specifiers for where the server should
# listen for connections.
#
# "*:143" — port 143, all protocols
# "[::]:143" — port 143 on IPv6 only
# "[2001:db8::1]:143" — port 143 on specific address only
#
# imaps is normally on 993, pop3s on 995.
#
pop3_listen =
pop3s_listen =
imap_listen = *:143
imaps_listen = *:993
...
Nahezu identisch gehen Sie in Datei /etc/kopano/ical.cfg vor. Entfernen Sie folgende Zeilen:
...
# whether normal connections can be made to the ical server
ical_enable = no
# port which the ical server listens on for normal connections
ical_port = 8080
# whether ssl connections can be made to the ical server
icals_enable = yes
# port which the ical server listens on for ssl connections
icals_port = 8443
...
und ersetzen Sie sie durch folgende:
...
# Space-separated list of address:port specifiers for where the server should
# listen for connections.
#
# "*:8080" — port 8080, all protocols
# "[::]:8080" — port 8080 on IPv6 only
# "[2001:db8::1]:8080" — port 8080 on specific address only
#
# ical has often been placed on 8080 and icals on 8443.
#
ical_listen =
icals_listen = *:8443
...
Starten Sie jetzt alle Kopano-Dienste und kontrollieren Sie das Logfile des Servers auf Fehler.
invis:~ # runkopano start
invis:~ # less /var/log/kopano/server.log