Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lokale TYPO3 Entwicklungsumgebung mit DDEV

Peter Kraume
September 15, 2018

Lokale TYPO3 Entwicklungsumgebung mit DDEV

Container-basierte Entwicklungsumgebung für TYPO3, auch für bestehende Projekte.

Peter Kraume

September 15, 2018
Tweet

More Decks by Peter Kraume

Other Decks in Programming

Transcript

  1. 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/
  2. 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
  3. 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
  4. 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!
  5. 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
  6. 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
  7. 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"
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  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: [email protected] Slides: http://de.slideshare.net/pk77/ This work

    is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.