Projekte/Forum/Upgrade: Unterschied zwischen den Versionen
(Dokumentation zum Upgradeverlauf angelegt (MarkDown 1:1 aus Forum ins Wiki kopiert)) |
(Anpassungen für bessere Lesbarkeit im MediaWiki) |
||
Zeile 1: | Zeile 1: | ||
== FunkFeuer Forum - Discourse Upgrade == | |||
1. Unter https://forum.funkfeuer.at/admin/backups ein Discourse-Daten-Backup erstellen und runterladen. | 1. Unter https://forum.funkfeuer.at/admin/backups ein Discourse-Daten-Backup erstellen und runterladen. | ||
2. Mit einem Administrator/Moderator (jeder sollte SSH Zugang haben) abklären ob es ein aktuelles Systembackup mit State "Success" gibt: | (Download bricht im aktuellen Firefox Browser manchmal ab, da einfach auf einen anderen Browser ausweichen.) | ||
(falls der letzte Job nicht im State "Success" ist, bitte @vchrizz dazu kontaktieren, die Backups werden derzeit per SMB offsite auf seinen Server am Node "mh" abgelegt) | |||
2. Mit einem Administrator/Moderator (jeder sollte eigentlich SSH Zugang haben) abklären ob es ein aktuelles Systembackup mit State "Success" gibt: <code>sudo veeam</code> | |||
(falls der letzte Job nicht im State "Success" ist, bitte @vchrizz dazu kontaktieren, die Backups werden derzeit noch per SMB offsite auf seinen Server am Node "mh" abgelegt, solange keine entsprechende Möglichkeit auf FunkFeuer Infrastruktur ermöglicht wird.) | |||
Latest backup sessions: | Latest backup sessions: | ||
Job name State Started at Finished at | Job name State Started at Finished at | ||
FunkfeuerForum Success 2018-04-18 06:00:02 2018-04-18 06:01:50 | FunkfeuerForum Success 2018-04-18 06:00:02 2018-04-18 06:01:50 | ||
FunkfeuerForum Success 2018-04-17 06:00:01 2018-04-17 06:14:05 | FunkfeuerForum Success 2018-04-17 06:00:01 2018-04-17 06:14:05 | ||
3. Ein System-Upgrade durchführen: | 3. Ein System-Upgrade durchführen: | ||
sudo apt update | |||
apt list --upgradable | |||
(ggf. bei kernel-upgrade danach die VM neu starten: | sudo apt upgrade | ||
(ggf. bei kernel-upgrade danach die VM neu starten: <code>sudo reboot</code>) | |||
4. https://forum.funkfeuer.at/admin/upgrade aufrufen und upgrade durchklicken. | 4. https://forum.funkfeuer.at/admin/upgrade aufrufen und upgrade durchklicken. | ||
4.1. Falls das Forum nicht geladen wird, kann das Problem am Theme liegen. Versuche den [Safe-Mode](https://forum.funkfeuer.at/safe-mode). | 4.1. Falls das Forum nicht geladen wird, kann das Problem am Theme liegen. Versuche den [Safe-Mode](https://forum.funkfeuer.at/safe-mode). | ||
4.2. Mittels Safe-Mode dann in der [Administration / Anpassen](https://forum.funkfeuer.at/admin/customize/themes/2) beim Default-Theme die beiden Theme-Komponenten Slick und Tiles entfernen. | 4.2. Mittels Safe-Mode dann in der [Administration / Anpassen](https://forum.funkfeuer.at/admin/customize/themes/2) beim Default-Theme die beiden Theme-Komponenten Slick und Tiles entfernen. | ||
4.3. Es könnte auch sein, dass eine Meldung kommt, dass das Upgrade per CLI gemacht werden muss: | 4.3. Es könnte auch sein, dass eine Meldung kommt, dass das Upgrade per CLI gemacht werden muss: | ||
sudo su | |||
cd /var/discourse | |||
git pull | |||
./launcher rebuild app | |||
5. Versuche am Forum mit LDAP einzuloggen, falls das fehlschlägt, obwohl Login-Details sicher korrekt eingegeben wurden, müssen folgende zwei Anpassungen angewendet werden:<br> | 5. Versuche am Forum mit LDAP einzuloggen, falls das fehlschlägt, obwohl Login-Details sicher korrekt eingegeben wurden, müssen folgende zwei Anpassungen angewendet werden:<br> | ||
5.1. LDAP fix 1 einspielen, damit das Plugin den OpenLDAP von Funkfeuer versteht: | 5.1. LDAP fix 1 einspielen, damit das Plugin den OpenLDAP von Funkfeuer versteht: | ||
https://github.com/vchrizz/omniauth-ldap/commit/346d5c27e1dacb0fa6aeedf1f65e29bd9f1bb524 | https://github.com/vchrizz/omniauth-ldap/commit/346d5c27e1dacb0fa6aeedf1f65e29bd9f1bb524 | ||
Dazu per ssh einloggen, und mittels | |||
Dazu per ssh einloggen, und mittels folgenden Befehlen in die Discourse Docker Instanz wechseln: | |||
sudo su | |||
cd /var/discourse | |||
./launcher enter app | |||
Dort den oben verlinkten Git-Commit die zwei grün markierten Zeilen in diese Datei einpflegen: | Dort den oben verlinkten Git-Commit die zwei grün markierten Zeilen in diese Datei einpflegen: | ||
/var/www/discourse/plugins/discourse-ldap-auth/gems/2.6.5/gems/omniauth-ldap-1.0.5/lib/omniauth/strategies/ldap.rb | |||
5.2. LDAP fix 2 einspielen, damit über LDAP authentifizierte User automatisch der Gruppe zugeordnet werden, die auf Funkfeuer-intern und Sub-Kategorien zugreifen kann: | 5.2. LDAP fix 2 einspielen, damit über LDAP authentifizierte User automatisch der Gruppe zugeordnet werden, die auf Funkfeuer-intern und Sub-Kategorien zugreifen kann: | ||
https://github.com/kaefert/discourse-ldap-auth/commit/b112b83640e7769daeb25043c9d12db8b011b29b | https://github.com/kaefert/discourse-ldap-auth/commit/b112b83640e7769daeb25043c9d12db8b011b29b | ||
Auf dem selben weg wie 5.1. diesmal in die Datei einfplegen: | Auf dem selben weg wie 5.1. diesmal in die Datei einfplegen: | ||
/var/www/discourse/plugins/discourse-ldap-auth/plugin.rb | |||
5.3. LDAP Anpassungen aktiv bringen durch Restart von Discourse: | 5.3. LDAP Anpassungen aktiv bringen durch Restart von Discourse: | ||
(evtl. mit <code>logout</code> zuerst aus dem container wieder ausloggen) | |||
docker restart app | |||
6. Prüfen ob beide (Discourse und mailserver) Docker Container wieder laufen: | |||
docker ps | |||
sollte in etwa so aussehen: | sollte in etwa so aussehen: | ||
(sonst im Zweifelsfall die VM neu starten, dauert nur wenige Minuten, die Container starten dann beide) | (sonst im Zweifelsfall die VM neu starten, dauert nur wenige Minuten, die Container starten dann beide) | ||
<pre> | |||
vchrizz@forum:~$ docker ps | vchrizz@forum:~$ docker ps | ||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | ||
72670824e10a local_discourse/app "/sbin/boot" 3 weeks ago Up 8 minutes app | 72670824e10a local_discourse/app "/sbin/boot" 3 weeks ago Up 8 minutes app | ||
5b64315e0a1e tvial/docker-mailserver:latest "/bin/sh -c 'supervi…" 6 weeks ago Up 8 minutes 0.0.0.0:25->25/tcp, 110/tcp, 0.0.0.0:143->143/tcp, 0.0.0.0:587->587/tcp, 0.0.0.0:993->993/tcp, 465/tcp, 0.0.0.0:995->995/tcp, 4190/tcp mail | 5b64315e0a1e tvial/docker-mailserver:latest "/bin/sh -c 'supervi…" 6 weeks ago Up 8 minutes 0.0.0.0:25->25/tcp, 110/tcp, 0.0.0.0:143->143/tcp, 0.0.0.0:587->587/tcp, 0.0.0.0:993->993/tcp, 465/tcp, 0.0.0.0:995->995/tcp, 4190/tcp mail | ||
</pre> | |||
Sollte es dennoch Probleme mit SSL geben: https://meta.discourse.org/t/setting-up-https-support-with-lets-encrypt/40709 | Sollte es dennoch Probleme mit SSL geben: https://meta.discourse.org/t/setting-up-https-support-with-lets-encrypt/40709 | ||
#### Manually reissue the cert | #### Manually reissue the cert | ||
./launcher enter app | |||
./launcher enter app | sv stop nginx | ||
sv stop nginx | /usr/sbin/nginx -c /etc/nginx/letsencrypt.conf | ||
/usr/sbin/nginx -c /etc/nginx/letsencrypt.conf | LE_WORKING_DIR=/shared/letsencrypt DEBUG=1 /shared/letsencrypt/acme.sh --issue -d example.com -k 4096 -w /var/www/discourse/public | ||
LE_WORKING_DIR=/shared/letsencrypt DEBUG=1 /shared/letsencrypt/acme.sh --issue -d example.com -k 4096 -w /var/www/discourse/public | LE_WORKING_DIR=/shared/letsencrypt /shared/letsencrypt/acme.sh --installcert -d example.com --fullchainpath /shared/ssl/example.com.cer --keypath /shared/ssl/example.com.key --reloadcmd "sv reload nginx" | ||
LE_WORKING_DIR=/shared/letsencrypt /shared/letsencrypt/acme.sh --installcert -d example.com --fullchainpath /shared/ssl/example.com.cer --keypath /shared/ssl/example.com.key --reloadcmd "sv reload nginx" | /usr/sbin/nginx -c /etc/nginx/letsencrypt.conf -s stop | ||
/usr/sbin/nginx -c /etc/nginx/letsencrypt.conf -s stop | |||
Version vom 17. Mai 2020, 01:18 Uhr
FunkFeuer Forum - Discourse Upgrade
1. Unter https://forum.funkfeuer.at/admin/backups ein Discourse-Daten-Backup erstellen und runterladen.
(Download bricht im aktuellen Firefox Browser manchmal ab, da einfach auf einen anderen Browser ausweichen.)
2. Mit einem Administrator/Moderator (jeder sollte eigentlich SSH Zugang haben) abklären ob es ein aktuelles Systembackup mit State "Success" gibt: sudo veeam
(falls der letzte Job nicht im State "Success" ist, bitte @vchrizz dazu kontaktieren, die Backups werden derzeit noch per SMB offsite auf seinen Server am Node "mh" abgelegt, solange keine entsprechende Möglichkeit auf FunkFeuer Infrastruktur ermöglicht wird.)
Latest backup sessions: Job name State Started at Finished at FunkfeuerForum Success 2018-04-18 06:00:02 2018-04-18 06:01:50 FunkfeuerForum Success 2018-04-17 06:00:01 2018-04-17 06:14:05
3. Ein System-Upgrade durchführen:
sudo apt update apt list --upgradable sudo apt upgrade
(ggf. bei kernel-upgrade danach die VM neu starten: sudo reboot
)
4. https://forum.funkfeuer.at/admin/upgrade aufrufen und upgrade durchklicken.
4.1. Falls das Forum nicht geladen wird, kann das Problem am Theme liegen. Versuche den [Safe-Mode](https://forum.funkfeuer.at/safe-mode).
4.2. Mittels Safe-Mode dann in der [Administration / Anpassen](https://forum.funkfeuer.at/admin/customize/themes/2) beim Default-Theme die beiden Theme-Komponenten Slick und Tiles entfernen.
4.3. Es könnte auch sein, dass eine Meldung kommt, dass das Upgrade per CLI gemacht werden muss:
sudo su cd /var/discourse git pull ./launcher rebuild app
5. Versuche am Forum mit LDAP einzuloggen, falls das fehlschlägt, obwohl Login-Details sicher korrekt eingegeben wurden, müssen folgende zwei Anpassungen angewendet werden:
5.1. LDAP fix 1 einspielen, damit das Plugin den OpenLDAP von Funkfeuer versteht:
https://github.com/vchrizz/omniauth-ldap/commit/346d5c27e1dacb0fa6aeedf1f65e29bd9f1bb524
Dazu per ssh einloggen, und mittels folgenden Befehlen in die Discourse Docker Instanz wechseln:
sudo su cd /var/discourse ./launcher enter app
Dort den oben verlinkten Git-Commit die zwei grün markierten Zeilen in diese Datei einpflegen:
/var/www/discourse/plugins/discourse-ldap-auth/gems/2.6.5/gems/omniauth-ldap-1.0.5/lib/omniauth/strategies/ldap.rb
5.2. LDAP fix 2 einspielen, damit über LDAP authentifizierte User automatisch der Gruppe zugeordnet werden, die auf Funkfeuer-intern und Sub-Kategorien zugreifen kann:
https://github.com/kaefert/discourse-ldap-auth/commit/b112b83640e7769daeb25043c9d12db8b011b29b
Auf dem selben weg wie 5.1. diesmal in die Datei einfplegen:
/var/www/discourse/plugins/discourse-ldap-auth/plugin.rb
5.3. LDAP Anpassungen aktiv bringen durch Restart von Discourse:
(evtl. mit logout
zuerst aus dem container wieder ausloggen)
docker restart app
6. Prüfen ob beide (Discourse und mailserver) Docker Container wieder laufen:
docker ps
sollte in etwa so aussehen: (sonst im Zweifelsfall die VM neu starten, dauert nur wenige Minuten, die Container starten dann beide)
vchrizz@forum:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 72670824e10a local_discourse/app "/sbin/boot" 3 weeks ago Up 8 minutes app 5b64315e0a1e tvial/docker-mailserver:latest "/bin/sh -c 'supervi…" 6 weeks ago Up 8 minutes 0.0.0.0:25->25/tcp, 110/tcp, 0.0.0.0:143->143/tcp, 0.0.0.0:587->587/tcp, 0.0.0.0:993->993/tcp, 465/tcp, 0.0.0.0:995->995/tcp, 4190/tcp mail
Sollte es dennoch Probleme mit SSL geben: https://meta.discourse.org/t/setting-up-https-support-with-lets-encrypt/40709
#### Manually reissue the cert ./launcher enter app sv stop nginx /usr/sbin/nginx -c /etc/nginx/letsencrypt.conf LE_WORKING_DIR=/shared/letsencrypt DEBUG=1 /shared/letsencrypt/acme.sh --issue -d example.com -k 4096 -w /var/www/discourse/public LE_WORKING_DIR=/shared/letsencrypt /shared/letsencrypt/acme.sh --installcert -d example.com --fullchainpath /shared/ssl/example.com.cer --keypath /shared/ssl/example.com.key --reloadcmd "sv reload nginx" /usr/sbin/nginx -c /etc/nginx/letsencrypt.conf -s stop