Go to file
2024-09-21 02:48:27 +02:00
conf Add upgrade script 'upgrade-mattermost.sh'. 2020-12-30 02:01:16 +01:00
examples/nginx Fist version 'install-mattermost.sh' completed. 2020-05-11 11:42:30 +02:00
.gitignore README.install: update mysql8 version. 2024-04-26 14:16:51 +02:00
install-mattermost.sh Fix certificate error creating vhost configuration. 2020-05-23 16:36:04 +02:00
README.delete-user README.delete-user: Log in to an instance and store credentials bevor you are able to list/delete/.. user. 2023-12-02 01:18:08 +01:00
README.Extended-Support-Releas Add file 'README.Extended-Support-Releas'. 2022-03-30 01:12:14 +02:00
README.install README.install: update mysql8 version. 2024-04-26 14:16:51 +02:00
README.License-Key Add file 'README.License-Key'. 2022-03-30 01:17:41 +02:00
README.mmctl Some documentations (README files). 2023-06-14 01:29:29 +02:00
README.postgresql Add file 'README.postgresql' - create PostgreSQL Database for MM usage. 2024-09-21 02:48:27 +02:00
README.upgrade README.upgrade: adjust URLs 2024-06-12 00:36:57 +02:00
upgrade-mattermost.sh upgrade-mattermost.sh: parameterize database name when writing backup sql file. 2023-11-05 23:07:58 +01:00

# ------------------------------------
# Aktualisieren des Mattermost-Servers
# ------------------------------------

# How do I install the Extended Support Release (ESR)?
#
# see: https://docs.mattermost.com/upgrade/extended-support-release.html

#
# see: 
#    # Deploy Mattermost
#    - https://docs.mattermost.com/guides/deployment.html
#
#    # Extended Support Release
#    - https://docs.mattermost.com/upgrade/extended-support-release.html
#
#    # Mattermost Releases - Archive
#    - https://mattermost.com/blog/category/platform/releases/
#
#    # Version Archive
#    - https://docs.mattermost.com/upgrade/version-archive.html
#
#    # Mattermost changelog
#    - https://docs.mattermost.com/deploy/mattermost-changelog.html
#
#    # Upgrade Mattermost Server
#    - https://docs.mattermost.com/administration/upgrade.html
# 
#    # Upgrade Mattermost Server
#    - https://docs.mattermost.com/upgrade/upgrading-mattermost-server.html#id2
#
#    # Upgrade Team Edition to Enterprise Edition
#    - https://docs.mattermost.com/upgrade/upgrading-mattermost-server.html#upgrade-team-edition-to-enterprise-edition


# In den meisten Fällen können Sie Mattermost Server in wenigen Minuten aktualisieren. 
# Das Upgrade kann jedoch in Abhängigkeit von verschiedenen Faktoren, einschließlich 
# der Größe und Komplexität Ihrer Installation und der Version, von der Sie ein Upgrade 
# durchführen, länger dauern.

# ===============================
# Upgrade auf die neueste Version
# ===============================

# ---
# Notice:
# Wenn Sie ein Upgrade von Version 3.0 oder höher durchführen, gelten diese Anweisungen für 
# Sie. Wenn Sie ein Upgrade von einer früheren Version als 3.0.0 durchführen, müssen Sie 
# zuerst ein Upgrade auf Version 3.0.3 durchführen.
# ---

# Bevor Sie beginnen
#
# Lesen Sie diese Anweisungen von Anfang bis Ende sorgfältig durch. Stellen Sie sicher, dass 
# Sie jeden Schritt verstanden haben, bevor Sie mit dem Upgrade beginnen. Wenn Sie Fragen 
# oder Bedenken haben, können Sie diese im Mattermost-Forum unter https://forum.mattermost.org/ 
# stellen.

# ---
# Wichtig
#
# Lesen Sie die wichtigen Upgrade-Hinweise, um sicherzustellen, dass Sie über alle Maßnahmen 
# informiert sind, die Sie vor oder nach dem Upgrade von Ihrer bestimmten Version ausführen 
# müssen.
# ---

# ---
# Wichtig
#
# Wenn Sie ein Upgrade von einer Version vor Version 5.0 durchführen, müssen Sie auch Ihre 
# Servicedatei so ändern, dass sie mit den mit 5.0 eingeführten binären Änderungen funktioniert. 
# Ihr Ausführungsverzeichnis sollte auf das Basisverzeichnis Mattermost (d. H. /opt/mattermost) 
# und Ihre Binärdatei auf die Binärdatei matteratter (d. H. /opt/mattermost/bin/mattermost) 
# verweisen.
# ---

# Sie sollten die folgenden Informationen sammeln, bevor Sie mit dem Upgrade beginnen:
#
# Vorhandenes Installationsverzeichnis - {Installationspfad}
#
#     Wenn Sie nicht wissen, wo Mattermost Server installiert ist, verwenden Sie den Befehl 
#     whereis mattermost. Die Ausgabe sollte /opt/mattermost/bin/mattermost ähnlich sein. 
#     Das Installationsverzeichnis ist alles vor dem ersten Auftreten der Zeichenfolge /mattermost. 
#     In diesem Beispiel lautet der {Installationspfad} /opt. Wenn dieser Befehl keine Ergebnisse 
#     liefert, weil Ihre Version älter ist, versuchen Sie stattdessen whereis platform.
#
# Speicherort Ihres lokalen Speicherverzeichnisses
#
#     Das lokale Speicherverzeichnis enthält alle Dateien, die Benutzer an ihre Nachrichten angehängt 
#     haben. Wenn Sie den Speicherort nicht kennen, öffnen Sie die Systemkonsole und gehen Sie zu 
#     Dateien> Speicher in früheren Versionen oder Umgebung> Dateispeicher in Versionen nach 5.12 und 
#     lesen Sie den Wert im lokalen Speicherverzeichnis. Relative Pfade sind relativ zum mattermost 
#     Verzeichnis. Wenn das lokale Speicherverzeichnis beispielsweise ./data/ lautet, lautet der 
#     absolute Pfad {Installationspfad}/mattermost/data.


# ===========================================
# {Installationspfad} /opt
# local storage directory: /opt/mattermost/data
# ===========================================

MM_NEW_VERSION=9.5.6
MM_BASE_INSTALL_PATH=/opt
MM_DATA_DIR=/opt/mattermost/data

MM_USER=mattermost
MM_GROUP=mattermost

MM_DB_NAME=mattermost
MM_DB_USER=mattermost
MM_DB_PASSWD="C5jzznfvn%%WV6J7-4rgT"

MM_TMP_DIR=/tmp

# So aktualisieren Sie Mattermost Server:

# ---
# Hinweis
#
# Wenn Sie ein HA-Cluster aktualisieren, lesen Sie stattdessen diese Aktualisierungshinweise:
#    https://docs.mattermost.com/deployment/cluster.html#upgrade-guide
# ---

# 1.) Lesen Sie die wichtigen Upgrade-Hinweise, um sicherzustellen, dass Sie über alle 
#     Maßnahmen informiert sind, die Sie vor oder nach dem Upgrade von Ihrer bestimmten 
#     Version ausführen müssen.



# 2.) Wechseln Sie in einem Terminalfenster auf dem Server, auf dem sich Mattermost Server 
#     befindet, in Ihr Ausgangsverzeichnis. Löschen Sie gegebenenfalls Dateien und 
#     Verzeichnisse, die möglicherweise noch von einem vorherigen Download vorhanden sind.
#
#        cd / tmp
#
#
# 3.) Laden Sie die neueste Version von Mattermost Server herunter. Ersetzen Sie im folgenden 
#     Befehl X.X.X durch die Version, die Sie herunterladen möchten:
#
#        wget https://releases.mattermost.com/X.X.X/mattermost-X.X.X-linux-amd64.tar.gz
#
#     Team Edition
#
#        wget https://releases.mattermost.com/X.X.X/mattermost-team-X.X.X-linux-amd64.tar.gz
#
#
wget -P /tmp https://releases.mattermost.com/${MM_NEW_VERSION}/mattermost-${MM_NEW_VERSION}-linux-amd64.tar.gz
#wget -P /tmp https://releases.mattermost.com/${MM_NEW_VERSION}/mattermost-team-${MM_NEW_VERSION}-linux-amd64.tar.gz



# 4.) Extrahieren Sie die Mattermost Server-Dateien.
#
#         tar -xf mattermost*.gz --transform='s,^[^/]\+,\0-upgrade,'
#
#     Die Transformationsoption fügt dem obersten extrahierten Verzeichnis ein Suffix hinzu, 
#     damit es nicht mit dem üblichen Installationsverzeichnis in Konflikt steht.
#
tar  -xf ${MM_TMP_DIR}/mattermost-${MM_NEW_VERSION}-linux-amd64.tar.gz \
   -C ${MM_TMP_DIR} --transform='s,^[^/]\+,\0-upgrade,'



# 5.) Stoppen Sie den Mattermost Server.
#
#     Unter Ubuntu 14.04 und RHEL 6:
#
#        sudo service mattermost stop
#
#     Unter Ubuntu 16.04 und RHEL 7:
#
#        sudo systemctl stop mattermost
systemctl stop mattermost



# 6.) Sichern Sie Ihre Daten und Ihre Anwendung.
#
#     - Sichern Sie Ihre Datenbank mit den Standardverfahren Ihres Unternehmens zum Sichern 
#       von MySQL oder PostgreSQL.
#
#     - Sichern Sie Ihre Anwendung, indem Sie sie in einen Archivordner kopieren 
#       (z. B. mattermost-JJJJ-MM-TT-HH-mm).
#
#          cd {Installationspfad}
#          sudo cp -ra mattermost / mattermost-back - $ (Datum + '% F-% H-% M') /
#
mysqldump --login-path=local --opt $MM_DB_NAME > ${MM_BASE_INSTALL_PATH}/mattermost-$(date +'%F-%H-%M').sql
#mysqldump -u $MM_DB_USER -p$MM_DB_PASSWD --opt $MM_DB_NAME > ${MM_BASE_INSTALL_PATH}/mattermost-$(date +'%F-%H-%M').sql

cp -ra ${MM_BASE_INSTALL_PATH}/mattermost/ ${MM_BASE_INSTALL_PATH}/mattermost-back-$(date +'%F-%H-%M')/


# 7.) Entfernen Sie alle Dateien mit Ausnahme spezieller Verzeichnisse aus dem aktuellen Verzeichnis.
#
# Die speziellen Verzeichnisse innerhalb von mattermost sind config, logs, plugins, client / plugins 
# und data (es sei denn, Sie haben einen anderen Wert für den lokalen Speicher konfiguriert, als zuvor 
# beschrieben). Der folgende Befehl löscht den Inhalt von mattermost und behält nur diese Verzeichnisse 
# und deren Inhalt bei. Sie sollten zuerst den letzten Teil in xargs echo rm -r ändern, um zu überprüfen, 
# was ausgeführt wird.
#
#   sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort | sudo xargs rm -r
#

find ${MM_BASE_INSTALL_PATH}/mattermost/ ${MM_BASE_INSTALL_PATH}/mattermost/client/ -mindepth 1 -maxdepth 1 \
   \! \( -type d \( -path ${MM_BASE_INSTALL_PATH}/mattermost/client \
   -o -path ${MM_BASE_INSTALL_PATH}/mattermost/client/plugins \
   -o -path ${MM_BASE_INSTALL_PATH}/mattermost/config \
   -o -path ${MM_BASE_INSTALL_PATH}/mattermost/logs \
   -o -path ${MM_BASE_INSTALL_PATH}/mattermost/plugins \
   -o -path ${MM_BASE_INSTALL_PATH}/mattermost/data \) -prune \) | sort | sudo xargs rm -r



# 8.) Ändern Sie den Besitz der neuen Dateien, bevor Sie sie kopieren.
#
#        sudo chown -hR mattermost:mattermost /tmp/mattermost-upgrade/
#
chown -hR ${MM_USER}:${MM_GROUP} /tmp/mattermost-upgrade/


# ---
# Hinweis
#
# Wenn Sie mattermost nicht als Eigentümer und Gruppe des Installationsverzeichnisses verwendet 
# haben, führen Sie
#    sudo chown -hR {owner}:{group} tmp/mattermost-upgrade/.
# aus.
#
# Wenn Sie sich nicht sicher sind, welcher Eigentümer oder welche Gruppe definiert wurde, 
# verwenden Sie den Befehl
#    ls -l {install-path}/mattermost/bin/mattermost
# um sie zu erhalten.
# ---



# 9.) ALT - entfällt (s.u.)



# 10.) Kopieren Sie die neuen Dateien in Ihr Installationsverzeichnis und entfernen Sie die temporären Dateien.
#
#      Beachten Sie, dass das n-Flag (kein Clobber) und der abschliessende Punkt '.'  an der Quelle sind sehr wichtig.
#
#         sudo cp -an /tmp/mattermost-upgrade/. mattermost/
#         sudo rm -r /tmp/mattermost-upgrade/
#
cp -an ${MM_TMP_DIR}/mattermost-upgrade/. ${MM_BASE_INSTALL_PATH}/mattermost/
rm -r ${MM_TMP_DIR}/mattermost-upgrade/



# 11.) ALT - entfällt (s.u.)



# 12.) Wenn Sie Port 80 verwenden möchten, um Ihren Server zu bedienen, oder wenn Sie TLS auf 
#      Ihrem Mattermost-Server eingerichtet haben, müssen Sie die CAP_NET_BIND_SERVICE-Funktion 
#      aktivieren, damit die neue Mattermost-Binärdatei an niedrige Ports gebunden werden kann.
#
#         cd {Installationspfad}/mattermost
#         sudo setcap cap_net_bind_service=+ep ./bin/mattermost
#
setcap cap_net_bind_service=+ep ${MM_BASE_INSTALL_PATH}/mattermost/bin/mattermost



# 13.) Starten Sie den Mattermost-Server.
#
systemctl start mattermost



# 14.) Wenn Sie eine Hochverfügbarkeitsbereitstellung verwenden, müssen Sie die obigen 
#      Schritte auf alle Knoten in Ihrem Cluster anwenden. Nach Abschluss sollten die 
#      MD5-Spalten für Konfigurationsdateien im Abschnitt Hochverfügbarkeit der 
#      Systemkonsole grün sein. Wenn sie gelb sind, stellen Sie bitte sicher, dass alle 
#      Knoten dieselbe Serverversion und dieselbe Konfiguration haben.
#
#      Wenn sie immer noch gelb angezeigt werden, müssen Sie eine Konfigurationsweitergabe 
#      (config propagation) im gesamten Cluster auslösen:
#
#         - Öffnen Sie die Systemkonsole, ändern Sie eine Einstellung und setzen Sie sie zurück. 
#           Dadurch wird die Schaltfläche Speichern für diese Seite aktiviert.
#         - Klicken Sie auf Speichern.
#
#      Dadurch wird keine Konfiguration geändert, sondern die vorhandene Konfiguration wird an 
#      alle Knoten im Cluster gesendet.


# ---
# Nach dem Upgrade des Servers müssen Benutzer möglicherweise ihre Browser aktualisieren, um 
# neue Funktionen nutzen zu können.
# ---


# --------------------------------------------------------------------------------


# ==========================================================================================
# 9. Benennen Sie die Plugins-Verzeichnisse um, damit sie das Upgrade nicht beeinträchtigen.
# ==========================================================================================
#
#   sudo mv mattermost/plugins/ mattermost/plugins~
#   sudo mv mattermost/client/plugins/ mattermost/client/plugins~
#
mv ${MM_BASE_INSTALL_PATH}/mattermost/plugins/ ${MM_BASE_INSTALL_PATH}/mattermost/plugins~
mv ${MM_BASE_INSTALL_PATH}/mattermost/client/plugins/ ${MM_BASE_INSTALL_PATH}/mattermost/client/plugins~


# ================================================================================================
# 11.) Stellen Sie die Plugins-Verzeichnisse wieder her und starten Sie den mattermost Dienst neu.
# ================================================================================================

#   cd {install-path}/mattermost
#    sudo rsync -au plugins~/ plugins
#    sudo rm -rf plugins~
#    sudo rsync -au client/plugins~/ client/plugins
#    sudo rm -rf client/plugins~
#
# Nach dem Upgrade des Servers müssen Benutzer möglicherweise ihre Browser aktualisieren, um neue 
# Funktionen nutzen zu können.

# =========================================
# Aktualisieren Sie Ihr config.json-Schema:
# =========================================

#   - Öffnen Sie die Systemkonsole, ändern Sie eine Einstellung und setzen Sie sie zurück. 
#     Dies sollte die Schaltfläche Speichern für diese Seite aktivieren.
#
#   - Klicken Sie auf Speichern.
#
#   - Lade die Seite neu.
#
# Ihre aktuellen Einstellungen bleiben erhalten und neue Einstellungen werden mit Standardwerten 
# hinzugefügt.


# ===================================================
# Upgrade der Team Edition auf die Enterprise Edition
# ===================================================

# Befolgen Sie zum Aktualisieren von der Team Edition auf die Enterprise Edition die oben 
# genannten normalen Upgrade-Anweisungen. Stellen Sie jedoch sicher, dass Sie die 
# Enterprise Edition in Schritt 3 herunterladen.


# ===================================================
# Lizenzschlüssel hochladen
# ===================================================

# Öffnen Sie nach der Ausführung der Enterprise Edition die Systemkonsole und gehen Sie 
# zu OTHER> Edition und Lizenz> Lizenzschlüssel in früheren Versionen oder 
# Systemkonsole> Info> Editionen und Lizenz in Versionen nach 5.12 und laden Sie Ihre 
# Lizenzschlüsseldatei hoch.