Bilgi bankamızda arama yapmak için sorunuzu yazın...
Netx Teknik Ekibi · Yayın: 29.10.2026
WHMCS'in ödenen siparişte cPanel hesabını kendiliğinden açması için dört şey gerekir: WHM'de yalnız gerekli yetkileri taşıyan ve WHMCS sunucusunun IP adresine kısıtlanmış bir API belirteci (API token), bu belirteçle WHMCS'e eklenmiş bir cPanel sunucusu, ürünün Module Settings sekmesinde WHM'deki paket adının birebir yazılması (bayi hesabında kullaniciadi_paketadi biçiminde) ve kurulum zamanının "ilk ödeme alındığında" olarak seçilmesi. Canlı satışa geçmeden önce bir test siparişiyle hesabın WHM'de doğru paketle açıldığını görün.
Diyelim ki bayi hesabınız hazır, WHM'e giriyorsunuz ve menüde Manage API Tokens ekranını bulamıyorsunuz. Bu sizin hatanız olmayabilir. cPanel belgelerine göre sağlayıcı bu ekranı bayiler için Edit Reseller Nameservers and Privileges üzerinden açıp kapatabiliyor. Belirteç listesi de ancak bayinin "Initial Privileges" grubundaki yetkilerin tamamı açıksa görünüyor. Yani WHMCS bağlantısı çoğu zaman teknik bir ayardan önce sağlayıcıyla yapılan kısa bir yazışmayla başlar.
WHMCS'in cPanel modülü hesap açma, askıya alma, kaldırma, paket değiştirme, parola değiştirme ve kullanım verisi çekme işlerini WHM API'si üzerinden yapar. Bayi hesabınızda bu işlerin karşılığı olan yetkiler (ACL) yoksa belirteci ne kadar özenle oluşturursanız oluşturun, ilk siparişte "Access Denied" görürsünüz. Ağ tarafı da var: WHMCS'in kurulu olduğu sunucudan WHM'in 2087 (SSL) ya da 2086 numaralı portuna dışarı doğru bağlantı kurulabilmeli. WHMCS'i paylaşımlı bir hostingte çalıştırıyorsanız bu çıkışın güvenlik duvarına takılmadığını barındırma sağlayıcınıza teyit ettirin.
Netx'in cPanel/WHM bayi hosting paketlerinden birini ya da başka bir sağlayıcının bayi hesabını WHMCS'e bağlayacaksanız, siparişten önce şu soruların yazılı cevabını alın:
Paket kurgusu, fiyat ve mevzuat gibi işin ticari tarafını hosting satış işinin ilk 90 günlük planında ele aldık. Buradan sonrası yalnız teknik bağlantıyla ilgili.
WHM'de Development » Manage API Tokens yolunu izleyip Generate Token düğmesine basın. Belirtece tanınabilir bir ad verin, örneğin whmcs-baglanti. cPanel adda en fazla 50 karakter ve yalnız harf, rakam, tire ve alt çizgi kabul ediyor. Sonra üç karar vermeniz gerekiyor.
İlki süre. "The API Token will not expire" seçeneği işinizi kolaylaştırır ama unutulan belirteçler yıllarca çalışır durumda kalır. Son kullanma tarihi koyarsanız (WHM'de varsayılan bir yıl) o gün hesap açma durur, bu yüzden takvime bir hatırlatma ekleyin. Süresi dolan belirteci WHM kendiliğinden silmiyor, listede kırmızı satır olarak bekletiyor.
İkincisi IP kısıtı. IPs kutusuna WHMCS sunucusunun dışarı çıkan IP adresini tek adres ya da CIDR biçiminde (ör. 203.0.113.25) yazın. Kutuyu boş bırakırsanız belirteç her adresten kullanılabilir.
Üçüncüsü yetkiler. Privileges bölümünde yalnız bayi hesabınızın sahip olduğu yetkiler listelenir. WHMCS 9.1'in cPanel modülü belgesi aşağıdaki yetkileri istiyor. Tablodaki gruplama ve "hangi iş için" sütunu bizim yorumumuz; listenin kendisi belgeden.
| Yetki (API değeri) | WHM'deki adı | Hangi iş için |
|---|---|---|
create-acct, kill-acct | Create Accounts, Terminate Accounts | Hesap açma ve sonlandırma |
suspend-acct, upgrade-account, passwd | Suspend/Unsuspend, Upgrade/Downgrade, Change Passwords | Askıya alma, paket değişikliği, parola |
list-accts, acct-summary, show-bandwidth | List Accounts, Account Summary, View Account Bandwidth Usage | Hesap listesi ve kullanım verisi |
list-pkgs | List Packages | Ürün ayarındaki paket listesi |
create-user-session, cpanel-integration, cpanel-api | Create User Session, Manage cPanel Integration Links, cPanel API | Müşterinin panelden cPanel'e tek tıkla girişi ve hesap içi işlemler |
ns-config, edit-mx, ssl-gencrt | Nameserver Configuration, Edit MX Entries, SSL CSR/Certificate Generator | İsim sunucusu, MX ve sertifika işlemleri |
basic-whm-functions, basic-system-info, manage-api-tokens | Basic WHM Functions, Basic System Information, Manage API Tokens | Temel WHM çağrıları |
Burada şunu baştan söyleyelim: cPanel'in API belirteci belgesi, Create User Session ve Manage API Tokens yetkilerinin belirteci kullanan kişiye belirtece koyduğunuz kısıtları aşma imkânı verdiğini açıkça uyarıyor. WHMCS ise ikisini de istiyor. Bu, yetki listesini daraltmanın tek başına sağlam bir duvar olmadığı anlamına geliyor. Asıl koruma IP kısıtı ve belirtecin yalnız WHMCS yapılandırmasında durması. "Everything" yetkisi ise belirteci kullanana root kullanıcının bütün işlerini açar. Bayi senaryosunda bu kutu zaten listenizde olmamalı. Görüyorsanız sağlayıcınıza sorun.
Generate düğmesinden sonra belirteç yalnız bir kez gösterilir, sayfadan çıkınca bir daha görüntülenemez. Kopyalayıp doğrudan WHMCS'e yapıştırın. E-postayla, mesajlaşma uygulamasıyla ya da destek talebinde paylaşmayın.
Bir ayrıntı daha var. WHMCS belgesine göre sunucuda iki adımlı doğrulama (2FA) zorunlu tutuluyorsa API istekleri için bu zorunluluğun Security Center » Configure Security Policies ekranında kapatılması gerekiyor. Bu ekran root kullanıcıya ait. Bağlantı testi bu yüzden başarısız oluyorsa ayarı sağlayıcınız değerlendirebilir.
WHMCS 9.1 arayüzünde adımlar şöyle (eski sürümlerde menü adları biraz farklı olabilir):
Nameservers alanına yazdığınız değerler hoş geldin e-postasında müşteriye gider. En fazla beş isim sunucusu girilebiliyor. Burada sağlayıcınızın verdiği ya da bayi hesabınızda tanımlı isim sunucularını yazın. Müşterinin alan adını hangi kayıtla hostinge yönlendireceğini nameserver ile A kaydı arasındaki tercih belirler.
Maximum No. of Accounts hafife alınan bir alan. WHMCS sunucunun doluluk yüzdesini bu sayıdan hesaplıyor. Bayi paketinizdeki gerçek hesap sınırıyla aynı ya da biraz altında tutun. Tek bayi hesabınız varsa sunucu grubu (server group) kurmak zorunlu değil, varsayılan sunucu iş görür. İkinci bir bayi hesabı ya da kendi sunucunuz eklendiğinde ürünleri bir gruba bağlamak gerekir. Grup ayarında "en az dolu sunucuya ekle" ile "varsayılanı dolana kadar doldur" arasında seçim yaparsınız. WHMCS, tek sunuculu gruplarda ilkini öneriyor.
Hesapların bir kısmının açılıp bir kısmının "You do not have permission to use Selected Package" hatasıyla düştüğü kurulumlarda neden neredeyse her zaman paket adıdır. Önce WHM'de müşteriye satacağınız paketleri tanımlayın. Paketlerin disk, e-posta ve kaynak değerlerini WHM'de paket tanımlama ve hesap açma adımlarında anlattık.
Sonra WHMCS'te Configuration » System Settings » Products/Services » Create a New Product yolundan ürünü oluşturun. Product Type olarak Shared Hosting'i, Module olarak cPanel'i seçin. Details sekmesinde Require Domain kutusunu işaretleyip Welcome Email alanında hosting hoş geldin şablonunu seçin, Pricing sekmesine fiyat ve dönemleri girin. Asıl bağlantı Module Settings sekmesinde kurulur: sunucu grubu ve WHM Package Name.
Bayi hesabında paket adının bir ön eki vardır. cPanel belgesine göre bayiye özel paketlerin adında alt çizgi (_) bulunur, sunucu genelindeki (root) paketlerde bulunmaz. WHMCS'in sorun giderme belgesi de WHMCS'teki adın WHM'deki adla birebir aynı olmasını ve kullaniciadi_paketadi biçimini kullanmasını istiyor.
Varsayımsal senaryo: Bayi kullanıcı adınız ornekbayi, WHM'de baslangic adlı bir paket tanımladınız. WHM'in Edit a Package listesinde bu paket ornekbayi_baslangic olarak görünür. Müşterinin cPanel arayüzünde ise yalnız baslangic yazar. WHMCS'e yazmanız gereken değer ornekbayi_baslangic. Büyük-küçük harf de dahil birebir aynı olmalı, bu yüzden elle yazmak yerine WHM'den kopyalayın.
WHM Package Name açılır listesi eksik geliyorsa bunun da belgelenmiş bir nedeni var. WHM API'si yalnız bayi hesabınızın kotasıyla açılabilecek paketleri döndürüyor. WHM'de Account Functions » Create a New Account ekranında paketin yanında "Cannot use due to limits" yazıyorsa paket bayi sınırlarınızı aşıyordur. Paketi küçültün ya da sağlayıcınızla konuşun. Alt çizgisiz, sunucu genelindeki paketleri görmek için ayrıca Use Root Packages (viewglobalpackages) yetkisi gerekir ve bayi hesaplarında genellikle kapalıdır.
İki uyarı daha ekleyelim. WHM'de paket adı sonradan değiştirilemiyor, o yüzden adına fiyat ya da kampanya gibi değişebilecek bilgileri koymayın. WHMCS'teki ürün adı ile WHM paket adı ayrı şeyler zaten: ürünü "Kurumsal 5 Site" diye satıp ornekbayi_k5 paketine bağlayabilirsiniz. İkinci uyarı Advanced Mode ile ilgili. WHMCS, paket seçmeden hesap başına özel kota girmeye izin veriyor. Ama belgeye göre bu root erişimi istiyor, bayi hesabıyla denenirse "Package Not Allowed" hatası gelir. Aynı nedenle bayi hesabınız üzerinden Reseller Hosting türünde ürün, yani alt bayi modeli kuramazsınız. WHMCS belgesi bayi API fonksiyonlarının root yetkisi gerektirdiğini yazıyor.
Module Settings sekmesinin altında dört seçenek bulunur:
WHMCS'in varsayılan davranışı, yöneticinin siparişi elle onaylamasını beklemek. Bizce bayilerin çoğu için doğru seçenek ikincisi. Siparişle birlikte kurulum, hiç ödenmeyecek siparişlere de hesap açar. Kötü niyetli biri sahte bir siparişle sunucunuzda oltalama sayfası yayımlayabilir ve şikâyetin bedelini bütün bayi hesabınız öder. Havale/EFT ile çalışıyorsanız ödemeyi faturaya işlediğiniz anda, kartlı ödemede ise ödeme geçidinin onayıyla hesap açılır. Elle onay seçeneği, kimlik ya da dolandırıcılık kontrolü yaptığınız ürünlerde anlamlı.
Alan adı kaydını da aynı siparişe bağlıyorsanız o tarafı kayıt kuruluşu modülü yürütür. İki iş ayrı modüllerden geçer. Hesap açılmış olsa bile alan adı kaydedilip sunucuya yönlendirilene kadar site yayına çıkmaz.
Bağlantı testi yeşil yandı diye hesap açmanın çalıştığını varsaymayın. Test Connection sunucuya bağlanıp oturum açılabildiğini dener. Ürüne yazdığınız paket adının doğru olup olmadığını ise hiç sınamaz. Gerçek bir sipariş akışını baştan sona deneyin:
Terminate hesabı sunucudan siler, geri dönüşü yoktur. Test hesabında sorun değil ama komutun ne yaptığını görmüş olursunuz. Sonlandırırken Keep DNS Zone seçeneğini işaretlerseniz DNS bölgesi sunucuda kalır. WHMCS belgesine göre bölge silinmeden aynı alan adıyla yeni hesap açılamıyor. Bunu bilmeyen biri ikinci testte "hesap neden açılmıyor" diye saatlerini harcayabilir.
WHMCS'ten önce WHM'de elle açılmış müşteri hesaplarınız varsa Servers ekranındaki Sync Accounts aracı WHMCS kayıtlarıyla sunucudaki hesapları eşleştirmeye yarar. Eşleşmeyen hesaplar otomasyonun dışında kalır, yani askıya alma ve kullanım verisi onlar için çalışmaz.
WHMCS hatayı çoğu zaman tek satırla bildirir. Ayrıntı Module Log'dadır, ama bu günlük varsayılan olarak kayıt tutmaz. Configuration » System Logs » Module Log ekranında Module Logging'i On yapın, hatayı yeniden üretin (ör. hizmet sayfasından Create komutunu tekrar çalıştırın), sayfayı yenileyin. Her satırda WHMCS'in WHM'e gönderdiği istek ve dönen yanıt durur. İşiniz bitince günlüğü yeniden Off yapın. Bu ekranı görebilmek için yönetici rolünüzde View Module Debug Log izni bulunmalı.
Cron sırasında başarısız olan işlemler ayrıca Utilities » Module Queue listesine düşer. WHMCS bunları kendiliğinden yeniden denemez. Sorunu giderdikten sonra Retry ile tekrar çalıştırmanız gerekir.
| Hata metni | Olası neden | Ne yapmalı |
|---|---|---|
| You do not have permission to use Selected Package | WHMCS'teki paket adı WHM'dekiyle birebir aynı değil | Adı WHM'den kopyalayıp kullaniciadi_paketadi biçiminde yapıştırın |
| Package Not Allowed or Exceeded Resource/Account Allocation | Bayi erişimiyle geçerli paket adı olmadan hesap açma denemesi | WHM Package Name'i doldurun, Advanced Mode'daki özel kotaları kullanmayın |
| Product attribute Package Name ... not found on server | Bayi kotası yetersiz, ad yanlış ya da belirteçte list-pkgs eksik | Create a New Account ekranında "Cannot use due to limits" uyarısına ve belirteç yetkilerine bakın |
| Login Failed | Kimlik bilgisi hatalı ya da kaba kuvvet koruması WHMCS'i engelliyor | Belirteci yeniden yapıştırın, sonra sağlayıcınıza IP engelini sorun |
| Access Denied / Permission Denied | Belirteçte ya da bayi hesabında ilgili yetki yok | Yukarıdaki yetki tablosuyla karşılaştırın |
| Sorry, a group for that username already exists | Sunucuda bu kullanıcı adıyla hesap var | Hizmetin Username alanını değiştirip Create'i yeniden çalıştırın |
| Sorry, that username is reserved | Kullanıcı adında sunucunun yasakladığı bir sözcük var | Farklı bir kullanıcı adı verin |
| Invalid value ... for the cpmod setting | Ürün ayarında sunucuda olmayan bir cPanel teması seçili | Temayı sunucudaki temayla değiştirin |
Sorun sizin ayarlarınızdan değil de altyapıdan kaynaklanıyor gibi görünüyorsa (IP engeli, kapalı bir yetki, port), sağlayıcınıza yazın. Netx bayi hesabınız varsa bunu müşteri panelinden destek talebiyle yaparsınız. Talepte WHMCS sunucusunun çıkış IP adresini, hatanın tam metnini ve saatini, Module Log'daki istek adını (ör. createacct) ve WHM paket adını verin. Belirtecin adını yazabilirsiniz, değerini asla. Günlük satırında müşteri parolası görünüyorsa paylaşmadan önce silin.
Hesap açmayı otomatikleştirip kapatmayı elde bırakan bayi kısa sürede ödemesi gecikmiş ama çalışan hesaplarla dolar. Bu ayarlar ürün sayfasında değil, Configuration » System Settings » Automation Settings ekranındadır:
Sonlandırma geri alınamadığı için gün sayısını kendi müşteri sözleşmenizde yazan veri saklama süresinden kısa tutmayın. Elle askıya alıp özel bir neden yazdığınız hizmetler, ödeme gelse bile otomatik olarak açılmaz. WHMCS belgesi bunu bilinçli bir davranış olarak anlatıyor. Ödeme dışı bir nedenle, örneğin kaynakları tüketen bir müşteri sitesi yüzünden askıya alma kararını otomasyona bırakmayın, elle verin ve neden alanını doldurun.
Kullanım verisinin sınırını da bilin. WHMCS disk ve bant genişliğini görür, CPU, bellek ya da eşzamanlı işlem sınırına takılan bir siteyi görmez. Bu tür sınırlar CloudLinux kullanan sunucularda müşteri tarafında 508 Resource Limit Reached hatası olarak ortaya çıkar ve WHMCS ekranında hiçbir iz bırakmaz.
Bütün bu işleri sistem cron'u çalıştırır. Kendi kurduğunuz WHMCS'te cron en az beş dakikada bir çalışmalı. Doğru komutu Automation Settings sayfasının üstündeki Cron Command rozetinden kopyalayın. cPanel'de genel biçimi şöyledir (yol kurulumunuza göre değişir):
*/5 * * * * php -q /home/kullanici/public_html/whmcs/crons/cron.php
Günlük görevlerin saati aynı sayfadaki Time of Day ayarından gelir. Varsayılan sunucu saatiyle 09.00. Sunucunuz UTC ile çalışıyorsa Türkiye saatine göre üç saat geride kaldığını hesaba katın.
Belirteç WHMCS veritabanında durur. Dolayısıyla WHMCS yönetici hesaplarının güvenliği, bayi hesabınızdaki bütün müşteri hesaplarının güvenliği demektir. Yönetici girişinde iki adımlı doğrulama ve güncel sürüm gibi WHMCS'in temel güvenlik önlemleri burada bir tercih olmaktan çıkıyor.
WHMCS sunucuya kullanıcı adı ve parolayla da bağlanabiliyor. Bizce bu yolu hiç açmayın: parola WHM hesabınızın bütün yetkilerini taşır, belirteç ise kısıtlanabilir ve tek başına iptal edilebilir. Belirteci değiştirmeniz gerektiğinde sırayı koruyun. Önce yenisini oluşturun, WHMCS'e yazıp Test Connection'dan geçirin, eskisini ancak bundan sonra Revoke edin. Ters sırada yaparsanız aradaki siparişler Module Queue'ya düşer. WHMCS'i başka bir sunucuya taşıdığınızda belirtecin IP listesini de güncelleyin, eski adresi listede bırakmayın.
WHMCS'in ele geçirildiğinden şüpheleniyorsanız ilk iş WHM'den belirteci iptal etmek olmalı. Hesap açma ve askıya alma durur ama müşteri sitelerine dokunulmaz. Panelin temizliği ve yeni belirteç bundan sonra gelir.
Kurulum tamamlandığında ilk ay Module Queue'yu haftada bir açın. Boş kalıyorsa otomasyon yolunda demektir. Dolmaya başlıyorsa satırların çoğu yukarıdaki tablodaki hatalardan birine çıkar.
Değerlendirme: 0