WHM (Web Host Manager), bir sunucu ya da reseller paketi üzerinde barındırdığınız tüm cPanel hesaplarını tek bir yerden yönettiğiniz kontrol katmanıdır. Son kullanıcı günlük işlerini cPanel'de yaparken, o hesabı yaratan, paketini belirleyen, kaynak sınırını koyan ve gerektiğinde askıya alan siz WHM tarafında oturursunuz. Bir bayilik (reseller) işletiyorsanız veya kendi VPS'inizde birden fazla siteyi ayrı hesaplar hâlinde tutuyorsanız, günün büyük bölümü aslında WHM'de "Create a New Account", "List Accounts" ve "Suspend/Unsuspend" ekranları arasında geçer.
Bu rehberde yeni bir cPanel hesabını sıfırdan açmayı, alan adı, kullanıcı adı, parola ve paket seçimlerini doğru yapmayı, ardından hesabı listeleme, askıya alma, yeniden etkinleştirme ve tamamen silme adımlarını anlatacağım. Konuyu kıdemli bir sistem yöneticisinin bir müşteriye anlattığı sadelikte tutacağım; her adımda "neden böyle" sorusunu da yanıtlayacağım ki panelde gördüğünüz her alanın ne işe yaradığını gerçekten anlayın. WHM ile cPanel'in nasıl bir bütün oluşturduğunu daha temelden merak ediyorsanız cPanel nedir yazısı iyi bir başlangıç noktasıdır; bayilik modelinin mantığı için reseller hosting nedir yazısına da göz atabilirsiniz.
WHM Hesap Yönetimi Neden Önemli#
cPanel ve WHM aynı yazılımın iki farklı yüzüdür. cPanel, tek bir hesabın (tek bir kullanıcı adının) altındaki alan adlarını, e-postaları, veritabanlarını ve dosyaları yönetir. WHM ise bu hesapların üstünde durur; hangi hesabın ne kadar disk alanı kullanacağını, kaç e-posta hesabı açabileceğini, hangi PHP sürümünü çalıştıracağını sizin adınıza belirler. Bir müşteriye cPanel erişimi verdiğinizde aslında WHM'de yarattığınız bir hesabın anahtarını teslim etmiş olursunuz.
Bu ayrım önemlidir, çünkü hesap yönetiminde yapılan hatalar doğrudan müşteri deneyimine yansır. Yanlış pakete atanan bir hesap ya çok erken kota dolduğu için siteyi çökertir ya da olması gerekenden fazla kaynak ayırıp sunucuyu zorlar. Bu yüzden hesap açmadan önce paket (package/plan) yapısını netleştirmek, açtıktan sonra da düzenli olarak "List Accounts" ekranından kullanım oranlarını takip etmek işin temelidir.
WHM'e her zaman güvenli bir bağlantıyla, tipik olarak sunucunuzun 2087 portu üzerinden erişirsiniz:
# WHM giriş adresi (root veya reseller kullanıcısıyla)
https://sunucu-adiniz.com:2087
# cPanel son kullanıcı adresi ise
https://sunucu-adiniz.com:2083
Bir bayilik paketi kullanıyorsanız root erişiminiz olmaz; sağlayıcınızın size verdiği reseller kullanıcı adıyla girer ve yalnızca kendi hesaplarınızı görürsünüz. Kendi sunucunuza (VPS veya dedicated) sahipseniz root ile girer, tüm hesapları ve sunucu ayarlarını yönetirsiniz.
Hesap Açmadan Önce Paket (Package) Hazırlamak#
"Create a New Account" ekranına geçmeden önce en az bir paket tanımlamış olmanız gerekir. Paket, bir cPanel hesabının kaynak sınırlarını tarif eden şablondur; disk kotası, aylık bant genişliği, izin verilen e-posta ve veritabanı sayısı, park/addon domain limitleri hepsi burada belirlenir. Aynı paketi onlarca hesaba atayabilir, ileride paketi güncellediğinizde tüm bağlı hesapları tek seferde değiştirebilirsiniz.
Paket oluşturmak için WHM'de Packages > Add a Package yolunu izleyin. Tipik bir başlangıç paketi şöyle görünür:
| Ayar | Örnek Değer | Açıklama |
|---|---|---|
| Package Name | baslangic-5gb | Panelde göreceğiniz isim |
| Disk Space Quota | 5120 MB | Hesabın toplam disk sınırı |
| Monthly Bandwidth | 100000 MB | Aylık trafik kotası |
| Max Email Accounts | 25 | Açılabilecek e-posta kutusu |
| Max Databases | 10 | MySQL/MariaDB veritabanı sayısı |
| Max Addon Domains | 3 | Aynı hesaba eklenen ek site |
| Max Subdomains | 20 | Alt alan adı limiti |
| cPanel Theme | jupiter | Son kullanıcı arayüz teması |
Kotalarda "unlimited" seçeneğinden mümkün olduğunca kaçının. Sınırsız disk vaadi ilk bakışta cazip görünse de, tek bir hesabın kontrolsüz büyümesi tüm sunucuyu etkiler; net sayılarla çalışmak hem sizi hem müşteriyi korur. Paketleri hizmet planlarınızla eşleştirirseniz (örneğin bir başlangıç, bir profesyonel, bir kurumsal paket) satış ve teknik taraf birbirine uyar. Kendi hosting planlarınızı kurgularken hosting paketleri ve WordPress'e özel yapılandırmalar için WordPress hosting sayfalarındaki kademelendirme mantığı size iyi bir referans olur.
Create a New Account Ekranı Adım Adım#
Paketiniz hazır olduğunda Account Functions > Create a New Account ekranına gelin. Bu ekran ilk bakışta kalabalık görünse de aslında dört temel bilgiyi doldurmanız yeterlidir: alan adı, kullanıcı adı, parola ve paket. Diğer alanlar çoğu zaman varsayılan hâliyle bırakılabilir.
Domain (Alan adı). Hesabın ana alan adını buraya yazarsınız, örneğin ornekmusteri.com. www yazmayın; yalnızca kök alan adını girin. Bu alan adı hesabın kimliği olur ve cPanel bunu birincil domain olarak kaydeder. Alan adının DNS yönlendirmesinin sunucunuza bakması gerekir; henüz bir alan adı yoksa domain kayıt tarafından temin edebilir, sonra hesabı açabilirsiniz.
Username (Kullanıcı adı). WHM, alan adından otomatik bir kullanıcı adı önerir ama bunu kontrol etmekte fayda var. Kullanıcı adı Linux sistem kullanıcısı olarak yaratılır; bu yüzden 8 karaktere kadar kısalır, yalnızca küçük harf ve rakam içerir, harfle başlar. Bu kullanıcı adı hesabın ana dizinini (/home/kullaniciadi), veritabanı ön eklerini ve FTP kullanıcı adını belirler; bir kez oluşturulduktan sonra değiştirmek zahmetlidir, o yüzden anlaşılır bir isim seçin.
Password (Parola). Güçlü bir parola girin veya "Password Generator" ile üretin. Zayıf parolalar, botların en çok denediği saldırı yüzeyidir. En az 14 karakter, büyük-küçük harf, rakam ve sembol karışımı önerilir:
# Sunucuda hızlıca güçlü parola üretmek için
openssl rand -base64 18
# Örnek çıktı: 7kQ2mZ9xR4pLwN8vTcB1sA
Package (Paket). Az önce tanımladığınız paketi açılır listeden seçin. Paketi seçtiğiniz anda alttaki tüm kota alanları o paketin değerleriyle dolar. Özel bir durum yoksa "Select Options Manually" bölümüne dokunmanıza gerek kalmaz.
Email (Bilgilendirme e-postası). Bu alandaki adres, hesap açıldığında sistem uyarılarının gideceği yerdir. Müşterinin ana e-postasını değil, yönetimsel bir adresi kullanmak daha sağlıklıdır.
Alanları doldurduktan sonra sayfanın altındaki Create düğmesine basın. WHM birkaç saniye içinde sistem kullanıcısını yaratır, ana dizini kurar, DNS bölgesini ekler, Apache/LiteSpeed sanal sunucu yapılandırmasını yazar ve hesabı ayağa kaldırır. İşlem bittiğinde ekranda yeşil "Account Creation Complete" özetini görürsünüz; buradaki cPanel giriş bilgilerini müşteriye iletebilirsiniz.
Hesabı Aynı İşi Komut Satırından Yapmak#
Arayüz pratik olsa da, aynı anda çok sayıda hesap açacaksanız veya işlemi otomatikleştirmek istiyorsanız WHM'in komut satırı araçları çok daha hızlıdır. Root erişiminiz varsa whmapi1 ile tek bir komutta hesap yaratabilirsiniz:
# Tek komutla cPanel hesabı oluşturma
whmapi1 createacct \
username=ornekmus \
domain=ornekmusteri.com \
plan=baslangic-5gb \
password='7kQ2mZ9xR4pLwN8vTcB1sA' \
[email protected]
Çıktı YAML biçiminde döner ve işlemin başarılı olup olmadığını net gösterir:
metadata:
command: createacct
reason: Account Creation Ok
result: 1
version: 1
data:
options:
ip: 185.20.10.44
nameserver: ns1.sunucu-adiniz.com
package: baslangic-5gb
Toplu iş yapıyorsanız kullanıcı adı, alan adı ve paketi bir CSV'den okuyup döngüyle çalıştırabilirsiniz:
# hesaplar.csv içeriği: kullanici,alanadi,paket
while IFS=, read -r user domain plan; do
whmapi1 createacct username="$user" domain="$domain" \
plan="$plan" password="$(openssl rand -base64 18)"
done < hesaplar.csv
Bu yaklaşım, sunucu taşıma projelerinde veya çok sayıda benzer sitenin kurulacağı senaryolarda saatlerce zaman kazandırır. Büyük ölçekli taşımalarda hem hesap oluşturmayı hem de içerik aktarımını birlikte planlamak isterseniz site taşıma hizmetimizin akışı size referans olabilir.
Hesapları Listeleme ve Kullanımı İzleme#
Hesaplar açıldıktan sonra günlük yönetimin merkezi Account Information > List Accounts ekranıdır. Burada sunucunuzdaki (veya bayilik paketinizdeki) tüm hesapları tek tabloda görürsünüz; alan adı, kullanıcı adı, IP, paket ve durum bilgisi yan yana listelenir. Arama kutusuna alan adı veya kullanıcı adı yazarak kalabalık listelerde hızla filtre yapabilirsiniz.
Bu ekran yalnızca bir liste değil, aynı zamanda müdahale merkezidir. Her hesabın satırındaki + simgesine tıkladığınızda o hesaba özel hızlı eylemler açılır: cPanel'e giriş yapmak, parolayı değiştirmek, paketi güncellemek, hesabı askıya almak veya silmek. Kota ve bant genişliği kullanımını da buradan renkli çubuklarla takip edebilir, kotası dolmaya yaklaşan hesapları erkenden fark edebilirsiniz.
Disk ve inode kullanımını daha ayrıntılı görmek isterseniz komut satırından da bakabilirsiniz:
# Tüm hesapların disk kotası özeti
whmapi1 get_disk_usage
# Belirli bir kullanıcının ana dizin boyutu
du -sh /home/ornekmus
# İnode (dosya sayısı) kullanımını görmek
repquota -s /home | grep ornekmus
Kota takibinde en sık gözden kaçan şey inode limitidir. Bir hesap disk alanını doldurmadan da milyonlarca küçük dosyayla (önbellek, log, e-posta) inode sınırına dayanabilir. Site açılıyor ama yeni dosya yazılamıyorsa çoğu zaman sebep budur; bu durumda kullanıcıyı gereksiz dosyaları temizlemesi için bilgilendirmek ya da paketi yükseltmek gerekir. Kaynakların sürekli zorlandığı hesaplar için düzenli yedekleme ve gerekirse sunucu yönetimi desteği devreye girer.
Hesabı Askıya Alma ve Yeniden Etkinleştirme#
Bir hesabı silmeden geçici olarak devre dışı bırakmak istediğinizde kullanacağınız araç Account Functions > Manage Account Suspension ekranıdır. Askıya alma (suspend), en çok ödeme gecikmesi, kaynak istismarı, kota aşımı veya güvenlik olayı durumlarında başvurulan bir işlemdir. Hesabı askıya aldığınızda site ziyaretçilere bir "askıya alındı" sayfası gösterir, e-postalar durur, ama hiçbir veri silinmez; her şey olduğu gibi durur ve dilediğinizde geri açarsınız.
Suspend ekranında hesabı seçer, isterseniz bir "Suspension Reason" (askıya alma nedeni) yazarsınız. Bu not ileride "neden askıya almışım" sorusunu yanıtlar ve ekip içinde iz bırakır. Ayrıca hesabı yeniden açılmasını engelleyecek şekilde kilitleyebilirsiniz (prevent unsuspension), böylece otomatik faturalama sistemleri bile hesabı yanlışlıkla geri açamaz.
Komut satırından askıya alma ve geri açma şöyledir:
# Hesabı askıya al (neden belirterek)
whmapi1 suspendacct user=ornekmus reason='Odeme gecikmesi'
# Hesabı yeniden etkinleştir
whmapi1 unsuspendacct user=ornekmus
# Askıdaki hesapları listele
whmapi1 listsuspended
Kota aşımı senaryosunda genelde iki aşamalı ilerlemek en doğrusudur. Önce müşteriye bir uyarı e-postası gönderip belirli bir süre tanırsınız; bu süre içinde çözüm gelmezse hesabı askıya alırsınız. WHM'in "contact email" alanına doğru adresi girdiyseniz, kota ve askıya alma uyarıları otomatik olarak müşteriye ulaşır. Bu iletişim akışını sağlıklı tutmak için hesap açarken bilgilendirme e-postasını dikkatle doldurmak baştan işe yarar; müşteriye profesyonel bildirim gönderiminde ayrıca e-posta altyapısı da devreye girebilir.
Askıya alma ile silme arasındaki farkı net görmek için:
| Özellik | Askıya Alma (Suspend) | Silme (Terminate) |
|---|---|---|
| Veri durumu | Korunur, dokunulmaz | Kalıcı olarak silinir |
| Site erişimi | Askıya alındı sayfası gösterir | Tamamen kaldırılır |
| Geri dönüş | Tek tıkla yeniden açılır | Yedekten geri yükleme gerekir |
| Ne zaman kullanılır | Ödeme/uyarı/geçici sorun | Sözleşme bitti, kalıcı iptal |
| Disk kullanımı | Yer kaplamaya devam eder | Serbest kalır |
Hesabı Silme ve Güvenli İptal#
Bir hesabın artık kalıcı olarak kaldırılması gerektiğinde Account Functions > Terminate Accounts ekranını kullanırsınız. Silme işlemi geri alınamaz; sistem kullanıcısını, ana dizini, veritabanlarını, e-postaları ve DNS bölgesini tamamen kaldırır. Bu yüzden silmeden önce mutlaka güncel bir yedek almanız gerekir. Müşteri ileride geri dönerse veya yanlış hesabı seçtiyseniz, tek kurtarıcınız o yedek olur.
Terminate ekranında hesabı listeden seçer, "keep DNS zone" gibi seçenekleri değerlendirir ve onay kutusunu işaretleyerek işlemi başlatırsınız. WHM, yanlışlıkla silmeyi zorlaştırmak için ek bir onay ister; bu adımı ciddiye alın. Toplu silmelerde her satırı iki kez okumak, yıllar boyu birikmiş bir müşteri verisini yanlışlıkla yok etmekten çok daha ucuzdur.
Silmeden önce güvenli tarafta kalmak için tam yedek almanın komut satırı yolu şudur:
# Silmeden önce hesabın tam yedeğini al
whmapi1 fullbackup_to_homedir user=ornekmus
# Yedek dosyası /home/ornekmus altında oluşur:
ls -lh /home/ornekmus/backup-*.tar.gz
# Onaylı yedek sonrası hesabı sonlandır
whmapi1 removeacct user=ornekmus keepdns=0
Silme sonrası disk alanı serbest kalır ve List Accounts ekranından hesap kaybolur. Reseller iş akışında iyi bir alışkanlık, sonlandırma tarihini ve nedenini bir kayıt sisteminde tutmaktır; böylece "bu hesaba ne oldu" sorusu geldiğinde net bir yanıtınız olur. Uzun süre saklanması gereken veriler için WHM dışında ayrı bir yedekleme politikanız olması, tek bir sunucuya bağımlı kalmanızı önler.
Reseller İş Akışında Verimlilik İpuçları#
Bayilik işletiyorsanız gün içindeki tekrarlı işlerin hepsini WHM üstlenir, dolayısıyla küçük optimizasyonlar zamanla büyük kazanç sağlar. İlk kural, paketleri baştan iyi tasarlamaktır. İyi kurgulanmış üç-dört paket, yüzlerce hesabı düzenli tutmaya yeter; her müşteriye özel manuel kota girmek yerine standart planlara yönlendirmek hem hataları azaltır hem de fiyatlandırmanızı netleştirir.
İkinci kural, güvenliği hesap seviyesinde ele almaktır. Her yeni hesapta güçlü parola üretmek, mümkünse müşteriyi ilk girişte parola değiştirmeye yönlendirmek ve iki faktörlü doğrulamayı teşvik etmek saldırı yüzeyini ciddi biçimde daraltır. Sunucu genelinde uygulama katmanı koruması için WAF ve hacimsel saldırılara karşı DDoS koruma çözümlerini devreye almak, tek bir kötü niyetli hesabın tüm sunucuyu riske atmasını engeller. HTTPS'i standart hâle getirmek için de her hesapta otomatik SSL kurulumunu açık tutmak en sağlıklısıdır.
Üçüncü kural, izlemeyi otomatikleştirmektir. Kota kullanımını, askıdaki hesapları ve başarısız giriş denemelerini elle takip etmek yerine, düzenli çalışan küçük betiklerle özet almak zamanınızı korur:
# Kotasının %90'ını aşan hesapları bul
whmapi1 get_disk_usage | \
awk '/disk_used/{u=$2} /disk_limit/{l=$2; if(l>0 && u/l>0.9) print}'
Bayiliğinizin altyapısı büyüdükçe paylaşımlı bir reseller paketinden kendi VDS ya da sanal sunucu çözümünüze geçmek, hem kaynak hem de kök erişim esnekliği kazandırır. Ölçekle birlikte hangi sunucu tipinin işinize uyduğunu değerlendirirken sunucu çözümleri sayfası karşılaştırma için iyi bir çıkış noktasıdır.
Sıkça Sorulan Sorular#
WHM ile cPanel arasındaki fark nedir?#
WHM sunucu yöneticisinin kullandığı üst katmandır; hesapları, paketleri ve sunucu ayarlarını buradan yönetirsiniz. cPanel ise her bir hesabın son kullanıcısının kullandığı alt katmandır ve yalnızca o hesaba ait alan adları, e-postalar, veritabanları ile dosyaları kapsar. Kısaca WHM hesapları yaratır ve yönetir, cPanel ise yaratılan hesabın içini düzenler.
Yeni bir cPanel hesabı açmak için neye ihtiyacım var?#
En az bir alan adı, hesaba atayacağınız bir paket ve WHM'e giriş yetkisi yeterlidir. Alan adının DNS yönlendirmesinin sunucunuza bakması gerekir; paketi ise "Create a New Account" ekranına gelmeden önce Packages bölümünden tanımlamış olmanız beklenir. Bu üçü hazırsa hesap açma işlemi birkaç dakika sürer.
Hesabı askıya almak verileri siler mi?#
Hayır, askıya alma hiçbir veriyi silmez. Site geçici olarak bir askıya alma sayfası gösterir ve e-postalar durur, ancak tüm dosyalar, veritabanları ve e-posta kutuları olduğu gibi korunur. Hesabı "Unsuspend" ile yeniden etkinleştirdiğinizde her şey eski hâliyle çalışmaya devam eder; kalıcı silme yalnızca "Terminate" işlemiyle olur.
Kullanıcı adını sonradan değiştirebilir miyim?#
Değiştirmek mümkündür ancak tavsiye edilmez, çünkü kullanıcı adı Linux sistem kullanıcısı, ana dizin yolu, veritabanı ön ekleri ve FTP kimliği ile iç içe geçmiştir. WHM'in "Modify an Account" ekranından değiştirebilseniz de bu işlem bağlantıları kırma riski taşır. En sağlıklısı hesabı açarken kalıcı ve anlaşılır bir kullanıcı adı seçmektir.
Kota aşımında müşteri otomatik bilgilendiriliyor mu?#
Evet, hesabı açarken doğru bir bilgilendirme e-postası girdiyseniz WHM kota ve bant genişliği uyarılarını bu adrese otomatik gönderir. Yine de kritik durumlarda otomatik uyarıya güvenmek yerine müşteriye doğrudan ulaşıp süre tanımak, ardından gerekirse hesabı askıya almak daha profesyonel bir yaklaşımdır. Bilgilendirme adresini yönetimsel bir e-posta olarak ayarlamak takibi kolaylaştırır.
Bir hesabı silmeden önce mutlaka yedek almalı mıyım?#
Kesinlikle evet. Silme işlemi geri alınamaz ve hesaba ait tüm veriyi kalıcı olarak yok eder. Silmeden önce fullbackup_to_homedir ya da WHM'in yedekleme aracıyla tam bir yedek almak, yanlış hesabı seçme veya müşterinin geri dönme ihtimaline karşı sizi korur. Yedeği sunucu dışında ayrı bir konumda saklamak ise en güvenli yoldur.
Kapanış#
WHM üzerinde hesap yönetimi, ilk bakışta kalabalık görünen ama mantığı oturunca çok akıcı ilerleyen bir iş akışıdır. Sağlam paketler tanımlayıp "Create a New Account" ile hesabı doğru açtığınızda, geri kalan her şey (listeleme, kota takibi, askıya alma, yeniden etkinleştirme ve gerektiğinde güvenli silme) rutin ve öngörülebilir hâle gelir. Anahtar, açmadan önce iyi planlamak, açtıktan sonra düzenli izlemek ve silmeden önce mutlaka yedek almaktır.
Bayilik altyapınızı büyütmek ya da kendi WHM'inize sahip bir sunucuya geçmek istiyorsanız Clou.TR'nin reseller hosting ve sunucu çözümleri sayfalarını inceleyebilir, WordPress ağırlıklı projeler için WordPress hosting ve düzenli WordPress bakım hizmetlerimizden yararlanabilirsiniz. Hangi paketin işinize uyduğundan emin değilseniz, ihtiyaçlarınızı bizimle paylaşın; doğru altyapıyı birlikte kuralım.