{"id":1503,"date":"2024-04-29T14:33:38","date_gmt":"2024-04-29T12:33:38","guid":{"rendered":"https:\/\/wiki.ad-libitum.info\/?page_id=1503"},"modified":"2026-08-13T14:34:30","modified_gmt":"2026-08-13T12:34:30","slug":"ddev","status":"publish","type":"page","link":"https:\/\/wiki.ad-libitum.info\/?page_id=1503","title":{"rendered":"DDEV"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Auf XAMPP Ubuntu starten. Man befindet sich dann gleich im Homeverzeichnis des Webservers. Dort in das Verzeichnis des Projektes wechseln, das gestartet werden soll.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Projekt f\u00fcr DDEV wird eingerichtet, in dem im jeweiligen Projektverzeichnis <code>ddev config<\/code> gestartet wird. Anschlie\u00dfend im Verzeichnis .ddev die Datei <code>config.yaml<\/code> anpassen. <code>xdebug_enabled<\/code> muss auf <code>true<\/code> gesetzt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zus\u00e4tzliche Einstellungen f\u00fcr die DDEV-Umgebung erfolgen in der Datei <code>oliver\/.bash_aliases<\/code>. Zum Beispiel ein farbiger Prompt, damit man ihn bei umfangreichen Ausgaben leichter findet: <code>PS1='[\\e]0;\\w\\a]\\n[\\e[32m]\\u@[\\e[$30m]]\\h [\\e[32m]\\w[\\e[0m]$ '<\/code>. Damit diese Datei geladen wird, muss in der <code>.ddev\/config.yaml<\/code> noch folgendes eingef\u00fcgt werden:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>hooks:<br>&nbsp;&nbsp;&nbsp;&nbsp;post-start:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- exec: \"source \/home\/oliver\/.bash_aliases\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Soll in der SSH ebenfalls ein farbiger Prompt erscheinen, muss im Verzeichnis <code>homeadditions<\/code> (<strong>ohne Punkt!<\/strong>) eine Datei Namens .bash_aliases erstellt werden. Dies muss den Befehl <code>PS1='[\\e]0;\\w\\a]\\n[\\e[32m]\\u@[\\e[$30m]]\\h [\\e[32m]\\w[\\e[0m]$ '<\/code> enthalten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wird f\u00fcr dieses Projekt eine Datenbank ben\u00f6tigt, dann mit Hilfe von <code>ddev add-on get ddev\/ddev-phpmyadmin<\/code> installieren. Das muss in jedem Projektverzeichnis gemacht werden, in dem das Tool ben\u00f6tigt wird. Gestartet wird PhpMyAdmin mit <code>ddev phpmyadmin<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ddev start<\/code> startet das Projekt, so dass es im Browser aufgerufen werden kann. Und zwar unter <code>projektname.ddev.site<\/code>. Oder mit <code>ddev launch<\/code>. Wird in diesem Verzeichnis keine <code>index.php<\/code> gefunden, erfolgt ein Fehler 403, Forbidden. <code>ddev poweroff<\/code> beendet alle laufenden Maschinen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ddev describe<\/code> listet die grundlegenden Informationen zu einem Projekt auf und mit <code>ddev config<\/code> kann die Konfiguration angepasst bzw. eine neue erstellt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verf\u00fcgbare Addons, wie das oben genannten PhpMyAdmin sind <a href=\"https:\/\/ddev.readthedocs.io\/en\/stable\/users\/extend\/additional-services\/\" data-type=\"link\" data-id=\"https:\/\/ddev.readthedocs.io\/en\/stable\/users\/extend\/additional-services\/\" target=\"_blank\" rel=\"noreferrer noopener\">hier<\/a> aufgef\u00fchrt und wie man verschiedene CMS installiert <a href=\"https:\/\/ddev.readthedocs.io\/en\/stable\/users\/quickstart\/\" target=\"_blank\" rel=\"noreferrer noopener\">hier<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Datenbanken sichern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um die Datenbank eines Projekts zu sichern, den Befehl <code>ddev snapshot<\/code> verwenden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Besser ist es allerdings, in der <code>config.yaml<\/code> folgendes einzuf\u00fcgen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>hooks:<br>    pre-stop:<br>        - exec-host: \"ddev snapshot\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Damit wir immer vor dem Beenden des Projekts eine Sicherung der Datenbank(en) erstellt. Und zwar im Verzeichnis <code>.ddev\\db_snapshots<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Allerdings kann es erforderlich sein, bestimmte Zwischenst\u00e4nde zu sichern:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ddev snapshot --name name_der_sicherung<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">und wieder zur\u00fcckzuspielen<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ddev snapshot restore name_der_sicherung<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gel\u00f6scht werden Snapshots mit<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ddev snapshot --cleantup --name name_der_sicherung<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor ein Snapshot mit diesem Namen erneut erstellt werden kann, muss <code>ddev restart<\/code> ausgef\u00fchrt werden, weil die Erzeugung sonst fehlschl\u00e4gt, weil noch Leichen vom alten Snapshot im Speicher bzw. der Festplatte bleiben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Snapshots anzeigen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Eine Liste aller vorhandenen Snapshots wird mit <code>ddev snapshot --list<\/code> angezeigt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auf XAMPP Ubuntu starten. Man befindet sich dann gleich im Homeverzeichnis des Webservers. Dort in das Verzeichnis des Projektes wechseln, das gestartet werden soll. Ein Projekt f\u00fcr DDEV wird eingerichtet, in dem im jeweiligen Projektverzeichnis ddev config gestartet wird. Anschlie\u00dfend im Verzeichnis .ddev die Datei config.yaml anpassen. xdebug_enabled muss auf true gesetzt werden. Zus\u00e4tzliche Einstellungen [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1503","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/pages\/1503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1503"}],"version-history":[{"count":13,"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/pages\/1503\/revisions"}],"predecessor-version":[{"id":1883,"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=\/wp\/v2\/pages\/1503\/revisions\/1883"}],"wp:attachment":[{"href":"https:\/\/wiki.ad-libitum.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}