So baut ihr für WordPress-Seiten eine lokale Entwicklungsumgebung mit DDEV

19. Oktober 2023

Eine lokale WordPress-Installation sichert eine performante Entwicklung an einer Webseite ohne Ladeverzögerungen ab: Durch eine lokale WordPress-Installation wird eine performante Entwicklung an einer Website ohne Ladezeiten ermöglicht.

Wenn‘s mal wieder länger dauert...hilft eine lokale Entwicklungsumgebung

Das Arbeiten an einer WordPress-Seite auf einem Produktivsystem birgt Risiken. Eine Änderung ist direkt sichtbar, obwohl diese vielleicht noch nicht wie erwartet funktioniert. Manchmal verursacht aber auch eine Server-Eigenschaft Probleme:
Langsames Internet kann dazu führen, dass Entwickler im Ausharrmodus vor dem Bildschirm sitzen und auf das Laden der Seite warten müssen. Bei einer lokalen WordPress-Installation gibt es diese Probleme nicht. Und DDEV ist ein tolles Tool, um eine WordPress-Seite lokal schnell aufzusetzen. 

Warum DDEV besser ist als andere Lösungen

Es gibt natürlich auch andere Tools dafür. Aber ich halte DDEV für das geeignetste. Denn:

  • XAMP und MAMP sind altmodisch und häufig auch etwas tricky. Zum Beispiel, wenn es mehr als nur eine Installation sein soll oder ein Upgrade der PHP-Version nötig ist.
  • Die Komplexität einer maßgeschneiderten Konfiguration mit Docker erfordert relativ viel Know-how und einen entsprechenden Zeitaufwand.
  • Selbst entwickelte Lösungen ermöglichen zwar die größte Flexibilität - aber auch erhöhten Wartungsaufwand. Insbesondere klassische WordPress-Webseiten verlangen diese Flexibilität nicht, da Anforderungen an die Umgebung klar definiert sind (siehe https://wordpress.org/about/requirements/).

Was ist DDEV?

Eine moderne, schnelle und unkomplizierte Lösung hat DRUD Technology LLC 2017 entwickelt: DDEV ist ein Docker-basiertes Open-Source-Tool. Damit lässt sich eine stark vereinfachte, lokale PHP-Entwicklungsumgebung einrichten. In der Regel dauert das nur wenige Minuten. 
DDEV bietet projektbezogene Umgebungskonfigurationen an, etwa für TYPO3, WordPress, Shopware, Backdrop CMS und Java-Anwendungen. Diese vorkonfigurierten Entwicklungsumgebungen lassen sich unkompliziert aufsetzen, aktualisieren, durch eigene Konfigurationen erweitern, versionieren und freigeben. 

Es gibt zwei Versionen der Software: DDEV Local steht als Open-Source-Software allen frei zur Verfügung. DDEV LIVE ist das zugehörige Hosting-Produkt. Damit lassen sich Projekte in ein Staging- oder Production-System deployen und betreiben. Das allerdings ist nicht zwingend notwendig, denn man kann auch weiterhin mit allen gängigen Deployment-Methoden arbeiten.

Anleitung: So installiert man WordPress mit DDEV

DDEV ist für die Betriebssysteme Windows, macOS und Linux verfügbar. Im Folgenden beschreibe ich die schnelle WordPress Quickstart Installation unter Windows 10. Auf der Seite ddev.readthedocs.io findet sich eine hervorragende Dokumentation für alle, die nach einer Installationsmöglichkeit suchen oder Probleme haben.


Um WordPress mit DDEV nutzen zu können, ist es nötig, DDEV und Docker-Desktop auf dem System zu installieren. Beide Systeme lassen sich bequem über chocolatey installieren. 


Das Setup in der PowerShell wird durch den Befehl choco install ddev gestartet.
Um Docker-Desktop zu installieren, nutzt man folgenden Befehl: choco install docker-desktop 

Wenn beide Systeme installiert sind, wechseln wir in das Verzeichnis, in dem wir unser WordPress-Projekt installieren möchten.

cd mein-Wunsch-Verzeichnis

Hier erstellen wir uns unser Projektverzeichnis.

mkdir meine-wp-seite

Danach wechseln wir ins Projekt Verzeichnis.

cd meine-wp-seite

Nun lassen wir uns von DDEV die WordPress Konfiguration anlegen. Diese wird in die Datei config.yaml geschrieben.
ddev config --project-type=wordpress --docroot=web --create-docroot

Dann können wir die Docker-Container starten. Wichtig ist hierbei, dass Docker-Desktop bereits im Hintergrund läuft.
ddev start

Nachdem alle Container erfolgreich gestartet sind, ist an der Zeit, folgenden Composer-Befehl auszuführen. Wir bestätigen das Ausführen des Befehls mit „ja“ (y).
ddev composer create roots/bedrock

Nachdem die Installation erfolgreich ausgeführt wurde, ist es nun noch nötig, im Projektordner die .env-Datei zu bearbeiten. Dabei müssen folgende Eigenschaften geändert bzw. hinzugefügt werden.

DB_NAME=db
DB_USER=db
DB_PASSWORD=db
DB_HOST=db
WP_HOME=https://meine-wp-seite.ddev.site
WP_SITEURL=${WP_HOME}/wp
WP_ENV=development

Nun starten wir erneut DDEV.
ddev start
Nun die WordPress-Webseite aufrufen.
ddev launch

Wenn alle Schritte erfolgreich durchgeführt wurden, öffnet sich der Browser und wir werden vom wunderbaren WordPress-Setup begrüßt. Entwickler haben zusätzlich noch eine Vielzahl an Konfigurationsmöglichkeiten, um ihre Entwicklungsumgebung auf die individuellen Bedürfnisse anzupassen. Es lassen sich beispielsweise beliebige weitere Hostnamen auflisten, die beim nächsten „ddev start“ miterzeugt werden und aufgerufen werden können. Ein weiterer vorgefertigter Befehl ist ddev share, mit dem die lokale Instanz der Seite über eine öffentliche URL verfügbar gemacht werden kann. Damit lassen sich lokale Seiten wunderbar auch auf anderen Gerätetypen (wie dem Smartphone oder Tablet) testen. Ebenfalls lässt sich die benötigte PHP-Version festlegen. Als Webserver stehen NGINX oder Apache zur Auswahl. Außerdem lohnt es sich, wie bereits oben beschrieben, die Dokumentation zu DDEV zu lesen, um herauszufinden, was noch alles möglich ist. 

Es gibt weitere Befehle für DDEV, die das Arbeiten vereinfachen:

ddev describe: zeigt Informationen, wie Datenbankzugänge, Hosting-URLs, PHP-Version
ddev list: zeigt alle ddev-Projekte an und deren Status
ddev logs: zeigt Logs, wie bspw. Error-Logs
ddev stop: stoppt laufende Container eines Projektes
ddev remove: entfernt Docker-Container
ddev remove –remove-data: entfernt Docker-Container und Datenbank
ddev ssh: wechselt in den Web-Container
ddev exec ls -al: führt Befehl im Container aus
ddev snapshot: erstellt ein Backup der Datenbank

Das sind die Vorteile von DDEV

Mit DDEV geht das initiale Setup ganz einfach von der Hand und ist schnell erledigt. Vor allem diese Argumente überzeugen:

  • Container für Webserver und Datenbank werden automatisiert erstellt.
  • Das Aufsetzen eines lokalen Projekts geht wunderbar einfach und schnell.
  • Es ist auch für bereits bestehende Projekte verwendbar.
  • Es werden verschiedene PHP-Versionen unterstützt.
  • Viele weitere Entwicklertools sind enthalten, wie z. B. Git, Composer, Node, npm, phpMyAdmin, Mailhog und Xdebug.
  • Entwickler können sich einfacher auf die eigentliche Projektumsetzung fokussieren.
  • Die DDEV Projekt-Container werden auf Windows, Mac und Linux ohne Unterschiede ausgeführt.

Das sind die Nachteile von DDEV

Unterschiedliche Projekte haben unterschiedliche Anforderungen und Alternativen bei Open-Source-Webservern waren lange Zeit rar. Apache galt dabei als einzige Option, was den Umgang mit hohen Lasten erschwerte. Zum Glück haben sich die Zeiten geändert und neue Lösungen für spezielle Anforderungen sind entstanden. NGINX, Caddy, Lighthttpd, MonkeyServer und OpenLiteSpeed sind nur einige auf der langen Liste der Open-Source-Webserver, die heute zur Verfügung stehen. Deshalb ist es einer der wenigen Nachteile, dass DDEV bis jetzt lediglich Apache und Nginx zur Verfügung stellt. Die Auswahl weiterer Webserver ist ein Feature, das ich mir für die Zukunft wünsche.

Fazit: Klare Empfehlung für lokal aufgesetzte CMS

Nach jahrelanger Erfahrung mit der Nutzung von DDEV für unsere WordPress-Projekte können wir bestätigen, dass WordPress-Systeme einfach aufzusetzen sind, schneller als gewohnt starten und sehr flüssig und stabil laufen. Bei 3m5. bearbeiten wir viele verschiedene Kundenwebseiten und nicht jeder Entwickler hat immer alle Projekte auf seinem Rechner eingerichtet. Mit DDEV sparen wir besonders bei wechselnden Entwicklern innerhalb der Projekte Zeit bei der fortlaufenden Betreuung. War es bislang so, dass vor allem für kleine Projekte Aufwand und Kosten für das Einrichten der Entwicklungsumgebung im Bezug zur Leistung des Produktes zu hoch waren, lassen sich diese jetzt schneller und damit günstiger umsetzen. Ein weiterer Pluspunkt: Das Angebot möglicher Systeme bietet mittlerweile ein interessantes Spektrum. Es wird auch in Zukunft erweitert werden. Wir können es deshalb allen, die mit PHP-Projekten arbeiten und verschiedene CMS lokal aufsetzen möchten, ans Herz legen.

 

Tags zum Artikel
Die meistgelesenen Artikel der letzten Monate