Slide 1

Slide 1 text

Lokale TYPO3 Entwicklungsumgebung mit DDEV Peter Kraume TYPO3camp Munich 15. September 2018

Slide 2

Slide 2 text

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: [email protected] Slides: http://de.slideshare.net/pk77/

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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 • npm • phpMyAdmin • Mailhog • Xdebug • weitere Services (Container) wie z.B. Solr können angebunden werden

Slide 5

Slide 5 text

Nachteile • bislang nur Nginx als Webserver verfügbar • seit Version 1.2.0 (12. September 2018) experimenteller Apache Support (nicht unter Windows) • Bitte helft beim Testen und meldet Bugs und Probleme!

Slide 6

Slide 6 text

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 18.03 oder neuer • docker-compose 1.18.0 oder neuer

Slide 7

Slide 7 text

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 ddev start ddev describe => optional, zeigt Konfiguration touch public/FIRST_INSTALL => http://example-project.ddev.local/typo3/ install.php aufrufen und Installation abschließen

Slide 8

Slide 8 text

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"

Slide 9

Slide 9 text

TYPO3 Installation über Git ddev start
 => dauert deutlich länger, da kein Composer Cache touch public/FIRST_INSTALL => http://example-project.ddev.local/typo3/ install.php aufrufen und Installation abschließen

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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 ddev snapshot
 => erstellt einen Datenbank Snapshot ddev restore-snapshot
 => Wiederherstellung einer Datenbank aus Snapshot

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

sonstiges • Versionierung der Konfiguration • .gitignore: • /.ddev/docker-compose.yaml • /.ddev/db_snapshots • eigene docker-compose.xxxxx.yaml sollten versioniert werden • Update von ddev CLI (für jedes Projekt einzeln machen) • ddev config => alle Vorschläge bestätigen • ggf. in eigenen docker-compose.myname.yaml die Versionsnummer anpassen

Slide 14

Slide 14 text

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/

Slide 15

Slide 15 text

Vielen Dank! Twitter: @cybersmog Mail: [email protected] Slides: http://de.slideshare.net/pk77/ This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.