Domains unter vorhandenem Benutzer
Fasst Domains desselben Kunden innerhalb der vdomains- und Quotalimits des Benutzers zusammen.
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.
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
Massenautomatisierung darf keine falsche Architektur beschleunigen. Entscheiden Sie zuerst über Kundenisolation, Ressourcenlimits, Anwendungsroots sowie Mail- und DNS-Eigentum.
Fasst Domains desselben Kunden innerhalb der vdomains- und Quotalimits des Benutzers zusammen.
Für verschiedene Kunden und Sicherheitsgrenzen sollten zuerst Benutzerkonten mit Paketen erstellt werden.
da api-url erzeugt für jede Nutzung kurzlebige Zugangsdaten und ist sicherer als ein dauerhaftes Adminpasswort im Skript.
DirectAdmin kann Apache-, nginx+Apache-, nginx- oder OpenLiteSpeed-Vorlagen verwenden. Überlassen Sie die Domainanlage der Panel-API.
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 Lesen Sie die Domainliste im Kontext des Zielbenutzers ohne dauerhaftes Passwort.
curl -ksS "$(da api-url --user=siteuser)/CMD_API_SHOW_DOMAINS" Prüfen Sie, ob die API error=0 liefert und Webservervorlagen erzeugt werden.
head -n 2 /root/domainler.txt > /root/domainler-test.txt 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 Prüfen Sie DirectAdmin-Hintergrundaufgaben und die Erzeugung der Webservervorlagen.
tail -f /var/log/directadmin/system.log
/usr/local/directadmin/dataskq d Zeigen Sie mit da docs-root die tatsächlichen HTTP- und HTTPS-Pfade als JSON an.
da docs-root 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"
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
Rufen Sie vorhandene Domains über die API ab, um Duplikate zu verhindern.
curl -ksS "$(da api-url --user=siteuser)/CMD_API_SHOW_DOMAINS"
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
In Standard-DirectAdmin-Setups werden Domain-VHosts aus Benutzerdaten erzeugt; vermeiden Sie manuelle VHost-Ergänzungen.
da docs-roothttpd -tsystemctl reload httpdnginx kann Frontend und Apache Backend sein. Testen Sie beide Konfigurationen und prüfen Sie den Reload-Status.
nginx -thttpd -tsystemctl reload nginx && systemctl reload httpdVerwenden Sie DirectAdmin-Vorlagen und CustomBuild-Verwaltung; setzen Sie keine Apache/nginx-Pfade voraus.
cd /usr/local/directadmin/custombuild && ./build options | grep -i webserversystemctl status openlitespeed --no-pagerda docs-rootDie Domain kann bereits existieren, das vdomains-Limit erreicht oder die Syntax abgelehnt sein.
Der Login Key kann abgelaufen sein, ein falscher Benutzerkontext verwendet oder die API-URL falsch verarbeitet worden sein.
Die Domain kann bei einem anderen DirectAdmin-Benutzer, als Pointer oder DNS-Zone vorhanden sein.
Hunderte Domains können Web-, DNS-, Mail- und SSL-Aufgaben in die Warteschlange stellen und Verzögerungen verursachen.
Eine benutzerdefinierte CustomBuild-Vorlage, fehlerhafte Rewrite-Regel oder kollidierende Domaindefinition kann vorhanden sein.
Kein passender Fehler gefunden.
Der Befehl erzeugt einen kurzlebigen Login Key. Protokollieren oder cachen Sie die Ausgabe nicht und vermeiden Sie eine Offenlegung in Prozesslisten.
Die offizielle Legacy-API-Dokumentation nennt action=create, domain, Bandbreiten-/Quotaoptionen sowie ssl-, cgi- und php-Flags.
Nein. Konflikte zwischen Domain, Pointer und DNS-Zone müssen verhindert werden. Prüfen Sie zuerst serverweit die Eigenalleerschaft.
Je nach Installation können Apache, nginx+Apache, nginx oder OpenLiteSpeed eingesetzt werden. Die Anlage über die Panel-API berücksichtigt diese Unterschiede.
Entscheidend sind eher VHosts, Zertifikate, Logs, Mail, PHP-Worker und Anwendungslast als die reine Domainzahl. Messen Sie Dateideskriptoren und Reload-Zeiten.
Nein. Diese Seite ist crawlbar und für strukturierte Daten vorbereitet, endgültige Rankings können jedoch nicht garantiert werden.
Wir setzen Panelwahl, DNS, SSL, Webserver, Sicherheit, Sicherung und Prüfung entsprechend Ihrer tatsächlichen Serverarchitektur um.