DDEV

DDEV ist ein Open-Source-Tool, mit dem sich in Minuten lokale PHP-Entwicklungsumgebungen einrichten lassen.

DDEV erstellt eine config.yml, die alle Einstellungen für dein Projekt enthält. Diese kann mit GIT versioniert werden und unterstützt so kollaboratives Arbeiten in Teams oder mit Freelancern.

Um DDEV nutzen zu können, muss Docker auf deinem System installiert sein. Falls das noch nicht der Fall ist, kannst du dir die DDEV Dokumentation für mehr Informationen zur Installation dieser Programme durchlesen.

DDEV installieren

DDEV ist für alle Plattformen verfügbar, für die Installation deiner Plattform schau bitte in der DDEV Dokumentation nach.

Beispiel: Die Installation unter macOS mit brew durchführen

brew install ddev/ddev/ddev

Nach der Installation noch die lokalen SSL-Zertifikate installieren (im Anschluss Browser neu starten).

mkcert -install

Seine Installation sollte man auch regelmäßig updaten.

brew upgrade ddev

Beispiel: Installation unter Debian/Ubuntu

curl -fsSL https://apt.fury.io/drud/gpg.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/ddev.gpg > /dev/null

echo "deb [signed-by=/etc/apt/trusted.gpg.d/ddev.gpg] https://apt.fury.io/drud/ * *" | sudo tee /etc/apt/sources.list.d/ddev.list

sudo apt update && sudo apt install -y ddev

Evtl. nach der Installation noch die lokalen SSL-Zertifikate installieren (im Anschluss Browser neu starten).

mkcert -install

Installation updaten

sudo apt update && sudo apt upgrade

Projekt erstellen

Öffne die Konsole deiner Wahl, erstelle das gewünschte Verzeichnis und wechsle danach in ebendieses.

mkdir -p  ~/Projekte/contao/contao-ddev && cd ~/Projekte/contao/contao-ddev

DDEV-Konfiguration anlegen mit:

ddev config

DDEV-Einstellungen vornehmen, als Project Type auf jeden fall php auswählen. Die Docroot Location erstmal leer lassen, da es bei Neuinstallationen noch keinen public Ordner gibt und DDEV dann nicht starten kann.

ddev start

Zur Installation via Konsole ist es am einfachsten, sich via SSH mit dem Container zu verbinden.

ddev ssh
composer create-project contao/managed-edition contao 4.13

In der .ddev/config.yml nun das Docroot anpassen und ddev neu starten.

docroot: "contao/public"

Um Apache anstatt NGINX zu verwenden, den Eintrag webserver_type: nginx-fpm in apache-fpm ändern.

webserver_type: apache-fpm

Die ddev Binary steht im Container nicht zur Verfügung, also erst mit exit auf die Host-Konsole wechseln.

ddev restart

Eine Datenbank gibt es schon in DDEV. Die Verbindungsdaten für die Installation lauten:

Eintrag Wert
Host db
Benutzername db
Passwort db
Datenbank db

Auf die Datenbank des aktuellen Projektes kann über das phpMyAdmin Add-On zugegriffen werden. Mit folgenden Befehl öffnet sich nach Eingabe automatisch ein Browser-Tab mit dem Administrationswerkzeug für MySQL-Datenbanken:

ddev phpmyadmin

Seit ddev Version 1.22.0 ist die Unterstützung von phpmyadmin in ein DDEV Add-on umgewandelt worden. Daher muss statt ddev launch -p der obige Befehl verwendet werden.

Mit ddev describe erhältst du eine Übersicht über Services, die im Projekt zur Verfügung stehen und wie du sie erreichst. Mit ddev poweroff kannst du aus jedem Verzeichnis heraus alle gestarteten Projekte/Container stoppen.

DDEV Addons

DDEV bietet nun auch Services als Addon.

Beispiel: Adminer

ddev get ddev/ddev-adminer && ddev restart

Zudem kann man phpMyAdmin in der .ddev/config.yml auch deaktivieren:

omit_containers: [dba]
ddev restart