# Modul domain {#kap-modul-domain} ## Funktionen `domain.search` : Suche Domain nach den im Befehlsausdruck angegebenen Feldern und Werten `domain.add` : Füge eine neue Domain nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu. `domain.update` : Aktualisiere eine Domain nach den im Befehlsausdruck angegebenen Feldern und Werten. `domain.remove` : Lösche eine Domain nach den im Befehlsausdruck angegebenen Feldern und Werten. ## Editierbare Felder Das HSAdmin-Modul `domain` kann entsprechend der folgenden Befehlssyntax von `HSAdmin` Felder setzen oder verändern: domain.function({where:{field:'value',...}, set:{field:'value',...}}) Im Modul `domain` stehen folgende Felder zur Verfügung. `name` : Name einer Domain `user` : Name des Domain-Admins `validsubdomainnames` : leichtgewichtige Subdomains in diesem Virtual-Host des Webservers, gültige Werte: `*` für beliebige Subdomains oder eine kommaseparierte Liste: `www,blog,other` `greylisting` : E-Mails werden verzögert durch den Mailserver angenommen, siehe `Greylisting`. Ist die Option deaktivert, werden E-Mails ohne Verzögerung angenommen. `multiviews` : Der Webserver berücksichtigt Einstellungen im Browser beim Abruf einer Domain (z.B. eine bevorzugte Sprache). Die Option kann mit einer `.htaccess`-Datei für jedes Verzeichnis konfiguriert werden. `indexes` : Der Webserver erzeugt für Verzeichnisse, die keine eigene Index-Datei enthalten, eine Liste mit den im Verzeichnis enthaltenen Dateien. Ist die Option deaktiviert, wird ein Fehler 303 ausgegeben. Die Option kann mit einer .htaccess-Datei für jedes Verzeichnis konfiguriert werden. `htdocsfallback` : Der Webserver leitet auf die Hauptdomain, wenn keine Sub-Domain angelegt ist. Ist die Option deaktivert, wird ein Fehler 404 ausgegeben: Seite nicht gefunden. `includes` : Der Webserver erkennt `SSI`-Komandos und -Dateien. Die Option kann mit einer .htaccess-Datei für jedes Verzeichnis konfiguriert werden. `backupmxforexternalmx` : Der Paket-Hive wird als Weiterleitung (transport) beim Mail-In-Server eingetragen. Ist die Option aktiv, ist der Hostsharing-Mail-In-Server Backup-MX. Der eigentliche Mailserver befindet sich außerhalb der Infrastruktur von Hostsharing (z.B. anderer Provider, DSL-Anschluss mit fester IP) `letsencrypt` : Es wird automatisch ein TLS Zertifikat für diese Domain und alle im Feld „validsubdomainnames" angegebenen Subdomains erzeugt `autoconfig` : Eine Unterstützung für die Konfiguration von E-Mail-Programmen durch die Verfahren \"Autoconfig\" (Mozilla) und \"Autodiscover\" (Microsoft) wird für die Domain eingeschaltet ::: note Die Option `backupmxforexternalmx` erfordert Änderungen am `Zonefile<../zonefile/index>`{.interpreted-text role="doc"} einer Domain. ::: ## Beispiele Mit dem folgenden Befehl schalten wir die Domain `hs-example.de` auf und ordnen Sie dem Domain-Admin `xyz00-hsexample` zu. ``` console xyz00@hsadmin> domain.add({set:{name:'hs-example.de',user:'xyz00-hsexample'}}) ``` Mit dem Befehl `domain.search` werden alle Informationen zu einer Domain angezeigt. Die gesuchte Domain wird mit dem Befehlsausdruck `where` ausgewählt. ``` console xyz00@hsadmin> domain.search({where:{name:'hs-example.de'}}) ``` Und mit dem Befehl `domain.remove` können wir eine Domain entfernen. ``` console xyz00@hsadmin> domain.remove({where:{name:'hs-example.de'}}) ``` Mit dem Befehl `domain.update` lassen sich die Einstellungen für eine Domain verändern. Bei einer Änderung der Domain-Optionen, wie im folgenden Beispiel, müssen immer alle Optionen angegeben werden, die gesetzt sein sollen, da der Befehl die bereits gesetzten Domain-Optionen komplett überschreibt. ``` console xyz00@hsadmin> domain.update({where:{name:'hs-example.de'},set:{domainoptions:['htdocsfallback','indexes','greylisting','letsencrypt','autoconfig']}}) ```