Aufgabe #1718
offenUpgrade Debian 11 -> 12 auf Pretix Instanz
0%
Beschreibung
Da Debian 12 released ist, kann nun die Pretix Instany geupgraded werden.
https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.de.html#system-status
Dateien
Von GoeranHeinemann vor etwa 1 Jahr aktualisiert
- Datei clipboard-202311231601-jkjo1.png clipboard-202311231601-jkjo1.png wurde hinzugefügt
postgresql upgrade von 13 -> 15 muss gemacht werden
wir haben mit `pg_dump pretix > /tmp/pretix.sql` einmal vor dem Upgrade die Datenbank exportiert.
Von MaximilianTraenkler vor 11 Monaten aktualisiert
- Status wurde von Neu zu In Bearbeitung geändert
Es wurde schon ein erfolgreiches Update von Debian 11 auf 12 durchgeführt.
Die Dokumentation wird Nachgetragen.
Von MaximilianTraenkler vor 11 Monaten aktualisiert
Beim upgrade von Debian 11 auf 12 gibt es zwei relevante Änderungen, zum einen gibt es eine neuere Python Version und zum anderen soll die pretix Datenbank von PostgreSQL 13 auf PostgreSQL 15 upgegraded werden.
1. Die Aktualisierung von Python erzeugt das Problem, dass die nginx Konfiguration nicht mehr stimmt und deshalb die Webseite nicht mehr erreichbar ist.
2. Die Andere Hürde ist wie man das PostgreSQL Cluster upgraded.
Zuerst wird Debian geupdatet.
apt update -y && apt upgrade -y
Jetzt wird ein Datenbankdump erstellt.
su postgres
cd
pg_dump pretix > pretix_dump.sql
exit
Dannach muss sources.list angepasst werden, damit wir von dem Bookworm repository die Pakete beziehen. Dazu wird vi ausgeführt mit
vi /etc/apt/sources.list
####
# In vi kann nachfolgendes Kommando ausgeführt werden:
# :%s/bullseye/bookworm/g
# :wq
####
Da sources.list angepasst ist führen wir das Upgrade von Debian jetzt aus.
apt update
apt full-upgrade
Einmal rebooten bitte :)
Schonmal herzlichen Glückwunsch, Debian läuft auf Version 12!
Jetzt wird das Pythonspezifische Problem gelöst.
Momentan stimmt das virtual environment von python nicht und muss neu erstellt werden. Anschließend wird dann gleich pretix geupdatet.
rm -rf /var/pretix/venv
su pretix
# Nachfolgende Kommandos werden als Nutzer pretix durchgeführt
python3 -m venv /var/pretix/venv
source /var/pretix/venv/bin/activate
pip3 install -U pip wheel setuptools
pip3 install pretix gunicorn
python -m pretix migrate
python -m pretix rebuild
python -m pretix updatestyles
# Ctrl-D und jetzt sind wir wieder root.
systemctl restart pretix-web pretix-worker
Damit ist jetzt pretix wieder aktuell und auch das venv passt wieder. Die Webseite ist aber noch nicht erreichbar. Das liegt an der erwähnten nginx Konfiguration.
vi /etc/nginx/sites-enabled/default
Hier muss dann nachfolgende Zeile geändert werden in location /static/ {...}
.
# alte Zeile
# alias /var/pretix/venv/lib/python3.10/site-packages/pretix/static.dist/;
# Ändern in nachfolgende Zeile
alias /var/pretix/venv/lib/python3.11/site-packages/pretix/static.dist/;
System neu starten und jetzt sollte die Webseite von pretix wieder erreichbar sein.
Als nächstes wird nun das Datenbankcluster Upgrade durchgeführt.
Dazu wird erst der PostgreSQL15 Server gestoppt.
systemctl stop postgresql@15-main.service
Dann wechseln in den Nutzer postgres
su postgres
pg_upgradecluster 13 main
System neu starten. Beim Ausführen von systemctl
wird postgresql@13-main.service
nicht mehr aufgeführt.
su postgres
psql #Datenbank läuft!
Die Datenbank läuft nun unter PostgreSQL 15, mega :)
Es müssen noch das alte Paket entfernt werden.
apt remove postgresql-13
apt autoremove
Damit läuft pretix wieder wie gewohnt und die Datenbank, Pretix, Python und Debian wurden aktualisiert.
Von SoerenBoxberger vor 9 Monaten aktualisiert
- Beziehung mit Aufgabe #1873: Update von pretix und Anschließend Migration auf eine neue Instanz wurde hinzugefügt
Von SoerenBoxberger vor 9 Monaten aktualisiert
- Status wurde von In Bearbeitung zu Feedback geändert
Das war wohl schon fertig