2. Peter Kraume
• Senior TYPO3 Developer bei bgm websolutions
• Mitglied im Vorstand der TYPO3 Association
• Mitorganisator des TYPO3camp Munich und der
TYPO3 User Group
Twitter: @cybersmog
Mail: peter.kraume@bgm-gmbh.de
Slides: http://de.slideshare.net/pk77/
3. Was ist DDEV?
• Containerbasierte lokale Entwicklungsumgebung
• basiert auf Docker
• erstellt automatisiert Container für Webserver und Datenbank
• eingebauter Support für TYPO3, Drupal, WordPress und Backdrop
• langfristig: Zusammenarbeit mit Hostern für Live Deployments
• Open Source Software
• Hersteller: Drud Technology LLC aus Denver, USA
• Drud arbeitet mit der TYPO3 GmbH und TYPO3 Community zusammen
4. Vorteile von DDEV
• erstellt automatisiert für jedes Projekt Container für Webserver und Datenbank
• Plattformübergreifend verfügbar
• funktioniert auch für bestehende Projekte
• Multi-Projekt fähig
• mehrere Hostnames pro Projekt
• Unterstützung für verschiedene PHP Versionen
• weitere enthaltene Entwicklertools:
• Git
• Composer
• phpMyAdmin
• Mailhog
• Xdebug
• weitere Services (Container) wie z.B. Solr können angebunden werden
5. Nachteile
• aktuell nur Nginx als Webserver verfügbar
• Feature Request: https://github.com/drud/ddev/issues/628
6. System Anforderungen
• Betriebssystem
• Windows 10 Pro
• macOS Sierra oder neuer
• aktuelle Linux Distribution, die Docker unterstützt
• z.B. Ubuntu 14.04+, Debian Jessie+, Fedora 25+
• Docker 17.05 oder neuer
• docker-compose 1.10.0 oder neuer
7. TYPO3 Installation mit lokalem Composer
• Voraussetzung: Composer ist im Host Betriebssystem vorhanden
composer create-project typo3/cms-base-distribution
example-project ^9
cd example-project
ddev config => alle Fragen mit Enter beantworten
vi .ddev/config.yaml => PHP Version auf 7.2 ändern
ddev start
ddev describe => optional, zeigt Konfiguration
touch public/FIRST_INSTALL
=> http://example-project.ddev.local/ aufrufen und
Installation abschließen
8. TYPO3 Installation über Git
• Voraussetzung: Git CLI oder grafischer Git Client
git clone http://github.com/TYPO3/
TYPO3.CMS.BaseDistribution.git -b 9.x example-
project
cd example-project
mkdir -p public/typo3conf
ddev config
=> Docroot Location: public
=> Project Type: typo3
vi .ddev/config.yaml
=> PHP Version auf 7.2 ändern
=> Hook aktivieren (letzten 3 Zeilen aktivieren)
hooks:
post-start:
- exec: "composer install -d /var/www/html"
9. TYPO3 Installation über Git
ddev start
=> dauert deutlich länger, da kein Composer Cache
touch public/FIRST_INSTALL
=> http://example-project.ddev.local/ aufrufen und
Installation abschließen
10. weitere ddev Befehle
ddev list
=> zeigt alle DDEV Projekte und Pfade an
ddev stop
=> stoppt ein DDEV Projekt
ddev remove
=> entfernt die Docker Container
ddev remove --remove-data
=> entfernt die Docker Container und die Datenbank
ddev describe
=> zeigt Infos, z.B. Datenbank Zugangsdaten
11. weitere ddev Befehle
ddev exec ls -la
=> führt den Befehl im Docker Container aus
ddev ssh
=> SSH Verbindung in den Web Container
ddev import-db --src=dump.sql.gz
=> importiert DB Dumps (sql, sql.gz, tar.gz, zip)
ddev logs
=> zeigt die Logs, z.B. Error Log
12. sonstiges
• AdditionalConfiguration.php
• in neuen TYPO3 Projekten wird die Datei angelegt und die DB Zugangsdaten eingetragen
• wenn die Datei schon existiert, müssen die DB Zugangsdaten manuell eingetragen
werden (siehe ddev describe)
• xdebug Support wird mitgeliefert
• config.yaml => xdebug_enabled: true
• Troubleshooting
• ddev remove, wenn bei ddev start Fehlermeldung wegen DB Container
angezeigt wird
• Update von ddev CLI
• aktuell noch manuelle Schritte nötig
• soll aber automatisiert werden
13. Hilfe / Doku
• TYPO3 Slack Channel: #ddev
• Installation: https://ddev.readthedocs.io/en/latest/#installation
• Bugs: https://github.com/drud/ddev/issues
• Stack Overflow: https://stackoverflow.com/questions/tagged/ddev
• Doku: https://ddev.readthedocs.io/en/latest/
• Weitere Services wie Solr:
https://ddev.readthedocs.io/en/latest/users/extend/additional-services/
14. Vielen Dank!
Twitter: @cybersmog
Mail: peter.kraume@bgm-gmbh.de
Slides: http://de.slideshare.net/pk77/
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.