30.01.2014, Kai Gertz

Acquia Dev Desktop 2

Wir bei Tojio benutzen zum Entwicklen von Drupal-Websites den Acquia DevDesktop in der Version 2. Gespickt mit allem, was man zur Drupal-Entwicklung braucht ...

Site aus einer Multisite-Installation löschen

Wir bei Tojio benutzen zum Entwicklen von Drupal-Websites den Acquia DevDesktop in der Version 2. Gespickt mit allem, was man zur Drupal-Entwicklung braucht (u.a. Drush und ein komplett vorkonfigurierter Drupal-Stack) und der nahtlosen Integration in die Acquia Cloud ist das ein sehr gutes Tool für Drupalistas, auch wenn es noch eine Beta-Version ist.

Ein Nachteil der Software trat allerdings heute zutage: es gibt keine einfache Möglichkeit in der Benutzeroberfläche, eine einzelne Site aus einer Multisite-Installation zu löschen. Da man als Developer jedoch nicht davor zurück schreckt, die Fäden hinter der Oberfläche zu ziehen, will ich hier die Lösung dieses Problems beschreiben.

Das Löschen von Seiten ist nicht vorgesehen?

Es ist eigentlich absurd, man kann in Windeseile und sehr komfortabel neue Sites innerhalb einer Multisite-Installation anlegen. Aber man kann sie nicht mehr löschen..!? In der Benutzeroberfläche gibt es keine Option für sowas, lediglich die gesamte Drupal-Installation kann man mit allen Sites, Files und Datenbanken auf einmal löschen.

Beim Anlegen neuer Sites in einer Multisite-Installation führt der DevDesktop folgende Schritte aus:

  • einen Eintrag in /etc/hosts erstellen, so dass die benutzte Domain auf den lokalen Rechner verweist
  • ein Verzeichnis im Ordner sites und einen Alias site.local erstellen
  • eine Datenbank anlegen (und ggf. eine importieren)
  • eine lokale Settings-Datei erstellen unter ~/.acquia/DevDesktop/DrupalSettings/devdesktop_{site_url}_local.inc
  • einen Drush-Alias anlegen in der Datei ~/.acquia/DevDesktop/Drush/loc.aliases.drushrc.php

Man sollte denken es reicht nun, diese Schritte von Hand wieder rückgängig zu machen, um die Seite zu löschen – und es reicht auch fast. Allerdings wird Die gelöschte Site im Control Panel unter den Multisites immer noch angezeigt. Und was noch ärgerlicher ist: wenn man jemals wieder versucht, eine Site mit der gleichen URL anzulegen, bricht der DevDesktop mit der Fehlermeldung ab, eine Seite mit diesem hostname bestehe schon.

Die Lösung: die internen Daten des DevDesktop manipulieren

Um die Site komplett auch aus dem Control Panel zu löschen, sind folgende Schritte notwendig:

  1. in den Ordner Programme > Dev Desktop wechseln
  2. [CTRL]-Klick auf Acquia Dev Desktop und „Paketinhalte anzeigen“ auswählen
  3. Zu Contents > MacOS gehen
  4. Die Datei „datamodel.xml“ öffnen, den entsprechenden Abschnitt löschen
  5. Acquia DevDesktop neu starten Die ursprüngliche Lösung (auf Englisch) habe ich hier im DevDesktop-Forum von Acquia gepostet.