single.php

Letztes Update am

Übersicht: Was muss für DDEV installiert werden?

XCODE installieren
HOMEBREW installieren
DOCKER für Mac OS installieren
DDEV installieren

Das sind nur die Vorarbeiten. Wie immer wirkt alles rund um Drupal wie ein unaufgeräumter Schrottplatz. Also: 17 Schritte, bevor Drupal 10 installiert werden kann:

  1. Drupal 10 installieren.
  2. OK, erst mal auf dem lokalen Rechner mit Composer
  3. Dafür brauchst du ddev. Fein. 
  4. ddev? Erst mal installieren. Dafür brauchst du brew. 
  5. brew? Erst mal installieren. HÄ?
  6. OK. Jetzt brew ddev. Fein. 
  7. Your Xcode (14.3.1) is too outdated.
  8. Wie bitte?
  9. Xcode 15 Beta installieren
  10. Error: You have not agreed to the Xcode license.
  11. zsh functions have been installed to:
  12. /usr/local/share/zsh/site-functions
  13. Unable to get Docker context: unable to run ‚docker context inspect‘ 
  14. Failed to start mdp: unable to listen on required ports, port 80 is already in use,
  15. Troubleshooting suggestions at https://ddev.readthedocs.io/en/stable/users/basics/troubleshooting/#unable-listen 
  16. Die wollen Port 80! Das ist der Standard-Port von Apache auf MacOS. Echt jetzt?
  17. MacOS Apache Port auf 443, warum nicht?

Also, ALLES macht den Eindruck eines riesigen Ersatzteillagers, aus dem man sich Teile heraussucht, um etwas damit zu basteln.

Aber na gut. Läuft. Jetzt kann Drupal 10 installiert werden.

Drupal 10 mit ddev in nur 11 Schritten installieren

Im User-Verzeichnis ein Verzeichnis für ddev-Installationen anlegen, z.B. Sites, in Sites ein Verzeichnis mdp für Drupal 10 (Zeilen mit # sind ddev-Ausgaben):

Schritt 1

Schritt 2

Im web-Verzeichnis unter sites liegen jetzt die folgenden Dateien:

sites
  default
    default.services.yml
    default.settings.php
    files
    settings.ddev.php
    settings.php
  development.services.yml
  example.settings.local.php
  example.sites.php

Schritt 3

default.settings.php auf settings.php kopieren
example.settings.local.php zu settings.local.php umbenennen

Schritt 4

Und noch in settings.php die Kommentarzeichen der letzten Zeilen (880+) löschen

#
 if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
   include $app_root . '/' . $site_path . '/settings.local.php';
 }

Schritt 5

Nach den Änderungen in settings.php muss ddev neu gestartet werden:

ddev restart

Schritt 6

Wenn der Neustart gelaufen ist, kann die Seite aufgerufen werden. ddev hat die Datenbank-Informationen bereits übernommen, nur noch Name, Slogan usw. eintragen oder mit ddev installieren:

ddev composer require drush/drush
…
#Using version ^12.4 for drush/drush
…
ddev drush site:install --site-name=mdp --account-name=admin --account-pass=admin
…
#Installation complete.
–
ddev launch

Schritt 7

Noch drush installieren

ddev composer require drush/drush

ddev launch startet die Drupal-Seite im Browser. Modul installieren, z.B. Gutenberg:

ddev composer require 'drupal/gutenberg:^2.8'

Ein paar ddev-Befehle

ddev start

Um ein Image in Gang zu setzen. Oder:

ddev launch

Um das Projekt gleich im Browser zu öffnen.
Anmelden wie beim Server, dann geht’s auch sofort in den web-Ordner.

ddev ssh

Und wieder abmelden mit

ddev exit

Alle Projekte stoppen und dann Zertifikat installieren

ddev stop --all
mkcert -install
ddev list to

zeigt eine Übersicht über alle Projekte – schön in einer Tabelle.

ddev poweroff

fährt alle Projekte runter.

ddev describe

So dieses oder jenes zum Projekt. Und einen Schnappschuss der Datenbank erzeugen

ddev snapshot --name="tuts-gerade-mal-ganz-gut"

Das Backup landet im Ordner .ddev des Projekts.

ddev restore-snapshot

Datenbank des Projekts exportieren

ddev export-db --file=/Users/Emma/Desktop/mdp.db.sql.gz

Die Konfiguration mit drush exportieren

ddev drush cex
#Configuration successfully exported to sites/default/files/sync.

Das Ergebnis ist eine ellenlange Liste von yml-Dateien

Einmaliges login mit drush

ddev drush uli
-rw-r--r--    1 emma  staff     90  6 Dez 03:29 automated_cron.settings.yml
-rw-r--r--    1 emma  staff    430  6 Dez 03:29 block.block.claro_breadcrumbs.yml
-rw-r--r--    1 emma  staff    419  6 Dez 03:29 block.block.claro_content.yml
-rw-r--r--    1 emma  staff    380  6 Dez 03:29 block.block.claro_help.yml
…

Externe Quellen