Arama Yap Mesaj Senden
Rückruf anfordern
+90
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro

Kontaktieren Sie uns

Standort Halkali Merkez Viertel Fatih Str. Ozgur Apt. No. 46, Kucukcekmece, Istanbul, 34303, TR
Domain-Massenautomatisierung

Fügen Sie einem DirectAdmin-Konto Hunderte Domains per temporärem API-Zugriff hinzu

Der DirectAdmin-Befehl da api-url erzeugt einen kurzlebigen Login Key für den Zielbenutzer. In Kombination mit CMD_API_DOMAIN lassen sich Hunderte Domains erstellen, ohne das Panelpasswort im Klartext zu speichern.

DirectAdmin API CMD_API_DOMAIN Login Keys SSH curl dataskq
root@eka-server
API_URL="$(da api-url --user=siteuser)"
curl -ksS -X POST "${API_URL}/CMD_API_DOMAIN" -d action=create -d domain=ornek.com -d uquota=unlimited -d ubandwidth=unlimited -d ssl=ON -d php=ON
da docs-root
100+Domains unter einem Benutzer
APICMD_API_DOMAIN-Ablauf
KeyKurzlebiger Zugriff
JSONDocument-Root-Prüfung
01
Architekturentscheidung

Wählen Sie vor dem Hinzufügen Hunderter Domains das richtige Hostingmodell

Massenautomatisierung darf keine falsche Architektur beschleunigen. Entscheiden Sie zuerst über Kundenisolation, Ressourcenlimits, Anwendungsroots sowie Mail- und DNS-Eigentum.

01

Domains unter vorhandenem Benutzer

Fasst Domains desselben Kunden innerhalb der vdomains- und Quotalimits des Benutzers zusammen.

02

Separate DirectAdmin-Benutzer

Für verschiedene Kunden und Sicherheitsgrenzen sollten zuerst Benutzerkonten mit Paketen erstellt werden.

03

Temporärer Login Key

da api-url erzeugt für jede Nutzung kurzlebige Zugangsdaten und ist sicherer als ein dauerhaftes Adminpasswort im Skript.

04

Webserverauswahl

DirectAdmin kann Apache-, nginx+Apache-, nginx- oder OpenLiteSpeed-Vorlagen verwenden. Überlassen Sie die Domainanlage der Panel-API.

02
Voraussetzungen

Voraussetzungen vor dem Massenvorgang

Root-SSH-Zugriff und funktionierendes DirectAdmin-Binary01
Login Keys und ausreichendes vdomains-Limit beim Zielbenutzer02
Werkzeuge curl, sed, awk und sha256sum03
Eine bereinigte UTF-8-Liste mit einer Domain pro Zeile04
Benutzerzugriff auf ausgewählte IP-, DNS- und PHP-Funktionen05
Sicherung der DirectAdmin-Benutzerkonfiguration und DNS-Zonen06
03
Implementierungsreihenfolge

Prüfunglierter und wiederherstellbarer Ablauf zum Massenhinzufügen

01

Prüfen Sie die Limits des Zielbenutzers

Stellen Sie sicher, dass vdomains, Quota, Bandbreite, DNS und PHP-Funktionen die neuen Domains aufnehmen können.

grep -E '^(vdomains|quota|bandwidth|dnscontrol|php)=' /usr/local/directadmin/data/users/siteuser/user.conf
02

Testen Sie die temporäre API-URL

Lesen Sie die Domainliste im Kontext des Zielbenutzers ohne dauerhaftes Passwort.

curl -ksS "$(da api-url --user=siteuser)/CMD_API_SHOW_DOMAINS"
03

Führen Sie einen Test mit zwei Domains durch

Prüfen Sie, ob die API error=0 liefert und Webservervorlagen erzeugt werden.

head -n 2 /root/domainler.txt > /root/domainler-test.txt
04

Führen Sie das Massenskript aus

Vor jeder Anfrage wird eine neue kurzlebige API-URL erzeugt und die Antwort in CSV gespeichert.

chmod 700 /root/directadmin-toplu-domain.sh
/root/directadmin-toplu-domain.sh
05

Überwachen Sie Task Queue und Webkonfiguration

Prüfen Sie DirectAdmin-Hintergrundaufgaben und die Erzeugung der Webservervorlagen.

tail -f /var/log/directadmin/system.log
/usr/local/directadmin/dataskq d
06

Prüfen Sie den Document-Root-Bestand

Zeigen Sie mit da docs-root die tatsächlichen HTTP- und HTTPS-Pfade als JSON an.

da docs-root
04
SSH, CLI und API

Kopierfertige Befehle und vollständiges Automatisierungsskript

01

DirectAdmin-Massen-API-Skript

Enthält kurzlebige Login Keys, Domainprüfung, CSV-Ergebnisse und Fehlerprotokollierung.

#!/usr/bin/env bash
set -Eeuo pipefail

DOMAIN_DOSYASI="/root/domainler.txt"
HEDEF_KULLANICI="siteuser"
SONUC="/root/directadmin-domain-sonuclari.csv"
HATA="/root/directadmin-domain-Fehlerlari.log"

[[ "$EUID" -eq 0 ]] || { echo "root gerekli"; exit 1; }
[[ -f "$DOMAIN_DOSYASI" ]] || { echo "domain listesi bulunamadi"; exit 1; }

printf '"domain","durum","kullanici","yanit"\n' > "$SONUC"
: > "$HATA"
chmod 600 "$SONUC" "$HATA"

while IFS= read -r SATIR || [[ -n "$SATIR" ]]; do
    DOMAIN="$(printf '%s' "$SATIR" | tr -d '\r' | tr '[:upper:]' '[:lower:]' | sed -E 's#^[[:space:]]+##;s#[[:space:]]+$##;s#^https?://##;s#^www\.##;s#/.*$##')"
    [[ -z "$DOMAIN" ]] && continue
    [[ "$DOMAIN" == \#* ]] && continue

    if [[ ! "$DOMAIN" =~ ^[a-z0-9][a-z0-9.-]*\.[a-z]{2,63}$ ]]; then
        printf '"%s","gecersiz","%s",""\n' "$DOMAIN" "$HEDEF_KULLANICI" >> "$SONUC"
        continue
    fi

    API_URL="$(da api-url --user="$HEDEF_KULLANICI" | sed -n 's/^URL:[[:space:]]*//p')"
    [[ -n "$API_URL" ]] || API_URL="$(da api-url --user="$HEDEF_KULLANICI")"

    YANIT="$(curl -ksS --request POST "${API_URL}/CMD_API_DOMAIN" \
        --data-urlencode "action=create" \
        --data-urlencode "domain=${DOMAIN}" \
        --data-urlencode "ubandwidth=unlimited" \
        --data-urlencode "uquota=unlimited" \
        --data-urlencode "ssl=ON" \
        --data-urlencode "cgi=OFF" \
        --data-urlencode "php=ON" 2>&1 || true)"

    HATA_KODU="$(printf '%s' "$YANIT" | tr '&' '\n' | awk -F= '$1=="error"{print $2}' | head -n1)"
    if [[ "$HATA_KODU" == "0" ]]; then
        TEMIZ="$(printf '%s' "$YANIT" | tr '\n' ' ' | sed 's/"/""/g')"
        printf '"%s","basarili","%s","%s"\n' "$DOMAIN" "$HEDEF_KULLANICI" "$TEMIZ" >> "$SONUC"
    else
        printf '%s | %s\n' "$DOMAIN" "$YANIT" >> "$HATA"
        TEMIZ="$(printf '%s' "$YANIT" | tr '\n' ' ' | sed 's/"/""/g')"
        printf '"%s","Fehlerli","%s","%s"\n' "$DOMAIN" "$HEDEF_KULLANICI" "$TEMIZ" >> "$SONUC"
    fi
done < "$DOMAIN_DOSYASI"

echo "Tamamlandi: $SONUC"
echo "Fehlerlar: $HATA"
02

API-Test für eine Domain

Prüfen Sie dieselben POST-Parameter vor der Massenverarbeitung mit einer Domain.

API_URL="$(da api-url --user=siteuser | sed -n 's/^URL:[[:space:]]*//p')"
curl -ksS -X POST "${API_URL}/CMD_API_DOMAIN" --data-urlencode action=create --data-urlencode domain=ornek.com --data-urlencode ubandwidth=unlimited --data-urlencode uquota=unlimited --data-urlencode ssl=ON --data-urlencode cgi=OFF --data-urlencode php=ON
03

Benutzerdomains auflisten

Rufen Sie vorhandene Domains über die API ab, um Duplikate zu verhindern.

curl -ksS "$(da api-url --user=siteuser)/CMD_API_SHOW_DOMAINS"
04

Webserverkonfiguration neu schreiben

Nur bei bestätigtem Bedarf nach Vorlagenänderungen oder fehlerhaften VHosts ausführen.

cd /usr/local/directadmin/custombuild
./build rewrite_confs
systemctl reload httpd 2>/dev/null || systemctl reload nginx
05
Betriebssystem und Stack

Unterschiede je nach Distribution und Webserver

Apache

In Standard-DirectAdmin-Setups werden Domain-VHosts aus Benutzerdaten erzeugt; vermeiden Sie manuelle VHost-Ergänzungen.

  • da docs-root
  • httpd -t
  • systemctl reload httpd

nginx + Apache

nginx kann Frontend und Apache Backend sein. Testen Sie beide Konfigurationen und prüfen Sie den Reload-Status.

  • nginx -t
  • httpd -t
  • systemctl reload nginx && systemctl reload httpd

OpenLiteSpeed

Verwenden Sie DirectAdmin-Vorlagen und CustomBuild-Verwaltung; setzen Sie keine Apache/nginx-Pfade voraus.

  • cd /usr/local/directadmin/custombuild && ./build options | grep -i webserver
  • systemctl status openlitespeed --no-pager
  • da docs-root
06
Fehlerbehebung

Häufige Fehler bei der massenhaften Domainanlage

5 Einträge
Fehlermeldung

error=1&text=Cannot create domain

Die Domain kann bereits existieren, das vdomains-Limit erreicht oder die Syntax abgelehnt sein.

Fehlermeldung

Authentication failed

Der Login Key kann abgelaufen sein, ein falscher Benutzerkontext verwendet oder die API-URL falsch verarbeitet worden sein.

Fehlermeldung

Domain already exists

Die Domain kann bei einem anderen DirectAdmin-Benutzer, als Pointer oder DNS-Zone vorhanden sein.

Fehlermeldung

dataskq backlog

Hunderte Domains können Web-, DNS-, Mail- und SSL-Aufgaben in die Warteschlange stellen und Verzögerungen verursachen.

Fehlermeldung

Web server config test failed

Eine benutzerdefinierte CustomBuild-Vorlage, fehlerhafte Rewrite-Regel oder kollidierende Domaindefinition kann vorhanden sein.

Kein passender Fehler gefunden.

Sicherheits- und Betriebsrisiken

Gehen Sie vor diesen Prüfungen nicht in Produktion

  • Führen Sie den ersten Lauf mit 2 Testdomains durch; übertragen Sie nicht sofort die vollständige Domainliste in die Produktion.
  • Bereiten Sie die Domainliste als reine Domainnamen ohne HTTPS, www oder Pfade vor.
  • Sichern Sie vor dem Vorgang Panelkonfiguration, DNS-Zonen und Webserverdateien.
  • Speichern Sie API-Schlüssel, Root-Passwörter oder erzeugte Benutzerpasswörter niemals im Webroot.
  • Massenhafte SSL-Anfragen vor Abschluss der DNS-Propagation können Rate-Limits und fehlgeschlagene Validierungen verursachen.
Prüfliste

Kriterien für einen erfolgreichen Vorgang

  • Domains werden im Panel oder in der Webserverliste angezeigt.
  • Jede Domain verweist auf das richtige Document-Root-Verzeichnis.
  • Die HTTP-Anfrage liefert den erwarteten Statuscode.
  • DNS-A/AAAA-Einträge zeigen auf die richtige Server-IP-Adresse.
  • Fehlgeschlagene Einträge werden in ein separates Protokoll geschrieben und können erneut ausgeführt werden.
  • SSL wird nur für Domains aktiviert, deren DNS-Validierung erfolgreich ist.
07
Häufig gestellte Fragen

DirectAdmin Antworten zur Domain-Massenverwaltung

Ist da api-url sicher?

Der Befehl erzeugt einen kurzlebigen Login Key. Protokollieren oder cachen Sie die Ausgabe nicht und vermeiden Sie eine Offenlegung in Prozesslisten.

Welche Felder benötigt CMD_API_DOMAIN?

Die offizielle Legacy-API-Dokumentation nennt action=create, domain, Bandbreiten-/Quotaoptionen sowie ssl-, cgi- und php-Flags.

Kann dieselbe Domain zwei Benutzern hinzugefügt werden?

Nein. Konflikte zwischen Domain, Pointer und DNS-Zone müssen verhindert werden. Prüfen Sie zuerst serverweit die Eigenalleerschaft.

Welche Webserver kann DirectAdmin verwenden?

Je nach Installation können Apache, nginx+Apache, nginx oder OpenLiteSpeed eingesetzt werden. Die Anlage über die Panel-API berücksichtigt diese Unterschiede.

Können Hunderte Domains unter einem Benutzer Leistungsprobleme verursachen?

Entscheidend sind eher VHosts, Zertifikate, Logs, Mail, PHP-Worker und Anwendungslast als die reine Domainzahl. Messen Sie Dateideskriptoren und Reload-Zeiten.

Gibt es eine SEO-Rankinggarantie?

Nein. Diese Seite ist crawlbar und für strukturierte Daten vorbereitet, endgültige Rankings können jedoch nicht garantiert werden.

08
Themencluster

Weitere Leitfäden zum massenhaften Hinzufügen von Domains

09
Primärquellen

Offizielle Panel-, Webserver- und Google-Dokumentation

EKA SOFTWARE- UND INFORMATIONSSYSTEME

Planen wir Ihre umfangreiche Domainmigration ohne Datenverlust oder Ausfallzeit

Wir setzen Panelwahl, DNS, SSL, Webserver, Sicherheit, Sicherung und Prüfung entsprechend Ihrer tatsächlichen Serverarchitektur um.

Top