DDEV Installation und Troubleshooting

DDEV lässt sich recht einfach nutzen. Aber ganz ohne Probleme, geht es dann doch nicht. Hier ein paar kleine Hinweise zur Nutzung von DDEV unter mac OS.

1. Installation DDEV

Docker zuvor installieren:
https://www.docker.com/products/docker-desktop/

Danach mittels Terminal DDEV installieren mit

curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh
chmod +x install_ddev.sh
./install_ddev.sh

 

2. Neues DDEV Projekt erstellen

Das geschieht im Terminal mittels

ddev config

Danach werden wenige Fragen zu dem Projekt gestellt.

 

3. Fehler “Mounts denied” nach ddev start

Nach 

ddev start

erhielt ich die Fehlermeldung:


Error response from daemon: Mounts denied:
The path /path/ddev/project/.ddev is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See docs.docker.com/desktop/mac for more info.'

Wie in der Fehlermeldung beschrieben, also in der Docker Deskop Anwendung unter
“Docker -> Preferences... -> Resources -> File Sharing” folgenden Pfad freigeben:

/path/ddev/project/

 

4. Seite nicht erreichbar: “port 80 is already in use”

Nach 

ddev start

erhielt ich die Fehlermeldung:

Failed to restart machwert: unable to listen on required ports, port 80 is already in use,
Troubleshooting suggestions at https://ddev.readthedocs.io/en/stable/users/usage/troubleshooting/#unable-listen

Um zu prüfen, welche Anwendungen den Port blockieren, verwende ich

sudo lsof -i :80

Eine etwas andere Ausgabe erzeugt sudo netstat -anp tcp | grep 80

In meinem Fall war der Prozess der Anwendung httpd verantwortlich, so dass ich ihn abgeschossen habe mit

sudo killall httpd

 

5. phpMyAdmin verfügbar machen

In den neuen DDEV Versionen ist phpMyAdmin nicht mehr mittels folgendem Befehl ausführbar:

ddev launch -p

Es wird aber gleich eine hilfreiche Fehlermeldung ausgegeben:

phpMyAdmin is no longer built into DDEV, please 'ddev get ddev/ddev-phpmyadmin' and use 'ddev phpmyadmin' to launch phpMyAdmin

Also, habe ich phpMyAdmin installiert mit

ddev get ddev/ddev-phpmyadmin

Installation ist fehlerfrei verlaufen, aber Seite war danach trotzdem nicht erreichbar unter 

https://project.ddev.site:8037

Damit phpMyAdmin ausgeführt werden kann, in der Datei project/.ddev/config.yaml folgendes hinzufügen:

additional_services:
dba:
image: phpmyadmin/phpmyadmin
ports:
- "8037:80"

 

6. mysql import

Der mysql import funktioniert ganz einfach über das Terminal mit

ddev mysql db < project.sql

Die Angabe von User, Passwort, Host oder Port ist nicht nötig.

 

7. TYPO3 Anpassung

In der Datei project/cms/config/system/additional.php (oder in < TYPO3 v12 Installationen unter project/cms/typo3conf/AdditionalConfiguration.php) folgenden Code hinzufügen:

if (getenv('IS_DDEV_PROJECT') == 'true') {
$GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive(
$GLOBALS['TYPO3_CONF_VARS'],
[
'DB' => [
'Connections' => [
'Default' => [
'dbname' => 'db',
'driver' => 'mysqli',
'host' => 'db',
'password' => 'db',
'port' => '3306',
'user' => 'db',
],
],
],
// This GFX configuration allows processing by installed ImageMagick 6
'GFX' => [
'processor' => 'ImageMagick',
'processor_path' => '/usr/bin/',
'processor_path_lzw' => '/usr/bin/',
],
// This mail configuration sends all emails to mailpit
'MAIL' => [
'transport' => 'smtp',
'transport_smtp_encrypt' => false,
'transport_smtp_server' => 'localhost:1025',
],
'SYS' => [
'trustedHostsPattern' => '.*.*',
'devIPmask' => '*',
'displayErrors' => 1,
],
]
);
}

 

8. Nützliche Konsolenbefehle

Zum Erstellen neuer Projekte:

ddev config

Zum Starten des Containers:

ddev start

Zum Stoppen des Containers:

ddev stop

Zum Neustarten des Containers:

ddev restart

Zum Auflisten aller verwendeten Container:

ddev list

Zur SSH Verbindung mit dem Container:

ddev ssh

Erstellt am: (aktualisiert am: )