cPanel/WHM Kurulumu Adım Adım: AlmaLinux, Rocky, Ubuntu
cPanel/WHM kurulumu, temiz bir işletim sistemine resmi kurulum betiğini çalıştırmaktan ibarettir. Ancak hostname, DNS, lisans ve güvenlik adımlarını doğru sırayla yapmazsanız kurulum ya yarıda kalır ya da sonradan sorun çıkarır. Bu rehberde AlmaLinux, Rocky Linux ve Ubuntu üzerinde kurulumu hazırlıktan ilk güvenlik ayarlarına kadar sırayla anlatıyoruz.
Örneklerde dokümantasyon amaçlı
192.0.2.10,example.comve2001:db8::10kullanılmıştır. Kendi değerlerinizle değiştirin.
1. Sistem gereksinimleri
cPanel & WHM, temiz (fresh) bir işletim sistemi ister. Üzerinde Apache, MySQL/MariaDB, Exim, Postfix gibi önceden kurulmuş servisler ya da başka bir kontrol paneli olmamalıdır.
| Konu | Öneri |
|---|---|
| İşletim sistemi | AlmaLinux 8/9, Rocky Linux 8/9, RHEL 8/9; Ubuntu LTS (22.04 ve cPanel'in desteklediği güncel LTS sürümü) |
| CPU / RAM | Kurulum için resmi minimum düşüktür; pratikte 4 GB RAM ve üzeri önerilir |
| Disk | En az 40 GB. Yedekler ve e-posta için ayrı disk planlayın |
| Ağ | Public, sabit bir IPv4 adresi (IPv6 isteğe bağlı) |
| Erişim | root ya da sudo yetkili SSH |
Notlar:
- Desteklenen sürümler zamanla değişir. Kurulumdan önce cPanel'in resmi "System Requirements" sayfasını kontrol edin.
- CentOS 7 gibi ömrünü tamamlamış dağıtımlar desteklenmez.
- RHEL tabanlı dağıtımlarda SELinux devre dışı olmalıdır. cPanel, SELinux'u enforcing modda desteklemez.
- Ubuntu'da bazı özellikler RHEL tabanlı dağıtımlardan farklı olabilir. Hedef eklentileriniz (ör. CloudLinux) varsa AlmaLinux ya da Rocky daha az sürpriz çıkarır.
- Kurulum yaklaşık 30-60 dakika ya da daha uzun sürebilir. RAM düşükse kurulum sırasında OOM hatası görebilirsiniz.
Hosting amaçlı bir sunucu arıyorsanız KVM/VMware tabanlı sanal dedicated sunucular bu iş için uygundur. Nixcon'un BGP destekli VDS sunucularına AlmaLinux, Rocky ve Ubuntu kurabilirsiniz.
2. Hostname ve DNS hazırlığı
cPanel kurulumunda en sık hata, hatalı hostname'dir. Kural basittir: hostname bir FQDN olmalı ve müşterilerinize hosting verdiğiniz alan adının kendisi olmamalıdır. example.com yerine server1.example.com kullanın.
DNS kayıtları
Alan adınızın DNS panelinde şunları oluşturun:
server1.example.com. IN A 192.0.2.10
server1.example.com. IN AAAA 2001:db8::10 ; IPv6 kullanıyorsanız
ns1.example.com. IN A 192.0.2.10
ns2.example.com. IN A 192.0.2.11
Kendi nameserver'larınızı kullanacaksanız ns1 ve ns2 için domain kayıt kuruluşunda glue (host) kaydı açmanız gerekir.
Ayrıca IP bloğunun sahibinden (hosting sağlayıcınızdan) PTR (rDNS) kaydını isteyin: 192.0.2.10 → server1.example.com. E-posta teslim edilebilirliği için bu kayıt önemlidir.
Sunucuda hostname ayarı
hostnamectl set-hostname server1.example.com
hostname -f
dig +short server1.example.com
hostname -f tam FQDN döndürmeli, dig ise sunucunun public IP'sini göstermelidir. /etc/hosts dosyasında da şu satır bulunmalıdır:
192.0.2.10 server1.example.com server1
3. İşletim sistemi hazırlığı
AlmaLinux / Rocky Linux
dnf -y update
dnf -y install perl curl tmux
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
reboot
Yeniden başlattıktan sonra getenforce çıktısı Disabled olmalıdır.
Ubuntu
apt update && apt -y upgrade
apt -y install perl curl tmux
reboot
Ubuntu'da ufw açıksa, aşağıdaki "Gerekli portlar" bölümündeki portların açık olduğundan emin olun.
4. Resmi kurulum betiği
SSH bağlantınız kopabileceği için kurulumu tmux içinde çalıştırın:
tmux new -s cpanel
cd /home
curl -o latest -L https://securedownloads.cpanel.net/latest
sh latest
Komut, hem RHEL tabanlı hem Ubuntu sistemlerde aynıdır. Betik işletim sistemini tanır, gerekli paketleri indirir ve cPanel'i kurar. Kurulumu başka bir yerden izlemek için:
tail -f /var/log/cpanel-install.log
Bağlantınız koparsa tmux attach -t cpanel ile geri dönebilirsiniz. Kurulum bitince sürümü kontrol edin:
/usr/local/cpanel/cpanel -V
Güvenlik notu: Betiği
curl | shşeklinde körü körüne çalıştırmak yerine önce dosyayı indirip adresin resmisecuredownloads.cpanel.netolduğundan emin olun. Yukarıdaki yöntem bunu zaten sağlar.
Gerekli portlar
| Port | Kullanım |
|---|---|
| 2087 / 2086 | WHM (SSL / SSL'siz) |
| 2083 / 2082 | cPanel |
| 2096 / 2095 | Webmail |
| 80, 443 | Web |
| 53 (TCP/UDP) | DNS |
| 25, 465, 587 | SMTP |
| 110, 995, 143, 993 | POP3/IMAP |
| 21 | FTP |
| 22 | SSH (ya da değiştirdiğiniz port) |
5. Lisans
cPanel lisansları IP adresine bağlıdır. Lisans, sunucunun birincil public IP'si için alınmalıdır. Daha önce lisans verilmemiş IP'lerde kurulum sırasında deneme lisansı devreye girebilir. Kalıcı lisansı cPanel Store ya da yetkili bir dağıtıcıdan edinebilirsiniz.
Lisansı tazelemek ve doğrulamak için:
/usr/local/cpanel/cpkeyclt
"License verification failed" gibi hatalarda kontrol edin:
- Lisans, sunucunun gerçekten dışarı çıktığı IP için mi alınmış? NAT arkasındaysanız lisans sunucusu farklı bir IP görür.
- Sunucudan dışarı HTTPS erişimi açık mı?
- Lisans başka bir IP'ye mi atanmış?
6. İlk WHM ayarları
Tarayıcıdan https://192.0.2.10:2087 adresine gidin ve root ile giriş yapın. Self-signed sertifika uyarısı ilk girişte normaldir. Kurulum sihirbazında şunları yapılandırın:
- Lisans sözleşmesi ve e-posta: Sunucu bildirimlerinin gideceği güncel bir e-posta girin.
- Hostname ve resolver: Çalışan DNS çözümleyici IP'leri girin.
- Nameserver:
ns1.example.comvens2.example.comdeğerlerini girin. - Servis seçimleri: Varsayılan DNS, mail ve FTP seçenekleri çoğu kurulum için uygundur.
Sihirbazdan sonra WHM içinde şu sırayla ilerleyin:
- Server Configuration → Basic WebHost Manager Setup: Ortak IP'ler, nameserver ve saat dilimi.
- Server Configuration → Tweak Settings: Mail ve hesap davranışlarını ihtiyacınıza göre gözden geçirin.
- Software → MultiPHP Manager: Varsayılan PHP sürümünü seçin, eski ve desteklenmeyen sürümleri kapalı tutun.
- Security Center → Manage AutoSSL: Hosting hesapları için otomatik SSL'i etkinleştirin.
- Packages → Add a Package: Disk, trafik ve e-posta limitlerini içeren paketler oluşturun.
- Backup → Backup Configuration: Yedeği etkinleştirin ve mümkünse uzak bir hedefe (ayrı sunucu ya da S3 uyumlu depolama) gönderin.
- Server Configuration → Update Preferences: Otomatik güncellemeleri açık bırakın.
İlk hesabı Account Functions → Create a New Account ile oluşturup https://192.0.2.10:2083 üzerinden cPanel girişini test edin.
7. Güvenlik önerileri
- root ile SSH'yi kısıtlayın. Anahtar tabanlı giriş kullanın,
PasswordAuthentication noyapın. Önce anahtarla girişin çalıştığını doğrulayın:bash # /etc/ssh/sshd_config PermitRootLogin prohibit-password PasswordAuthentication no - cPHulk Brute Force Protection (Security Center) özelliğini açın. Kendi IP'nizi beyaz listeye eklemeyi unutmayın.
- İki faktörlü doğrulamayı (Security Center → Two-Factor Authentication) root ve reseller hesapları için etkinleştirin.
- ModSecurity ve güncel bir kural seti (ör. OWASP CRS) kullanın. Başlangıçta yanlış pozitifleri izleyin.
- Gereksiz servisleri kapatın. Anonim FTP'yi devre dışı bırakın, kullanmadığınız servisleri durdurun.
- WHM erişimini kısıtlayın. 2086/2087 portlarını mümkünse yalnızca yönetim IP'lerine açın. Host Access Control ve sunucu güvenlik duvarı bu iş için kullanılabilir.
- Mail kötüye kullanımını sınırlayın. Saatlik gönderim limiti belirleyin, SPF/DKIM/DMARC kayıtlarını doğru tutun.
- Güncellemeleri ve yedekleri düzenli test edin. Geri yükleme denemesi yapılmamış bir yedek, yedek sayılmaz.
Ağ seviyesinde ise hacimsel saldırılar sunucu güvenlik duvarıyla durdurulamaz. Hosting sunucularında, ağ girişinde filtreleme yapan bir DDoS koruma ve firewall çözümü ayrıca planlanmalıdır.
Sık karşılaşılan hatalar
| Belirti | Olası neden | Çözüm |
|---|---|---|
| Kurulum başlamıyor, hostname uyarısı | Hostname FQDN değil | hostnamectl set-hostname server1.example.com |
| "Existing software detected" benzeri hata | Sunucu temiz değil | İşletim sistemini yeniden kurun |
| Kurulum sırasında paket indirilemiyor | DNS çözümleyici ya da çıkış erişimi sorunu | /etc/resolv.conf ve dışarıya HTTPS erişimini kontrol edin |
| Kurulum ortasında kesilme | Düşük RAM / OOM | RAM'i artırın, dmesg kayıtlarına bakın |
| 2087 portuna erişilemiyor | Güvenlik duvarı | ss -tlnp \| grep 2087 ile dinlemeyi, ardından güvenlik duvarını kontrol edin |
| Lisans hatası | Yanlış IP / NAT | /usr/local/cpanel/cpkeyclt ve IP eşleşmesini kontrol edin |
| Mailler spam'e düşüyor | PTR, SPF veya DKIM eksik | rDNS ve e-posta kimlik doğrulama kayıtlarını düzeltin |
Kurulum sonrası kontrol listesi
/usr/local/cpanel/cpanel -V # sürüm
/usr/local/cpanel/cpkeyclt # lisans
/scripts/upcp --force # güncelleme
hostname -f # FQDN
dig +short -x 192.0.2.10 # PTR kaydı
Hepsi beklenen sonucu veriyorsa sunucunuz ilk hesapları barındırmaya hazırdır. Birden çok müşteriye hosting verecekseniz, ağ tarafında da düşünün. Sunucunun bulunduğu lokasyon, DDoS koruması ve IP itibarı, kontrol paneli kadar önemlidir.
Sık sorulan sorular
cPanel hangi işletim sistemlerini destekler?
cPanel & WHM, AlmaLinux, Rocky Linux ve RHEL 8/9 ile Ubuntu LTS sürümlerini destekler. Desteklenen sürüm listesi zamanla değişir, bu yüzden kurulumdan önce resmi sistem gereksinimleri sayfasını kontrol edin. CentOS 7 gibi ömrünü tamamlamış sürümler desteklenmez.
cPanel kurulumu ne kadar sürer?
Sunucunun hızına ve internet bağlantısına göre yaklaşık 30-60 dakika ya da biraz daha uzun sürebilir. Bağlantı kopmalarına karşı kurulumu tmux ya da screen içinde çalıştırmanız ve /var/log/cpanel-install.log dosyasını izlemeniz önerilir.
cPanel hostname'i neden alan adından farklı olmalı?
Hostname, sunucunun kendi kimliğidir ve FQDN olmalıdır. Müşterilere hosting verdiğiniz alan adıyla aynı olursa DNS ve SSL çakışmaları çıkabilir. Bu yüzden server1.example.com gibi bir alt alan adı kullanılır.
cPanel lisansı neden IP adresine bağlıdır?
cPanel lisansları sunucunun birincil public IP adresine tanımlanır ve lisans sunucusu bu IP üzerinden doğrulama yapar. NAT arkasında ya da IP değişikliğinde doğrulama başarısız olabilir. Bu durumda /usr/local/cpanel/cpkeyclt komutuyla lisansı yenileyip IP eşleşmesini kontrol edin.