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

Lokale TYPO3 Entwicklungsumgebung mit DDEV

Avatar for Peter Kraume Peter Kraume
September 15, 2018

Lokale TYPO3 Entwicklungsumgebung mit DDEV

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

Avatar for Peter Kraume

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.