Die laufenden Installationen hiessen "tesm-opus" und "tesm-license-opus" --
ein Instanzname aus der Zeit, in der sie neben der Fassung 1.x getestet wurden.
Jetzt heissen sie "tesm" und "tesm-license".
Umbenennen ist mehr als ein verschobenes Verzeichnis, und drei Stellen sind
leicht zu uebersehen:
* SITE_KEY in der Umgebungsdatei -- daraus entsteht der Name des
Sitzungscookies. Bleibt er alt, heisst das Cookie weiter wie die alte
Instanz: unauffaellig und falsch.
* web_cert_path/web_key_path/web_acme_webroot in der Datenbank enthalten den
Namen. Ein Zertifikat unter dem alten Pfad findet nginx nicht mehr.
* server_name der nginx-Site. install.sh schreibt die Datei aus seiner Vorlage
neu, sobald sich die alias-Pfade aendern -- und die aendern sich hier
zwangslaeufig. Ohne den Namen aus der Datenbank stehen danach zwei Sites mit
"server_name _" auf Port 80, und die erste gewinnt. web-setup braucht dafuer
--apply; ohne ihn speichert es nur.
Zwei Fehler hat erst der Lauf am System gezeigt:
* Das venv wandert nicht mit. Seine Konsolenskripte tragen den absoluten Pfad
im Shebang, und danach zeigt venv/bin/gunicorn auf einen Interpreter, den es
nicht mehr gibt -- systemd meldet "No such file or directory" fuer eine
Datei, die sichtbar da ist. Es wird jetzt verworfen und neu gebaut.
* Den Zielnamen belegt nicht nur /srv/<name>, sondern auch /var/log/<name>,
der ACME-Pfad und die logrotate-Datei. Der Umzug brach mitten drin ab. Jetzt
wandert alles, was den Namen belegt, in ein Archiv -- geloescht wird nichts,
die Units und die Site der alten Fassung liegen darin unter systemd-alt/.
Ein Test vergleicht die Pfade, die install.sh unter dem Namen anlegt, mit
denen, die rename.sh kennt. Genau diese Luecke war der zweite Fehler; ohne den
Test faellt der naechste erst wieder auf einem Server auf.
Version 2.0.6.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>