İlk rehberde HestiaCP'yi kurmuştuk. Şimdi asıl zor kısım: mevcut sitelerini cPanel'den yeni panele, ziyaretçi kaybetmeden taşımak.
Baştan söyleyeyim: cPanel yedeğini HestiaCP'ye doğrudan yükleyemezsin. İki panelin yedek formatı tamamen farklıdır. CPanel'in. Tar. Gz yedeği kendi dizin yapısını, kendi kullanıcı veritabanını ve kendi ayar dosyalarını taşır; HestiaCP bunları tanımaz. Yapacağımız iş, yedeği açıp içinden dosyaları, veritabanını ve mailleri parça parça çıkarıp yeni tarafa yerleştirmek.
Bu rehberde iki yöntem göreceğiz: küçük siteler için manuel yöntem, çok sayıda site için topluca taşıma. Örneklerde hedef kullanıcı adı olarak Oblifex kullanacağım.
Akış şöyle işliyor:

CPanel'e gir, Files → Backup → Download a Full Account Backup yolunu izle. Hedef dizin olarak "Home Directory" seç ve oluştur. Yedek hazırlanınca home dizininde backup-9.7.2026_12-00-00_Oblifex. Tar. Gz gibi bir dosya oluşur.
SSH erişimin varsa komut satırından almak daha hızlıdır:
Yedeği yeni sunucuya indir. En pratik yol, dosyayı eski sunucudaki public_HTML altına geçici olarak koyup yeni sunucudan çekmek:
SSH erişimin varsa doğrudan rsync çok daha sağlıklıdır, yarıda kalırsa kaldığı yerden devam eder:
Yedeği aç:
Bizim ilgileneceklerimiz: homedir, mysql, cron ve mail taşıyacaksan homedir/mail.
Bu komutlar sonrasında veritabanının gerçek adı Oblifex_forum, kullanıcı adı ise Oblifex_forumuser olur. Eski sitedeki bağlantı ayarlarını buna göre güncelleyeceksin.
Buradaki -a bayrağı önemli, dosya izinlerini ve gizli dosyaları (. Htaccess gibi) korur. Sonra sahiplik ayarını düzelt, bu adımı atlarsan site 403 verir:
İki panelin dizin yapısı arasındaki fark şu şekilde:

CPanel'de alt alan adları ana public_HTML içinde bir klasördür; HestiaCP'de her alan adı kendi başına bir dizindir.
Bu fark yüzünden alt alan adlarını taşırken dikkat et: cPanel'de public_HTML/forum klasöründe olan siteni HestiaCP'de önce v-add-web-domain Oblifex forum. Oblifex. Com ile ayrı bir domain olarak eklemen, sonra dosyaları o domainin kendi public_HTML klasörüne kopyalaman gerekir.
Root şifresini bilmiyorsan HestiaCP onu şurada saklar:
Yükleme bittikten sonra yazılımın konfigürasyon dosyasını güncellemeyi unutma. Veritabanı adı ve kullanıcı adı değişti, eski değerler yazılı kalırsa site "database connection error" verir.
Windows'ta C:\Windows\System32\drivers\etc\hosts, Linux/macOS'ta /etc/hosts dosyasını yönetici olarak aç ve şu satırı ekle:
Kaydet, tarayıcının önbelleğini temizle ve siteyi aç. Karşına yeni sunucudaki site gelecek. Şunları tek tek kontrol et: ana sayfa açılıyor mu, iç sayfalar (permalink) çalışıyor mu, yönetici paneline girebiliyor musun, görseller ve yüklenen dosyalar geliyor mu, formlar çalışıyor mu.
Test bitince eklediğin satırı hosts dosyasından sil.
Sonra eski maildir içeriğini kopyala:
Alternatif ve daha güvenli bir yol, imapsync ile iki sunucu arasında IMAP üzerinden senkronizasyon yapmaktır; mail sayısı çokça ise bunu tercih et.
PHP sürümünü eski sunucudakiyle eşleştir. Domainin Edit sayfasından backend template'ini seç. Gerekirse ek sürüm kur:
Sonra alan adının A kaydını yeni sunucu IP'sine çevir. Yayılma tamamlandığında (
üzerinden kontrol edebilirsin) SSL sertifikasını al:
Eski hosting hesabını en az bir hafta silme. DNS önbellekleri yüzünden bazı ziyaretçiler ve mail sunucuları birkaç gün daha eski sunucuya bağlanmaya devam eder.
Bu scriptleri önce boş bir test sunucusunda dene. Otomatik araçlar mail ve özel Apache ayarlarında zaman zaman eksik bırakır; canlı müşteri sitesinde ilk denemeyi yapma.
PHP sürümü uyumsuzdur. /home/Oblifex/web/Oblifex. Com/logs/error. Log dosyasına bak, hatayı orada göreceksin.
"Error establishing a database connection"
Konfigürasyon dosyasındaki veritabanı adı hâlâ eski. Ön ekin Oblifex_ olarak değiştiğini unutma.
İç sayfalar 404 veriyor, ana sayfa çalışıyor
. Htaccess dosyası kopyalanmamıştır. Cp komutunda -a bayrağını kullanmadıysan gizli dosyalar atlanmıştır, tekrar kopyala.
Görseller ve yüklemeler görünmüyor
Dosya sahipliği yanlıştır: chown -R Oblifex: Oblifex /home/Oblifex/web/
Mail gidiyor ama gelmiyor
MX kaydını yeni sunucuya çevirmeyi unutmuşsundur ya da hâlâ eski sunucuyu gösteriyordur.
Taşıma sırasında takıldığınız bir yer olursa hata logunu buraya yapıştırın. Serinin devamında HestiaCP'de otomatik uzak yedekleme kurulumu konusunu işleyeceğim.
Baştan söyleyeyim: cPanel yedeğini HestiaCP'ye doğrudan yükleyemezsin. İki panelin yedek formatı tamamen farklıdır. CPanel'in. Tar. Gz yedeği kendi dizin yapısını, kendi kullanıcı veritabanını ve kendi ayar dosyalarını taşır; HestiaCP bunları tanımaz. Yapacağımız iş, yedeği açıp içinden dosyaları, veritabanını ve mailleri parça parça çıkarıp yeni tarafa yerleştirmek.
Bu rehberde iki yöntem göreceğiz: küçük siteler için manuel yöntem, çok sayıda site için topluca taşıma. Örneklerde hedef kullanıcı adı olarak Oblifex kullanacağım.
Taşımanın mantığı
Taşımada en kritik kural şu: DNS'i en son değiştir. Önce her şeyi yeni sunucuda çalışır hâle getir, kendi bilgisayarından test et, ancak ondan sonra alan adını yeni IP'ye yönlendir. Aksi hâlde site yarım saat boyunca hata sayfası verir.Akış şöyle işliyor:

1. cPanel'den tam yedek al
CPanel'e gir, Files → Backup → Download a Full Account Backup yolunu izle. Hedef dizin olarak "Home Directory" seç ve oluştur. Yedek hazırlanınca home dizininde backup-9.7.2026_12-00-00_Oblifex. Tar. Gz gibi bir dosya oluşur.
SSH erişimin varsa komut satırından almak daha hızlıdır:
Kod:
/usr/local/cpanel/scripts/pkgacct oblifex /home
Yedeği yeni sunucuya indir. En pratik yol, dosyayı eski sunucudaki public_HTML altına geçici olarak koyup yeni sunucudan çekmek:
Kod:
cd /tmp
wget https://eskisite.com/backup-oblifex.tar.gz
SSH erişimin varsa doğrudan rsync çok daha sağlıklıdır, yarıda kalırsa kaldığı yerden devam eder:
Kod:
rsync -avz --progress root@ESKI_IP:/home/backup-oblifex.tar.gz /tmp/
Yedeği aç:
Kod:
cd /tmp && tar -xzf backup-oblifex.tar.gz
2. Açılan yedeğin içinde ne var?
Bu yapıyı bilmek taşımanın yarısıdır. CPanel yedeği açıldığında karşına şu klasörler çıkar:| Klasör / dosya | İçeriği |
|---|---|
homedir/public_html/ | Ana sitenin dosyaları |
homedir/mail/ | Mail kutuları (Maildir formatında) |
mysql/*.sql | Veritabanı dökümleri |
mysql.sql | Veritabanı kullanıcıları ve yetkiler |
cp/oblifex | Domain, alt alan adı ve park listesi |
cron/oblifex | Cron görevleri |
dnszones/ | DNS bölge kayıtları |
va/ | Alan adı yönlendirmeleri |
Bizim ilgileneceklerimiz: homedir, mysql, cron ve mail taşıyacaksan homedir/mail.
3. HestiaCP tarafında hesabı hazırla
Panele gir, taşıyacağın hesap için kullanıcıyı aç, ardından domaini ekle. Komut satırından yapmak istersen:
Kod:
v-add-user oblifex GucluSifre [email protected] default "Oblifex"
v-add-web-domain oblifex oblifex.com
v-add-database oblifex forum forumuser VeritabaniSifresi
Bu komutlar sonrasında veritabanının gerçek adı Oblifex_forum, kullanıcı adı ise Oblifex_forumuser olur. Eski sitedeki bağlantı ayarlarını buna göre güncelleyeceksin.
4. Dosyaları yerleştir
Yedekten çıkan public_HTML içeriğini HestiaCP'nin beklediği yola kopyala:
Kod:
cp -a /tmp/oblifex/homedir/public_html/. /home/oblifex/web/oblifex.com/public_html/
Buradaki -a bayrağı önemli, dosya izinlerini ve gizli dosyaları (. Htaccess gibi) korur. Sonra sahiplik ayarını düzelt, bu adımı atlarsan site 403 verir:
Kod:
chown -R oblifex:oblifex /home/oblifex/web/oblifex.com/public_html
v-rebuild-web-domains oblifex
İki panelin dizin yapısı arasındaki fark şu şekilde:

CPanel'de alt alan adları ana public_HTML içinde bir klasördür; HestiaCP'de her alan adı kendi başına bir dizindir.
Bu fark yüzünden alt alan adlarını taşırken dikkat et: cPanel'de public_HTML/forum klasöründe olan siteni HestiaCP'de önce v-add-web-domain Oblifex forum. Oblifex. Com ile ayrı bir domain olarak eklemen, sonra dosyaları o domainin kendi public_HTML klasörüne kopyalaman gerekir.
5. Veritabanını aktar
Yedekten çıkan SQL dosyasını yeni veritabanına yükle:
Kod:
mysql -u root -p oblifex_forum < /tmp/oblifex/mysql/eskikullanici_forum.sql
Root şifresini bilmiyorsan HestiaCP onu şurada saklar:
Kod:
cat /usr/local/hestia/conf/mysql.conf
Yükleme bittikten sonra yazılımın konfigürasyon dosyasını güncellemeyi unutma. Veritabanı adı ve kullanıcı adı değişti, eski değerler yazılı kalırsa site "database connection error" verir.
- WordPress: wp-config. PHP
- XenForo: src/config. PHP
- Joomla: configuration. PHP
- Laravel:. Env
Kod:
define( 'DB_NAME', 'oblifex_forum' );
define( 'DB_USER', 'oblifex_forumuser' );
define( 'DB_PASSWORD', 'VeritabaniSifresi' );
define( 'DB_HOST', 'localhost' );
6. DNS değiştirmeden test et
İşin en güzel kısmı burası. Kendi bilgisayarının hosts dosyasına satır ekleyerek, sadece senin için domaini yeni sunucuya yönlendirebilirsin. Böylece siteni ziyaretçiler eski sunucuda görürken sen yenisini test edersin.Windows'ta C:\Windows\System32\drivers\etc\hosts, Linux/macOS'ta /etc/hosts dosyasını yönetici olarak aç ve şu satırı ekle:
Kod:
185.xx.xx.14 oblifex.com www.oblifex.com
Kaydet, tarayıcının önbelleğini temizle ve siteyi aç. Karşına yeni sunucudaki site gelecek. Şunları tek tek kontrol et: ana sayfa açılıyor mu, iç sayfalar (permalink) çalışıyor mu, yönetici paneline girebiliyor musun, görseller ve yüklenen dosyalar geliyor mu, formlar çalışıyor mu.
Test bitince eklediğin satırı hosts dosyasından sil.
7. Mail hesaplarını taşı
Mail kullanıyorsan önce HestiaCP'de mail domainini ve hesapları oluştur:
Kod:
v-add-mail-domain oblifex oblifex.com
v-add-mail-account oblifex oblifex.com destek MailSifresi
Sonra eski maildir içeriğini kopyala:
Kod:
cp -a /tmp/oblifex/homedir/mail/oblifex.com/destek/. \
/home/oblifex/mail/oblifex.com/destek/
chown -R oblifex:mail /home/oblifex/mail/oblifex.com
8. Cron görevleri ve son ayarlar
Yedekten çıkan cron/Oblifex dosyasını aç, içindeki satırları HestiaCP panelinden Cron sekmesine tek tek ekle. Yolların değiştiğini unutma; /home/Oblifex/public_HTML/script. PHP artık /home/Oblifex/web/Oblifex. Com/public_HTML/script. PHP olacak.PHP sürümünü eski sunucudakiyle eşleştir. Domainin Edit sayfasından backend template'ini seç. Gerekirse ek sürüm kur:
Kod:
v-add-web-php 8.1
9. DNS geçişi
Her şey test edildiyse artık geçiş yapabilirsin. Geçişten 24 saat önce eski DNS kayıtlarının TTL değerini 300 saniyeye düşür; böylece değişiklik dakikalar içinde yayılır.Sonra alan adının A kaydını yeni sunucu IP'sine çevir. Yayılma tamamlandığında (
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
Kod:
v-add-letsencrypt-domain oblifex oblifex.com 'www.oblifex.com'
Eski hosting hesabını en az bir hafta silme. DNS önbellekleri yüzünden bazı ziyaretçiler ve mail sunucuları birkaç gün daha eski sunucuya bağlanmaya devam eder.
10. Çok sayıda siteyi topluca taşıma
Onlarca hesabı elle taşımak işkencedir. Bunun için topluluk tarafından yazılmış dönüştürme scriptleri var; cPanel yedeğini okuyup HestiaCP'de kullanıcıyı, domaini, veritabanını ve dosyaları otomatik oluşturuyorlar:
Kod:
wget https://raw.githubusercontent.com/hestiacp/hestiacp/main/src/deb/for-download/cpanel-import.sh
bash cpanel-import.sh /tmp/backup-oblifex.tar.gz
Bu scriptleri önce boş bir test sunucusunda dene. Otomatik araçlar mail ve özel Apache ayarlarında zaman zaman eksik bırakır; canlı müşteri sitesinde ilk denemeyi yapma.
Sık karşılaşılan hatalar
Site açılıyor ama sadece beyaz ekranPHP sürümü uyumsuzdur. /home/Oblifex/web/Oblifex. Com/logs/error. Log dosyasına bak, hatayı orada göreceksin.
"Error establishing a database connection"
Konfigürasyon dosyasındaki veritabanı adı hâlâ eski. Ön ekin Oblifex_ olarak değiştiğini unutma.
İç sayfalar 404 veriyor, ana sayfa çalışıyor
. Htaccess dosyası kopyalanmamıştır. Cp komutunda -a bayrağını kullanmadıysan gizli dosyalar atlanmıştır, tekrar kopyala.
Görseller ve yüklemeler görünmüyor
Dosya sahipliği yanlıştır: chown -R Oblifex: Oblifex /home/Oblifex/web/
Mail gidiyor ama gelmiyor
MX kaydını yeni sunucuya çevirmeyi unutmuşsundur ya da hâlâ eski sunucuyu gösteriyordur.
Taşıma sırasında takıldığınız bir yer olursa hata logunu buraya yapıştırın. Serinin devamında HestiaCP'de otomatik uzak yedekleme kurulumu konusunu işleyeceğim.