Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
Toplu domain otomasyonu

Yüzlerce domaini WHM ve cPanel’e kontrollü ve toplu biçimde ekleyin

Bu rehber; her domain için ayrı cPanel hesabı açma ile tek hesap altında ayrı document root kullanan addon domain modelini karşılaştırır. Hazır Bash betiği domain doğrulama, benzersiz kullanıcı üretme, CSV sonuç kaydı ve tekrar çalıştırılabilir hata günlüğü içerir.

WHM API 1 cPanel API 2 SSH Bash DNS AutoSSL
root@eka-server
whmapi1 createacct domain=ornek.com username=d123456789ab plan=domainpaket
/usr/local/cpanel/bin/cpapi2 --user=sitehesabi AddonDomain addaddondomain newdomain=ornek.com
/scripts/rebuildhttpdconf && /scripts/restartsrv_httpd
100+Domain için ölçeklenebilir
2Hesap ve addon modu
CSVSonuç ve parola kaydı
SSHRoot üzerinden otomasyon
01
Mimari kararı

Yüzlerce domaini eklemeden önce doğru barındırma modelini seçin

Toplu otomasyon yanlış mimariyi hızlandırmamalıdır. Müşteri izolasyonu, kaynak limiti, uygulama kökü, mail ve DNS sahipliği kararlarını önce verin.

01

Ayrı cPanel hesabı

Müşteriler, bağımsız kaynak limitleri ve ayrı FTP/e-posta yönetimi için uygundur. Lisans hesap sayısını etkileyebilir.

02

Tek hesapta addon domain

Tüm domainler size aitse ve ayrı klasör yeterliyse daha az yönetim yükü oluşturur.

03

Alias / aynı site

Tüm domainlerin aynı içeriği açması gerekiyorsa kopya site üretmek yerine yönlendirme veya alias tercih edilir.

04

DNS yönetim modeli

Nameserver değiştirme, A kaydı yönlendirme ve Cloudflare toplu işlemleri domain ekleme sürecinden ayrı planlanmalıdır.

02
Ön hazırlık

Toplu işlem başlamadan önce tamamlanması gerekenler

Root SSH erişimi ve güncel cPanel/WHM kurulumu01
Her satırda bir domain bulunan UTF-8 domainler.txt dosyası02
Ayrı hesap modunda önceden oluşturulmuş hosting paketi03
Addon modunda hesap limitinin eklenecek toplam domain sayısını karşılaması04
Domainlerin DNS veya nameserver bilgilerine erişim05
İşlem öncesi cPanel yapılandırma ve DNS yedeği06
03
Uygulama sırası

Kesintisiz ve geri alınabilir toplu ekleme akışı

01

Domain listesini temizleyin

https://, www, yol, boş satır ve tekrarları kaldırın. IDN domainleri Punycode biçimine dönüştürün.

sort -u domainler.txt | sed '/^[[:space:]]*$/d' > domainler-temiz.txt
02

Modu belirleyin

MOD=hesap her domain için yeni cPanel hesabı, MOD=addon ise hedef kullanıcı altında ayrı klasör oluşturur.

MOD="addon"
03

İki domainle ön test yapın

Paket, kullanıcı limiti, DNS rolü ve API çıktısını küçük örnekle doğrulayın.

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

Betiği root olarak çalıştırın

Dosya izinlerini 700 yapın ve sonuç dosyalarını yalnız root tarafından okunabilir bırakın.

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

Sonuç ve hata kayıtlarını inceleyin

Başarısız domainleri ayrı listeye çıkarıp yalnız onları yeniden çalıştırın.

column -s, -t < /root/cpanel-domain-sonuclari.csv
cat /root/cpanel-domain-hatalari.log
06

DNS ve AutoSSL işlemini kademeli yapın

Önce DNS çözümlemesini doğrulayın, ardından AutoSSL kuyruğunu küçük gruplar halinde çalıştırın.

dig +short ornek.com A
/usr/local/cpanel/bin/autossl_check --user=sitehesabi
04
SSH, CLI ve API

Kopyalanabilir komutlar ve tam otomasyon betiği

01

Tam toplu ekleme betiği

Hesap veya addon modunda çalışır; sonucu CSV'ye, hatayı ayrı loga yazar.

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

MOD="addon"
DOMAIN_DOSYASI="/root/domainler.txt"
CPANEL_KULLANICI="sitehesabi"
PLAN="domainpaket"
ILETISIM="[email protected]"
SONUC="/root/cpanel-domain-sonuclari.csv"
HATA="/root/cpanel-domain-hatalari.log"

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

printf '"domain","mod","durum","kullanici","sifre"\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","%s","gecersiz","",""\n' "$DOMAIN" "$MOD" >> "$SONUC"
        continue
    fi

    HASH="$(printf '%s' "$DOMAIN" | sha256sum | cut -c1-12)"
    KULLANICI="d${HASH}"
    ALTALAN="eka${HASH}"
    SIFRE="Eka!$(openssl rand -hex 12)A9"

    if [[ "$MOD" == "hesap" ]]; then
        CIKTI="$(whmapi1 --output=json createacct domain="$DOMAIN" username="$KULLANICI" password="$SIFRE" plan="$PLAN" contactemail="$ILETISIM" 2>&1 || true)"
        if grep -Eq '"result"[[:space:]]*:[[:space:]]*1' <<< "$CIKTI"; then
            printf '"%s","hesap","basarili","%s","%s"\n' "$DOMAIN" "$KULLANICI" "$SIFRE" >> "$SONUC"
        else
            printf '%s | %s\n' "$DOMAIN" "$CIKTI" >> "$HATA"
            printf '"%s","hesap","hatali","%s",""\n' "$DOMAIN" "$KULLANICI" >> "$SONUC"
        fi
    else
        KLASOR="domains/${DOMAIN}/public_html"
        CIKTI="$(/usr/local/cpanel/bin/cpapi2 --user="$CPANEL_KULLANICI" --output=jsonpretty AddonDomain addaddondomain dir="$KLASOR" newdomain="$DOMAIN" subdomain="$ALTALAN" 2>&1 || true)"
        if grep -Eq '"result"[[:space:]]*:[[:space:]]*1' <<< "$CIKTI"; then
            printf '"%s","addon","basarili","%s",""\n' "$DOMAIN" "$CPANEL_KULLANICI" >> "$SONUC"
        else
            printf '%s | %s\n' "$DOMAIN" "$CIKTI" >> "$HATA"
            printf '"%s","addon","hatali","%s",""\n' "$DOMAIN" "$CPANEL_KULLANICI" >> "$SONUC"
        fi
    fi
done < "$DOMAIN_DOSYASI"

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

Hızlı sistem kontrolü

API araçları, sürüm ve hesap limitlerini kontrol edin.

whmapi1 version
/usr/local/cpanel/bin/cpapi2 --help | head
whmapi1 acctcounts
03

Oluşan domainleri doğrulama

Hedef cPanel hesabındaki domain envanterini UAPI ile görüntüleyin.

uapi --user=sitehesabi DomainInfo list_domains
04

Web sunucusu yapılandırmasını yenileme

Gerekirse Apache yapılandırmasını yeniden üretip kontrollü yeniden başlatın.

/scripts/rebuildhttpdconf
/scripts/restartsrv_httpd
05
İşletim sistemi ve stack

Dağıtıma ve web sunucusuna göre değişen noktalar

AlmaLinux / Rocky / CloudLinux

cPanel'in desteklediği temel üretim ailesidir. CloudLinux kullanılıyorsa cpapi2 için tam yolu kullanın ve LVE/domain limitlerini ayrıca kontrol edin.

  • cat /etc/os-release
  • cloudlinux-summary get-licenses 2>/dev/null || true
  • lveinfo --period=1h 2>/dev/null | head

Ubuntu

Kurulu cPanel sürümünüzün işletim sistemi desteğini doğrulayın; servis adları ve paket yönetimi dağıtım ailesine göre farklı olabilir.

  • cat /etc/os-release
  • whmapi1 version
  • systemctl status cpanel --no-pager

DNSOnly / ayrı DNS kümesi

DNS kümesi varsa zone senkronizasyonunu ve cluster rolünü işlemden önce test edin.

  • whmapi1 listdnszones | head
  • /scripts/dnscluster syncall
  • whmapi1 get_nameserver_config
06
Hata çözümü

Toplu domain eklerken karşılaşılan yaygın hatalar

5 kayıt
Hata mesajı

Account Creation Status: failed

Kullanıcı adı çakışması, paket adı, hesap limiti veya domainin sunucuda zaten bulunması nedeniyle oluşabilir.

Hata mesajı

This domain already exists

Domain başka hesapta, DNS zone olarak veya eski userdata kaydında bulunabilir.

Hata mesajı

API failure: Permission denied

Komut root dışında çalıştırılmış, API özelliği kapalı veya hesap yetkisi yetersiz olabilir.

Hata mesajı

Sorry, the domain is already pointed

Remote domain kontrolü veya DNS çözümlemesi domainin başka IP'ye yöneldiğini gösterebilir.

Hata mesajı

AutoSSL DCV failed

A/AAAA kaydı, CAA, proxy veya HTTP doğrulama yolu yanlış olabilir.

Aramayla eşleşen hata bulunamadı.

Güvenlik ve operasyon riskleri

Bunları yapmadan üretime geçmeyin

  • İlk çalıştırmayı 2 test domainiyle yapın; tüm domain listesini doğrudan üretime aktarmayın.
  • Domain listesini HTTPS, www ve yol içermeyen yalın alan adlarıyla hazırlayın.
  • İşlem öncesi panel yapılandırması, DNS bölgeleri ve web sunucusu dosyalarının yedeğini alın.
  • API anahtarı, root parolası ve oluşturulan kullanıcı parolalarını web kökünde saklamayın.
  • DNS yayılımı tamamlanmadan toplu SSL isteği göndermek hız sınırına ve başarısız doğrulamaya yol açabilir.
Doğrulama listesi

İşlemin başarılı sayılması için

  • Domainler panel veya web sunucusu listesinde görünüyor.
  • Her domain doğru document root klasörüne bağlanıyor.
  • HTTP isteği beklenen durum kodunu döndürüyor.
  • DNS A/AAAA kayıtları doğru sunucu IP adresini gösteriyor.
  • Başarısız kayıtlar ayrı log dosyasına yazılıyor ve tekrar çalıştırılabiliyor.
  • SSL yalnızca DNS doğrulaması başarılı domainlerde etkinleştiriliyor.
07
Sık sorulan sorular

WHM / cPanel toplu domain yönetimi hakkında yanıtlar

Yüzlerce domaini tek cPanel hesabına eklemek doğru mu?

Tüm domainler aynı sahipteyse ve uygulama izolasyonu gerekmiyorsa uygulanabilir. Farklı müşteriler, ayrı kaynak limitleri veya ayrı güvenlik sınırları varsa ayrı hesap daha doğrudur.

Addon domain için neden cpapi2 kullanılıyor?

cPanel belgeleri API 2'nin deprecated olduğunu belirtse de AddonDomain::addaddondomain için eşdeğer UAPI fonksiyonu olmadığını açıkça bildirir. Bu nedenle sürümünüzde test edilerek kullanılmalıdır.

Her domain için SSL otomatik alınabilir mi?

DNS kayıtları sunucuya ulaştığında AutoSSL kullanılabilir. Yüzlerce domain için DNS yayılımı kontrol edilmeden aynı anda doğrulama başlatmak önerilmez.

Domain listesindeki Türkçe karakterler nasıl eklenir?

Panel ve API işlemlerinde alan adını Punycode biçiminde kullanın; kullanıcıya gösterilen Unicode biçimini ayrıca saklayabilirsiniz.

İşlem yarıda kalırsa tekrar çalıştırılabilir mi?

Evet. Sonuç CSV'sindeki başarılı kayıtları listeden çıkarıp yalnız başarısız domainlerle tekrar çalıştırın. Betiğe mevcut-domain kontrolü eklemek de idempotent kullanım sağlar.

Google'da birinci sıra garanti edilir mi?

Hayır. Teknik SEO, özgün içerik, doğru yapılandırılmış veri ve iyi iç bağlantı görünürlüğü destekler; fakat hiçbir sayfa için sıralama garantisi verilemez.

08
Konu kümesi

Diğer toplu domain ekleme rehberleri

09
Birincil kaynaklar

Resmî panel, web sunucusu ve Google belgeleri

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Yüzlerce domainlik geçişi veri kaybı ve kesinti oluşturmadan planlayalım

Panel seçimi, DNS, SSL, web sunucusu, güvenlik, yedekleme ve doğrulama adımlarını sunucunuzun gerçek yapısına göre uyguluyoruz.

Top