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-Administrators
validsubdomainnames-
leichtgewichtige Subdomains in diesem Virtual-Host des Webservers, gültige Werte:
*für beliebige Subdomains oder eine kommaseparierte Liste:www,blog,other domainoptions-
im Parameter
domainoptionswird ein Array mit allen Domain-Optionen erwartet, die aktiv sein sollen. Werte, die nicht aufgezählt sind, werden inaktiv gesetzt!
Folgende Domain-Optionen werden unterstützt:
E-Mail-Optionen:
greylisting-
E-Mails werden verzögert durch den Mailserver angenommen, siehe
Greylisting. Ist die Option deaktivert, werden E-Mails ohne Verzögerung angenommen. 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
dkim-
ausgehende E-Mails werden auf dem zuständigen Server mit einer DKIM-Signatur versehen. Für die Signatur wird ein geheimer Schlüssel verwendet. Der öffentliche Schlüssel zu diesem Schlüsselpaar muss im DNS für die Domain hinterlegt sein, bevor diese Option aktiviert wird!
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)
Die Optionen autoconfig, backupmxforexternalmx und dkim erfordern Änderungen am Zonefile einer Domain.
Apache-Webserver-Optionen:
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. letsencrypt-
Es wird automatisch ein TLS Zertifikat für diese Domain und alle im Feld „validsubdomainnames" angegebenen Subdomains erzeugt
Apache-Scripting-Optionen:
cgi-
Es können über das http Protokoll CGI Skripte ausgeführt werden.
fastcgi-
Es können über das https Protokoll FastCGI Skripte ausgeführt werden. Das wird für die Ausführung von Anwendungen mit PHP benötigt.
passenger-
Es können Anwendungen mit Hilfe von Passenger betrieben werden. Das kann zum Beispiel für die Ausführung von Anwendungen mit Python oder Ruby oder Node.js eingesetzt werden.
passengerfriendlyerrorpages-
Dadurch wird der Debug Modus von Passenger aktiviert, der hilfreiche Meldungen bei Fehlern ausgibt. Für den Produktiveinsatz sollte diese Option wieder deaktiviert werden.
Folgende Pfade können gesetzt werden:
passenger_python-
Hier kann entweder das vorinstallierte Python mit
/usr/bin/python3konfiguriert werden, oder es kann ein selbst-installiertes Python mit einem beliebigen Pfad konfiguriert werden. passenger_nodejs-
Hier kann entweder das vorinstallierte Node.js mit
/usr/bin/nodekonfiguriert werden, oder es kann ein selbst-installiertes Node.js mit einem beliebigen Pfad konfiguriert werden. passenger_ruby-
Hier kann entweder das vorinstallierte Ruby mit
/usr/bin/rubykonfiguriert werden, oder es kann ein selbst-installiertes Ruby mit einem beliebigen Pfad konfiguriert werden. fcgi_php_bin-
Hier kann entweder ein vorinstalliertes PHP mit
/usr/lib/cgi-bin/php,/usr/lib/cgi-bin/php7.4,/usr/lib/cgi-bin/php8.0usw konfiguriert werden, oder es kann ein selbst-installiertes PHP mit einem beliebigen Pfad konfiguriert werden.
Beispiele
Mit dem folgenden Befehl schalten wir die Domain hs-example.de auf und ordnen Sie dem Domain-Admin xyz00-hsexample zu.
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.
xyz00@hsadmin> domain.search({where:{name:'hs-example.de'}})
Und mit dem Befehl domain.remove können wir eine Domain entfernen.
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.
xyz00@hsadmin> domain.update({where:{name:'hs-example.de'},set:{domainoptions:['htdocsfallback','indexes','greylisting','letsencrypt','autoconfig']}})