CPanel lisans ücretleri her yıl katlanarak artarken, VPS'ini yönetmek için para vermek zorunda değilsin. HestiaCP, Vesta'dan türeyen açık kaynak bir kontrol panelidir; Nginx + Apache/PHP-FPM, MariaDB, Exim/Dovecot mail, DNS, FTP ve otomatik Let's Encrypt SSL'i tek arayüzden yönetmeni sağlar. Kaynak tüketimi düşüktür, 1 GB RAM'lik bir VPS'te bile rahat çalışır.
Bu rehberde temiz bir Ubuntu sunucuya HestiaCP kurup ilk sitemizi yayına alacağız. Örneklerde kendi kullanıcı adımı Oblifex olarak göstereceğim, sen kendi kullanıcı adını yazacaksın.
Çok önemli bir nokta: HestiaCP temiz sunucuya kurulur. Üzerinde Apache, Nginx, MySQL, Docker gibi şeyler kurulu bir makineye kurmaya çalışırsan kurulum yarıda kalır. Yeni bir VPS alıp öyle başla.
Aşağıda kurulumun genel akışı var, adımları buna göre takip edeceğiz:

Sunucuna SSH ile bağlan:
İlk iş sistemi güncelle ve screen kur. Kurulum uzun sürdüğü için SSH bağlantın koparsa işlem yarıda kalır; screen bunu engeller:
Hostname'i ayarla. Bunu panelin çalışacağı alt alan adı yapman en temizi:
DNS tarafında panel. Oblifex. Com için sunucu IP'sine bir A kaydı açmayı unutma. SSL almak isteyeceğin için bu kayıt kurulumdan önce yayılmış olmalı.
Script sana kurulacak bileşenleri gösterip onay ister, ardından e-posta ve hostname sorar. Aşağıda kurulumun terminalde nasıl göründüğünü örnekledim:
Kurulum bitince ekranda çıkan kullanıcı adı ve şifreyi mutlaka bir yere kaydet. Sonra reboot yazıp sunucuyu yeniden başlat.
Sık kullanılan parametreler:
adresine git. Kurulum sırasında verilen admin bilgileriyle giriş yap.
Burada çok önemli bir alışkanlık var: sitelerini admin hesabında barındırma. Her müşteri veya her proje için ayrı bir kullanıcı aç. Böylece dosyalar birbirinden izole olur, kaynak limiti koyabilirsin ve bir siteyi tek tıkla paketleyip taşıyabilirsin.
Users → Add User diyerek Oblifex adında bir kullanıcı açalım. Ardından Web → Add Web Domain ile domainimizi ekliyoruz. Panelin bu ekranı şöyle görünüyor:

Dikkat edilecek nokta: HestiaCP'de site dosyaların /home/KULLANICI/web/DOMAIN/public_HTML yolunda tutulur. CPanel'den geliyorsan public_HTML klasörünün doğrudan ana dizinde olmadığını, her domain için ayrı bir klasörün altında olduğunu unutma. Dosyalarını FTP veya panelin File Manager'ı ile bu dizine atacaksın.
SSL alınmıyorsa sebebi neredeyse her zaman şu ikisidir: domainin A kaydı henüz sunucu IP'sine düşmemiştir, ya da Cloudflare proxy (turuncu bulut) açıktır. Sertifikayı alırken Cloudflare'i geçici olarak gri buluta çek, sonra tekrar aç.
DB → Add Database diyerek veritabanını oluştur. HestiaCP veritabanı ve kullanıcı adının başına otomatik olarak kullanıcı adını ekler; yani forum yazarsan gerçek isim Oblifex_forum olur. Yazılım kurulumlarında bağlantı bilgisi girerken bu ön eki kullanmayı unutma.
FTP hesabı için domainin Edit sayfasındaki Additional FTP account bölümünü kullan. Buradan açtığın hesabın erişimi sadece o domainin klasörüyle sınırlı kalır.
Panel portunu değiştir. 8083 bilinen bir port, bot taramalarının hedefidir:
SSH'ı sertifika ile kullan ve root girişini kapat. /etc/ssh/sshd_config içinde PermitRootLogin no ve PasswordAuthentication no yaparak, önce kendine sudo yetkili bir kullanıcı açtığından emin ol.
Fail2Ban zaten kurulu geliyor, panelde Server → Configure altından durumunu görebilirsin. Banlı IP'leri şöyle listelersin:
Otomatik yedekleme kur. Panelde Backup sekmesi günlük yedek alır ama yedekler aynı sunucuda durur, bu bir yedekleme değildir. Server → Configure → Backup altından uzak bir sunucuyu (SFTP veya B2) hedef olarak tanımla.
Sunucuda önceden kurulu Apache, Nginx veya MySQL vardır. Temiz sistemle yeniden başla.
Panele giriş yapamıyorum, sayfa açılmıyor
Sağlayıcının kendi firewall'unda (Hetzner Cloud Firewall, AWS Security Group) 8083 portu kapalıdır. Sunucu içindeki iptables'a bakmadan önce panel tarafını kontrol et.
Site açılıyor ama "403 Forbidden" veriyor
Dosya izinleri bozulmuştur. Şu komut düzeltir:
PHP sürümünü değiştiremiyorum
--Multiphp yes ile kurmadıysan tek sürüm gelmiştir. Sonradan eklemek için:
Mail gitmiyor / spam'e düşüyor
Sunucu IP'nin PTR (reverse DNS) kaydını sağlayıcı panelinden hostname'ine ayarla, ardından DNS'te SPF, DKIM ve DMARC kayıtlarını ekle. HestiaCP DKIM'i domain eklerken otomatik üretir, sadece DNS'e yapıştırman yeterli.
Kurulumda takıldığınız yer olursa hata çıktısını buraya yapıştırın, birlikte çözelim. Bu rehberin devamı olarak HestiaCP'de cPanel'den site taşıma konusunu da seri konuları açacağım.
Bu rehberde temiz bir Ubuntu sunucuya HestiaCP kurup ilk sitemizi yayına alacağız. Örneklerde kendi kullanıcı adımı Oblifex olarak göstereceğim, sen kendi kullanıcı adını yazacaksın.
1. Kuruluma başlamadan önce
Gereksinim Önerilen İşletim sistemi Ubuntu 22.04 / 24.04 LTS veya Debian 11/12 (temiz kurulum) RAM Min. 1 GB — mail + antivirüs kullanacaksan 2 GB Disk Min. 20 GB Erişim root SSH erişimi Domain Panel için bir alt alan adı, örn. panel.oblifex.com
| Gereksinim | Önerilen |
|---|---|
| İşletim sistemi | Ubuntu 22.04 / 24.04 LTS veya Debian 11/12 (temiz kurulum) |
| RAM | Min. 1 GB — mail + antivirüs kullanacaksan 2 GB |
| Disk | Min. 20 GB |
| Erişim | root SSH erişimi |
| Domain | Panel için bir alt alan adı, örn. panel.oblifex.com |
Çok önemli bir nokta: HestiaCP temiz sunucuya kurulur. Üzerinde Apache, Nginx, MySQL, Docker gibi şeyler kurulu bir makineye kurmaya çalışırsan kurulum yarıda kalır. Yeni bir VPS alıp öyle başla.
Aşağıda kurulumun genel akışı var, adımları buna göre takip edeceğiz:

2. Sunucuya bağlanma ve hazırlık
Sunucuna SSH ile bağlan:
Kod:
ssh root@SUNUCU_IP
İlk iş sistemi güncelle ve screen kur. Kurulum uzun sürdüğü için SSH bağlantın koparsa işlem yarıda kalır; screen bunu engeller:
Kod:
apt update && apt upgrade -y
apt install -y screen curl
Hostname'i ayarla. Bunu panelin çalışacağı alt alan adı yapman en temizi:
Kod:
hostnamectl set-hostname panel.oblifex.com
DNS tarafında panel. Oblifex. Com için sunucu IP'sine bir A kaydı açmayı unutma. SSL almak isteyeceğin için bu kayıt kurulumdan önce yayılmış olmalı.
3. Kurulum scriptini indir ve çalıştır
Önce ekran oturumu aç, sonra scripti indir:
Kod:
screen -S hestia
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
bash hst-install.sh
Script sana kurulacak bileşenleri gösterip onay ister, ardından e-posta ve hostname sorar. Aşağıda kurulumun terminalde nasıl göründüğünü örnekledim:
Kod:
root@panel:~# bash hst-install.sh
_ _ _ _ ____ ____
| | | | ___ ___| |_(_) __ _ / ___| _ \
| |_| |/ _ \/ __| __| |/ _` | | | |_) |
| _ | __/\__ \ |_| | (_| | |___| __/
|_| |_|\___||___/\__|_|\__,_|\____|_|
The following software will be installed on your system:
- Nginx Web / Proxy Server
- Apache Web Server (as backend)
- PHP-FPM 8.3 Application Server
- MariaDB Database Server
- Exim / Dovecot Mail Server
- Bind DNS Server
- Vsftpd FTP Server
- Firewall (iptables) + Fail2Ban
Would you like to continue [y/N]: y
Please enter admin email address: [email protected]
Please enter FQDN hostname: panel.oblifex.com
[ * ] Installing packages...
[ * ] Configuring MariaDB...
[ * ] Configuring Nginx / Apache...
[ * ] Generating SSL certificate...
Congratulations! You have successfully installed Hestia.
https://panel.oblifex.com:8083
username: admin
password: ****************
Reboot is required. Type 'reboot' now.
Kurulum bitince ekranda çıkan kullanıcı adı ve şifreyi mutlaka bir yere kaydet. Sonra reboot yazıp sunucuyu yeniden başlat.
İsteğe bağlı kurulum parametreleri
Her şeyi kurmak istemiyorsan scripti parametreli çalıştırabilirsin. Örneğin mail sunucusu, DNS ve FTP'ye ihtiyacın yoksa:
Kod:
bash hst-install.sh --exim no --dovecot no --named no --vsftpd no \
--clamav no --spamassassin no --port 2083 \
--hostname panel.oblifex.com --email [email protected] \
--password GucluBirSifre123
Sık kullanılan parametreler:
| Parametre | Ne işe yarar |
|---|---|
--port 2083 | Panel portunu 8083 yerine değiştirir |
--exim no --dovecot no | Mail sunucusunu kurmaz, ciddi RAM tasarrufu sağlar |
--clamav no --spamassassin no | Antivirüs/spam taramasını atlar (düşük RAM'de şart) |
--named no | DNS sunucusu kurmaz (Cloudflare kullanıyorsan gerek yok) |
--multiphp yes | Birden fazla PHP sürümünü aynı anda kurar |
--force | Var olan kurulumun üstüne zorlar (dikkatli kullan) |
4. Panele ilk giriş ve kullanıcı oluşturma
Tarayıcıdan
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
Burada çok önemli bir alışkanlık var: sitelerini admin hesabında barındırma. Her müşteri veya her proje için ayrı bir kullanıcı aç. Böylece dosyalar birbirinden izole olur, kaynak limiti koyabilirsin ve bir siteyi tek tıkla paketleyip taşıyabilirsin.
Users → Add User diyerek Oblifex adında bir kullanıcı açalım. Ardından Web → Add Web Domain ile domainimizi ekliyoruz. Panelin bu ekranı şöyle görünüyor:

Dikkat edilecek nokta: HestiaCP'de site dosyaların /home/KULLANICI/web/DOMAIN/public_HTML yolunda tutulur. CPanel'den geliyorsan public_HTML klasörünün doğrudan ana dizinde olmadığını, her domain için ayrı bir klasörün altında olduğunu unutma. Dosyalarını FTP veya panelin File Manager'ı ile bu dizine atacaksın.
5. SSL sertifikası
Domain ekleme ekranında ya da sonradan domainin Edit sayfasında iki kutucuk var:- Enable SSL for this domain
- Use Let's Encrypt to obtain SSL certificate
SSL alınmıyorsa sebebi neredeyse her zaman şu ikisidir: domainin A kaydı henüz sunucu IP'sine düşmemiştir, ya da Cloudflare proxy (turuncu bulut) açıktır. Sertifikayı alırken Cloudflare'i geçici olarak gri buluta çek, sonra tekrar aç.
6. Veritabanı ve FTP
DB → Add Database diyerek veritabanını oluştur. HestiaCP veritabanı ve kullanıcı adının başına otomatik olarak kullanıcı adını ekler; yani forum yazarsan gerçek isim Oblifex_forum olur. Yazılım kurulumlarında bağlantı bilgisi girerken bu ön eki kullanmayı unutma.
FTP hesabı için domainin Edit sayfasındaki Additional FTP account bölümünü kullan. Buradan açtığın hesabın erişimi sadece o domainin klasörüyle sınırlı kalır.
7. Kurulum sonrası güvenlik
Panel açıldı diye bırakma, şunları mutlaka yap:Panel portunu değiştir. 8083 bilinen bir port, bot taramalarının hedefidir:
Kod:
v-change-sys-port 2083
SSH'ı sertifika ile kullan ve root girişini kapat. /etc/ssh/sshd_config içinde PermitRootLogin no ve PasswordAuthentication no yaparak, önce kendine sudo yetkili bir kullanıcı açtığından emin ol.
Fail2Ban zaten kurulu geliyor, panelde Server → Configure altından durumunu görebilirsin. Banlı IP'leri şöyle listelersin:
Kod:
fail2ban-client status hestia
Otomatik yedekleme kur. Panelde Backup sekmesi günlük yedek alır ama yedekler aynı sunucuda durur, bu bir yedekleme değildir. Server → Configure → Backup altından uzak bir sunucuyu (SFTP veya B2) hedef olarak tanımla.
8. Sık karşılaşılan hatalar
"Error: Hestia install failed" / kurulum yarıda kesiliyorSunucuda önceden kurulu Apache, Nginx veya MySQL vardır. Temiz sistemle yeniden başla.
Panele giriş yapamıyorum, sayfa açılmıyor
Sağlayıcının kendi firewall'unda (Hetzner Cloud Firewall, AWS Security Group) 8083 portu kapalıdır. Sunucu içindeki iptables'a bakmadan önce panel tarafını kontrol et.
Site açılıyor ama "403 Forbidden" veriyor
Dosya izinleri bozulmuştur. Şu komut düzeltir:
Kod:
v-rebuild-web-domains oblifex
PHP sürümünü değiştiremiyorum
--Multiphp yes ile kurmadıysan tek sürüm gelmiştir. Sonradan eklemek için:
Kod:
v-add-web-php 8.2
Mail gitmiyor / spam'e düşüyor
Sunucu IP'nin PTR (reverse DNS) kaydını sağlayıcı panelinden hostname'ine ayarla, ardından DNS'te SPF, DKIM ve DMARC kayıtlarını ekle. HestiaCP DKIM'i domain eklerken otomatik üretir, sadece DNS'e yapıştırman yeterli.
Kurulumda takıldığınız yer olursa hata çıktısını buraya yapıştırın, birlikte çözelim. Bu rehberin devamı olarak HestiaCP'de cPanel'den site taşıma konusunu da seri konuları açacağım.