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