KeyHelp: Domains und Subdomains anlegen und Domain-Ziel sowie Verzeichnis richtig wählen
So legen Sie in KeyHelp Haupt- und Subdomains mit eigenem Verzeichnis an, wählen ein bestehendes Ziel, vermeiden die Falle mit der www-Subdomain und räumen nach dem Löschen richtig auf, mit den Apache-Einträgen aus dem Test.
Geprüft am 01.10.2026 · für KeyHelp 26.1.1
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Die meisten Probleme mit Websites auf einem KeyHelp-Server beginnen nicht beim Code, sondern beim Anlegen der Domain: Eine zweite Website landet im selben Ordner wie die erste, eine Subdomain zeigt plötzlich die Hauptseite, oder nach dem Löschen einer Domain liegen noch Gigabytes an Daten herum. Diese Anleitung zeigt, wie Sie in KeyHelp Haupt- und Subdomains sauber anlegen, wie Sie das richtige Domain-Ziel und Verzeichnis wählen und was KeyHelp dabei auf dem Server tatsächlich konfiguriert. Sie richtet sich an Administratoren, die einen Server wie in KeyHelp installieren und absichern betreiben, und an deren Kunden. Getestet haben wir mit KeyHelp 26.1.1 auf Debian 12 und einem Testkunden.
Voraussetzungen
- KeyHelp mit Admin- oder Kundenzugang. Getestet mit KeyHelp 26.1.1 (Build 3698) auf Debian 12. Kunden sehen im eigenen Bereich ebenfalls „Domain hinzufügen“, dazu ihr Kontingent, im Test „Domains 3 / Unbegrenzt“.
- Ein Benutzerkonto als Besitzer. Jede Domain gehört in KeyHelp zu genau einem Benutzer, ihre Dateien liegen in dessen Ordner
/home/users/BENUTZER/www/. - DNS-Einträge, die auf den Server zeigen, wenn die Domain öffentlich erreichbar sein soll. Für den reinen Test reicht der Aufruf direkt auf dem Server mit curl.
- Optional SSH-Zugang, um Verzeichnisse und Apache-Konfiguration nachzuprüfen.
Schritt 1: Hauptdomain mit eigenem Verzeichnis anlegen
Als Administrator öffnen Sie „Domains“ und klicken auf „Domain hinzufügen“. KeyHelp fragt zuerst nach dem „Besitzer“, mit dem Hinweis, dass Sie ihn vor allen anderen Einstellungen auswählen müssen. Nach „Weiter“ erscheint das eigentliche Formular mit den Reitern „Allgemein“, „Sicherheit“, „E-Mail“, „Interpreter“, „Apache-Einstellungen“ und „Erweiterte Einstellungen“. Kunden landen ohne Besitzer-Auswahl direkt in diesem Formular.
Im Reiter „Allgemein“ wählen Sie:
- „Domain-Typ“: „Hauptdomain“ für eine eigenständige Domain wie
kunde2.example.de. - „Vollständiger Domainname“: ohne
http://und ohnewww.. - „Erstelle www-Subdomain“: ab Werk angehakt. KeyHelp legt dann
www.kunde2.example.deals zusätzliche Subdomain an. - „Domain-Ziel / Hosting-Typ“: „Lokales Verzeichnis“, wenn die Website auf diesem Server liegt.
- „Verzeichnis“: der Pfad unterhalb von
/www. Laut Formular wird das Verzeichnis erstellt, wenn es nicht existiert. - „DNS deaktivieren“: nur anhaken, wenn die DNS-Zone nicht auf diesem Server verwaltet werden soll.
Der wichtigste Punkt ist das Verzeichnis. Ab Werk steht dort /, also das gesamte www-Verzeichnis des Kunden, in dem bereits seine erste Domain liegt. Sobald Sie den Domainnamen eingeben und das Feld verlassen, trägt KeyHelp automatisch /kunde2.example.de/ ein. Übernehmen Sie diesen Vorschlag. Würden Sie / stehen lassen, zeigten beide Domains dieselben Dateien, und die Unterordner anderer Websites wären über die erste Domain mit erreichbar.
Nach „Speichern“ meldete KeyHelp „Die folgenden Domains wurden erfolgreich angelegt.“ mit kunde2.example.de und www.kunde2.example.de.
Ein Blick in die erzeugte Apache-Konfiguration erklärt, warum das Verzeichnis so wichtig ist. Jede Domain und jede Subdomain bekommt einen eigenen VirtualHost mit eigenem DocumentRoot, läuft aber über SuexecUserGroup "kunde1" "kunde1" und denselben PHP-FPM-Socket /run/php/keyhelp_kunde1.socket wie alle anderen Websites des Kunden. Verzeichnislisten sind mit Options -Indexes abgeschaltet. Websites eines Kunden sind also nur durch ihre Ordner getrennt, nicht durch eigene Systembenutzer. Wer zwei Projekte strikt voneinander trennen muss, legt dafür zwei Benutzerkonten an.
Verifizieren: Nach etwa einer Minute, wenn der KeyHelp-Cronjob gelaufen ist, lag im Test unter /home/users/kunde1/www/kunde2.example.de/ die Standardseite (index.html und bulma.min.css). In /etc/apache2/keyhelp/vhosts/kunde1.conf stand ein eigener VirtualHost mit DocumentRoot "/home/users/kunde1/www/kunde2.example.de/", die Logs landen getrennt in /home/users/kunde1/logs/kunde2.example.de/. curl -s -o /dev/null -w "%{http_code}\n" -H "Host: www.kunde2.example.de" http://127.0.0.1/ lieferte 200.
Schritt 2: Subdomain anlegen
Subdomains entstehen im selben Formular. Wählen Sie bei „Domain-Typ“ „Subdomain“. Das Namensfeld teilt sich dann in zwei Teile: links der Name, etwa shop, rechts eine Auswahl der vorhandenen Hauptdomains des Besitzers. Im Test standen dort kunde1.example.de und die System-Domain kunde1.server.example.de. Das Kästchen für die www-Subdomain verschwindet bei Subdomains.

Auch hier füllt KeyHelp das Verzeichnis automatisch mit dem vollständigen Namen, im Test /shop.kunde1.example.de/. Dieser Ordner liegt allerdings innerhalb von /www, und die Hauptdomain kunde1.example.de zeigt auf genau dieses /www. Im Test lieferten deshalb http://shop.kunde1.example.de/test.txt und http://kunde1.example.de/shop.kunde1.example.de/test.txt beide den Status 200. Die Inhalte jeder Website sind also auch über die Hauptdomain erreichbar. Wer das vermeiden will, legt die erste Website ebenfalls in einen eigenen Unterordner, etwa /kunde1.example.de/, und lässt /www selbst leer.
Verifizieren: In der Domainübersicht erscheint die Subdomain eingerückt unter ihrer Hauptdomain. In der DNS-Zone des Tests war kein eigener Eintrag nötig, weil KeyHelp ab Werk einen Platzhalter * IN A auf die Server-IP setzt. Das prüfen Sie in /etc/bind/keyhelp_domains/kunde1.example.de.
Schritt 3: Bestehendes Verzeichnis als Ziel wählen
Soll eine weitere Domain dieselbe Website zeigen, etwa eine zweite Schreibweise, wählen Sie als Verzeichnis den vorhandenen Ordner. Neben dem Feld „Verzeichnis“ öffnet „Durchsuchen...“ eine Ordnerliste des www-Verzeichnisses. Mit .. gehen Sie eine Ebene nach oben, ein Klick auf einen Ordner übernimmt ihn ins Feld. Mit „Verbergen“ schließen Sie die Liste wieder.

Beim Ändern des Ziels fiel uns im Test eine Falle auf: Wir haben das Verzeichnis der Hauptdomain kunde3.example.de nachträglich auf /kunde2.example.de/ umgestellt. Die zugehörige www.kunde3.example.de zeigte danach weiterhin auf den alten Ordner. Die www-Subdomain ist ein eigener Eintrag und muss separat bearbeitet werden. Prüfen Sie nach jeder Zieländerung beide Zeilen in der Übersicht.
Verifizieren: Die Spalte „Domain-Ziel“ in „Domains“ zeigt für jede Domain und Subdomain den Pfad, im Kundenbereich ebenso. Gleichen Sie dort Haupt- und www-Eintrag ab.

Schritt 4: Domain löschen und Reste beseitigen
Das Löschen startet über den Papierkorb in der Übersicht. KeyHelp zeigt eine Zusammenfassung mit „Domain-Ziel“, „Anzahl E-Mail-Konten“ und „Anzahl Subdomains“ und den Hinweis: „Die Webspace-Daten verbleiben am konfigurierten Zielspeicherort und müssen manuell gelöscht werden. Außerdem werden keine zugehörigen Datenbanken oder geplanten Aufgaben gelöscht.“ Ohne das Kästchen „Bestätigung“ lässt sich der Vorgang nicht abschicken.
Im Test verschwanden nach dem Löschen von kunde3.example.de die Domain, ihre www-Subdomain und die DNS-Zone. Die Log-Verzeichnisse unter /home/users/kunde1/logs/ entfernte KeyHelp mit. Der Ordner /www/files/, auf den die www-Subdomain noch zeigte, lag dagegen weiterhin mit Inhalt auf dem Server und zählt weiter zum Speicherplatz des Kunden.
Verifizieren: ls /home/users/BENUTZER/www/ zeigt verbliebene Ordner. Löschen Sie sie erst, wenn keine andere Domain mehr darauf zeigt, das sehen Sie in der Spalte „Domain-Ziel“.
Typische Fehler
„Die Domain kunde2.example.de existiert bereits.“
Die Domain ist auf dem Server schon angelegt. Prüfen Sie in „Domains“ mit der Suche, wem sie gehört und auf welches Ziel sie zeigt.
„Ungültige Angabe im Feld Vollständiger Domainname.“
Kam im Test bei Kunde3_test.example.de (Unterstrich) und bei kunde3 ohne Endung. Erlaubt sind nur gültige Hostnamen mit Endung.
„Bitte wählen Sie eine gültige Hauptdomain.“
Erscheint, wenn Sie bei einer Subdomain den Namen eintragen, aber rechts „-- Bitte auswählen --“ stehen lassen.
Pfad mit .. wird nicht abgewiesen, sondern umgebogen
Wir haben als Verzeichnis /../files/ eingetragen. KeyHelp speicherte ohne Meldung, machte daraus aber /home/users/kunde1/www/./files/ und legte den Ordner innerhalb von www an. Ein Ausbruch aus dem Webverzeichnis gelang nicht, das Ergebnis entsprach aber nicht der Eingabe. Nutzen Sie lieber „Durchsuchen...“.
Neue Domain zeigt kurz die Fehlerseite
Verzeichnisse und Apache-Konfiguration schreibt KeyHelp per Cronjob im Minutentakt. Bis dahin leitet der Server auf die Seite für nicht existierende Domains um.
Häufige Fragen
Wann Subdomain, wann eigene Hauptdomain?
Eine Subdomain hängt an einer Hauptdomain. Im Test verschwand www.kunde3.example.de beim Löschen von kunde3.example.de mit, und laut Hinweis unter „Erweiterte Einstellungen“ deaktiviert das Deaktivieren einer Hauptdomain auch alle Subdomains. Eigenständige Domains mit eigener DNS-Zone legen Sie als Hauptdomain an.
Kann ich eine Domain direkt weiterleiten statt Dateien zu hosten?
Ja, mit „Weiterleitung“ als Domain-Ziel. Das Formular bietet dann 301 und 302 an. Die Details dazu behandeln wir in einer eigenen Anleitung zu Weiterleitungen.
Was ist die Domain kunde1.server.example.de in der Liste?
Das ist die System-Domain, die KeyHelp für jedes Konto automatisch anlegt. Das Schema steht unter „Konfiguration“ → „System-Domain-Schema“, im Test <USERNAME>.<PANEL_DOMAIN>, also Benutzername plus Hostname des Servers. Im Test zeigte sie ebenfalls auf /www, also auf dieselben Dateien wie kunde1.example.de.
Kann ich Domains per Skript anlegen?
Ja, über die REST-API, siehe KeyHelp-REST-API nutzen.
Wie bekommt die neue Domain HTTPS?
Im Reiter „Sicherheit“ stehen „Let's Encrypt“ und eigene Zertifikate zur Wahl. Ohne Zertifikat leitete KeyHelp im Test HTTPS-Aufrufe per 302 auf HTTP um. Mehr dazu in SSL-Zertifikate in KeyHelp.
Testumfang
Wir haben auf KeyHelp 26.1.1 eine Hauptdomain mit www, eine Subdomain und eine Domain mit bestehendem Verzeichnis angelegt, das Ziel geändert, eine Domain gelöscht und typische Fehleingaben ausprobiert, jeweils mit Blick auf Verzeichnisse, Apache-Konfiguration und curl. Auffällig: Die www-Subdomain folgt Zieländerungen nicht. Echte DNS-Auflösung und Let's Encrypt haben wir nicht geprüft. Kontrollieren Sie nach jeder Änderung die Spalte „Domain-Ziel“.
Fazit
Das Anlegen einer Domain ist in KeyHelp schnell erledigt, entscheidend ist das Verzeichnis. Übernehmen Sie den Vorschlag mit dem Domainnamen, halten Sie /www selbst möglichst frei und denken Sie daran, dass die www-Subdomain ein eigener Eintrag ist. Beim Löschen räumt KeyHelp Konfiguration, Logs und DNS auf, Webspace-Dateien und Datenbanken bleiben Ihre Aufgabe.
Weiterführende Anleitungen und Quellen
- KeyHelp installieren und absichern: das kostenlose Hosting-Panel für eigene Server
- KeyHelp: Eigenes Erscheinungsbild, Standardseite neuer Domains und Verhalten nicht verfügbarer Domains festlegen
- KeyHelp-REST-API nutzen: Kunden, Domains und Postfächer per Skript anlegen
- KeyHelp Knowledge Base: Domain bearbeiten
- KeyHelp Knowledge Base: Subdomain anlegen
- Keyweb: KeyHelp, alle Funktionen im Überblick


