Bei Kolab 3.4 (Multidomain-Setup) Domains richtig löschen

Möchte man bei Kolab Domains löschen, markiert man diese im Kolab-Webadmin-Panel als „deleted“. Damit werden Sie ausgegraut. Recherchen zufolge sollte nach einiger Zeit ein Cronjob ablaufen, der diese Domains dann entgültig aus dem LDAP-Server löscht.

Auch wenn die Kombination von Debian und Kolab nicht „so toll“ ist, habe ich diese im Einsatz. Unter Debian funktioniert dieser Cronjob nicht – sei auch dahin gestellt, ob er überhaupt existiert.

Möchte man nun aber eine bestimmte Domain löschen, sodass sie nicht mehr von Postfix und anderen Diensten mit dem lokalen System assoziiert wird, muss die oben beschriebene Aktion gemacht werden.

Anschließend muss ein PHP-Script auf den Server geladen und ausgeführt werden, welches die Domain löscht. (Die genaue Beschreibung folgt in diesem Artikel, vorher möchte ich noch kurz erklären warum man in einigen Fällen die Domain nicht einfach ausgegraut lassen und ignorieren kann.

Wir stellen uns vor, wir haben zwei Domains. Beide sind im Kolab konfiguriert und „liegen“ somit auf der gleichen Maschine. Sende ich von Domain 1 an Domain 2 nun eine Mail, wird diese nicht den Weg über das Internet gehen, sondern direkt lokal in das Postfach unter Domain 2 zugestellt.

Das erzeugt ein Problem, wenn man die Domain umziehen möchte, aber sie nicht vollständig löschen kann. Denn immer, wenn man nun eine Mail von Domain 1 an Domain 2 schickt, würde das System versuchen, die Mail direkt in das Postfach von Domain 2 zu legen. Auch wenn der Mailserver von Domain 2 längst ein anderer ist. (Ich hoffe, das Problem ausreichend erläutert zu haben.)

Nun zu einem Workaround, den ihr verwenden könnt, wenn die Domain nicht korrekt gelöscht werden kann (z. B. weil ihr auf den Debian-Kolab-Verbund setzt und die Debian-Versionen von Kolab immer ein bisschen stiefmütterlich behandelt werden).

Schritt 1: Zu löschende Domains als „deleted“ im Kolab-Webadmin-Panel markieren.

Selection_002

Schritt 2: Das domain_delete.php-Script auf den Server laden.

Im neuen Repository von Kolab befindet sich die delete_domain.php. Die fehlt, soweit ich das überblicken konnte, beim Debian-Kolab vollständig.

Daher diese Datei (EDIT, Link offline, Datei siehe hier) herunterladen und auf den Server übertragen.

Ein passendes Verzeichnis wäre laut Quelle /usr/share/kolab-webadmin/lib. Da habe auch ich die Datei abgespeichert.

Schritt 3: Mit php-cli die domain_delete.php aufrufen.

php delete_domain.php

Alle zu löschenden Domains werden nun gelöscht.

Schritt 4: Nicht über die merkwürdige Ausgabe des Scriptes wundern.

Erfolg der Löschung der Domains wird wie folgt bestätigt:

php domain_delete.php
Deleting domain domain.com... Error: Failed to delete dc=domain,dc=com.
Deleting domain domain.de... Error: Failed to delete dc=domain,dc=de.

Dabei sollte man sich nicht verwirren lassen. Im LDAP sind die DC’s (Domain Components) aufgrund von existierenden Children nicht löschbar. Ansonsten funktioniert das Script (zumindest bei mir unter Kolab 3.4) einwandfrei. Keiner der Dienste auf dem Server kennt die Domain mehr.

Quelle

Hinweis: Ich muss noch darauf hinweisen, dass eine gleiche, wenn auch nicht so detaillierte Anleitung in englischer Sprache bereits existierte. Den Lösungsansatz habe ich daher.

Da dieses Problem in meinen Augen ein Bug ist, habe ich auch gleich noch einen passenden Bugreport im Bugzilla von Kolab erstellt – siehe #5235 im Kolab-Bugsystem (Link nicht mehr verfügbar, kein Wayback-Machine Abbild verfügbar).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert