====== Blog ======
Mein Blog basiert derzeit auf Wordpress innerhalb von Docker Containern. Er ist nach aussen verfügbar unter:
https://cms.manhart.space/
Weiters existiert eine Testinstanz (Klon) um kritische Operationen zunächst zu testen um bei Erfolg diese im Live System nachzuspielen:
https://test-cms.manhart.space/
Die Zugangsdaten finden sich in meinem privaten Passwortsafe.
===== Artikel =====
Artikel sollen immer den gleichen Aufbau haben:
* Introtext
* Inhaltsverzeichnis mit Ankerlinks
* Vorbedingungen
* beliebig viele Unterteilungen
* Fazit
* Quellen
Um einen Artikel anzulegen, kopiert man sich am Besten einen Vorhandenen und passt diesen dann an (Wichtig: Ankernamen nicht vergessen)
===== Updates =====
Updates sind nicht ganz einfach, da das System keinen ftp Server öffnet, welches aber der bevorzugte Mechanismus von Wordpress wäre.
Daher wird angeraten Updates **immer** zunächst am Testsystem durchzuführen und Probleme hier mitzuprotokollieren.
==== Plugins ====
Plugins (und Themes) können direkt im Wordpress aktualisiert werden, man sollte nur beachten, nicht F5 zu drücken, da dies einen Abbruch und das "Problem: Eingefroren im Maintenance Mode" auslösen kann.
==== Wordpress Version ====
Die Wordpress Version kann unr und sollte immer über den Container aktualisiert werden, dh. der Container wird durch einen neueren ersetzt.
Hierzu geht man wie folgt vor:
- Im Browser auf [[https://hub.docker.com/_/wordpress?tab=description|Docker Hub]] den aktuellsten Wordpress Alpine Container heraussuchen
- Am Server gegen die Version im Compose File prüfen
cd $DOCKER_SERVICES_HOME/wordpress
cat docker-compose.yml
- Gegebenenfalls die Version anpassen (sollte nur bei Major Versionen notwendig sein)
- Den Container upgraden (hierzu muss man im Wordpress Docker-Compose Verzeichnis sein)
docker-compose down -v; docker-compose pull; docker-compose up -d
- Damit wurde das Volume zerstört, in welchem sich die Wordpress Installation befunden hat, und man muss zur Zeit folgendes Setting im wp-settings.php hinzufügen:
docker exec -ti wordpress-test_wordpress_1 vi wp-settings.php
# Shift + g drücken um ans Ende zu springen
# i drücken und mit Return eine neue Zeile erstellen und folgenden Text einfügen:
define('FS_METHOD', 'direct');
- Ausserdem muss man noch den Owner für wp-content neu festlegen:
docker exec -ti wordpress_wordpress_1 chown www-data wp-content -R
==== Problem: Eingefroren im Maintenance Mode ====
**Symtom:** Wordpress zeigt nur die "Briefly unavailable for scheduled maintenance" Meldung an und ist sonst nicht mehr ansprechbar.
**Ursache:** Ein Update ist im Prozess abgebrocken.
**Lösung:** Im Docker Container im work Verzeichnis das File .maintenance entfernen.
Hierzu folgende Befehle ausführen (der Containername muss ggf. angepasst werden):
docker exec -ti wordpress-test_wordpress_1 rm .maintenance
===== Quelle(n) =====
* [[https://www.wpbeginner.com/wp-tutorials/how-to-fix-briefly-unavailable-for-scheduled-maintenance-error-in-wordpress/|Maintenance message freeze]]
* [[https://github.com/moby/moby/issues/26824|Docker Network issue]] - Solved via Kernel update
* [[https://stackoverflow.com/questions/640409/can-i-install-update-wordpress-plugins-without-providing-ftp-access|Updates without FTP access]]
{{tag>IT Systeme Blog Wordpress}}