Viele Jahre habe ich meine WordPress-Entwicklung mit dem MAMP-Projekt erledigt. Das ganze geht aber auch mit docker und das um einiges einfacher.
Das damp – Projekt liefert genau das und ist beim Aufsetzen einer neuen WordPress-Instanz zum Testen um vieles einfacher. Die Installation und Verwendung wird auf den Seiten ganz gut beschrieben und funktioniert.
Das einzige kleine Problem war, dass WordPress keine Schreibberechtigung auf den wp-content – Ordner hatte. Das merkt man spätestens, wenn man ein Plugin installieren oder aktualisieren oder aber ein Bild in einen Post hinzufügen möchte.
Das Problem hatten auch andere und nach 38 Stunden Internetrecherche hatte mir diese Github-Antwort geholfen. Es kann sein, dass das ein OSX-Problem ist und auf anderen Host-Betriebssystemen gar nicht auftritt. Ohne weiter ins Detail zu gehen wieso und weshalb, ist die Lösung für das Problem relativ einfach.
Man meldet sich auf der WordPress-Maschine an und führt die folgenden Befehle aus und startet die Maschine dann neu:
usermod -u 1000 www-data chown -R www-data:www-data .
Im Detail geht es so:
Auf einer Konsole wurde damp gestartet.
damp up
Die Docker-Umgebung von damp einstellen
eval $(docker-machine env damp)
Die entsprechende WordPress-Maschine heraussuchen
docker ps
Die Liste mit den Docker-Maschinen-Ids und Namen wird angezeigt.
Nun eine interaktive Shell auf der entsprechenden WordPress-Maschine öffnen
docker exec -it <docker-wordpress-maschine-id> bash
Und dort die magischen Befehle zum Ändern des Besitzers der WordPress-Installation eingeben
usermod -u 1000 www-data chown -R www-data:www-data .
Nun mit exit wieder von der Maschine abmelden.
Damit die Änderungen nun auch wirksam werden, muss der docker-container neu gestartet werden.
docker restart <docker-wordpress-maschine-id>
Voilá