cPanel API, web hosting sağlayıcılarının sunucu yönetimini otomatikleştirmek için güçlü bir araçtır.
cPanel API, web hosting sağlayıcılarının sunucu yönetimini otomatikleştirmek için güçlü bir araçtır. Özellikle büyük ölçekli operasyonlarda, manuel hesap oluşturma süreçleri zaman alıcı ve hata yapmaya açıktır. Bu makalede, cPanel API’sini kullanarak hosting hesaplarını otomatik olarak oluşturma yöntemini adım adım inceleyeceğiz. Bu yaklaşım, geliştiricilerin ve sistem yöneticilerinin verimliliğini artırırken, tutarlılık sağlar. cPanel’in UAPI (Universal API) sürümünü temel alarak, PHP tabanlı bir örnek üzerinden pratik bir rehber sunacağız. Bu işlem, kullanıcı adı, şifre, alan adı ve disk kotası gibi parametreleri otomatikleştirerek dakikalar içinde hesapları hazır hale getirir.
cPanel API’sine erişim sağlamak için öncelikle bir API token’ı oluşturmanız gerekir. cPanel WHM paneline giriş yaparak, “Manage API Tokens” bölümünden yeni bir token üretin. Bu token, API çağrılarında kimlik doğrulaması için kullanılır ve IP kısıtlamalarıyla güvenli hale getirilebilir. Token’ı aldıktan sonra, güvenli bir yerde saklayın; çünkü bu bilgi hassas veridir. PHP ortamında çalışacaksanız, cURL kütüphanesini etkinleştirin veya Composer aracılığıyla cPanel API wrapper’larını yükleyin. Bu hazırlık, sonraki adımlarda sorunsuz entegrasyon sağlar.
Ayrıca, sunucunuzun cPanel UAPI endpoint’ine erişilebilir olduğundan emin olun. Varsayılan olarak, API çağrıları https://sunucu-adı:2087/execute/Username/cpanel_api/ formatında yapılır. Test ortamında bir sandbox hesabı oluşturarak denemeler yapmanızı öneririz. Bu aşamada, API çağrılarının rate limit’lerini kontrol edin; örneğin, dakikada 100 istek sınırı olabilir. Hazırlık tamamlandıktan sonra, hesap oluşturma fonksiyonuna geçebilirsiniz. Bu süreç, toplamda 5-10 dakika sürer ve otomasyon script’lerinizin temelini atar.
Hesap oluşturma için cPanel’in createacct fonksiyonunu kullanın. Temel parametreler şunlardır: username (benzersiz kullanıcı adı), domain (ana alan adı), password (güçlü şifre), quota (disk kotası MB cinsinden) ve ip (isteğe bağlı IP adresi). Örneğin, “musteri01” kullanıcı adı, “ornek.com” domaini ve 10240 MB kota ile bir hesap tanımlayabilirsiniz. Şifreleri otomatik üretmek için PHP’nin password_hash fonksiyonunu entegre edin. Bu parametreler, JSON formatında POST isteğiyle gönderilir.
Ek parametrelerle hesabı zenginleştirin: bwlimit ile bant genişliği sınırı (örneğin 512000 KB), email ile iletişim adresi ekleyin. Parametreleri doğrulayın; örneğin, kullanıcı adı 16 karakteri aşmamalı ve sadece alfanümerik olmalıdır. Bu detaylar, hataları önler ve hesapların standartlara uygun olmasını sağlar. Toplam parametre seti, 10-15 satırlık bir dizi ile tanımlanabilir.
Aşağıdaki PHP kodu örneği, cPanel API’sine güvenli bir çağrı yapar. Önce değişkenleri tanımlayın: $host, $token, $user. Sonra cURL ile POST isteği hazırlayın:
$postData = array(
'apikey' => $token,
'account' => array(
'username' => 'yeni_kullanici',
'domain' => 'alanadi.com',
'password' => 'guclu_sifre123!',
'quota' => '20480'
)
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://$host:2087/execute/$user/cpanel?cpanel_jsonapi_user=$user&cpanel_jsonapi_version=2&cpanel_jsonapi_module=Email&cpanel_jsonapi_func=addpop");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
Bu kod, JSON yanıtını döndürür. Başarılıysa data.status 1 olur. Hata durumunda, errors dizisini inceleyin. Kodu bir fonksiyona sararak yeniden kullanılabilir hale getirin ve loglama ekleyin.
Uygulamayı test etmek için bir geliştirme sunucusu kullanın. Önce düşük kota ile test hesabı oluşturun, ardından FTP ve e-posta erişimini doğrulayın. cPanel’de hesap listesini kontrol ederek API sonucunu teyit edin. Hata yönetimi için try-catch blokları ekleyin; örneğin, “username already exists” hatasında yeni bir isim üretin. Rate limiting’i yönetmek üzere sleep fonksiyonuyla gecikme ekleyin.
Entegrasyon açısından, bu script’i CRM sistemlerine bağlayın veya webhook’larla tetikleyin. Güvenlik için token’ları ortam değişkenlerinde saklayın ve HTTPS zorunlu kılın. Performans optimizasyonuyla, toplu hesap oluşturma için döngü kullanın; örneğin 50 hesabı 5 dakikada işleyin. İzleme için Prometheus gibi araçlarla metrikler toplayın.
Sonuç olarak, cPanel API ile otomatik hesap oluşturma, hosting işlemlerinizi dönüştürür. Bu yöntemle zaman tasarrufu sağlar, hataları minimize eder ve ölçeklenebilirlik kazanırsınız. Pratik uygulamalarda, kodunuzu özelleştirerek ihtiyaçlarınıza uyarlayın ve düzenli güncellemelerle cPanel sürümlerini takip edin. Bu yaklaşım, profesyonel web hosting yönetiminin vazgeçilmez bir parçası haline gelecektir.