Bugün size nasıl yardımcı olabiliriz?

Bilgi bankamızda arama yapmak için sorunuzu yazın...

cPanel'den Plesk'e Site Taşıma: Dosya, Veritabanı ve E-Posta

Yazdır

Netx Teknik Ekibi  ·  Yayın: 29.10.2026

cPanel'den Plesk'e site taşımanın iki yolu var. Sunucu yöneticisiyseniz Plesk Migrator, kaynak cPanel sunucusuna root yetkili SSH ile bağlanıp hesapları dosya, veritabanı ve postayla birlikte aktarır. Paylaşımlı hosting müşterisinin root erişimi olmadığı için onun yolu ya Plesk'in Site Import aracıdır (FTP veya SSH ile site, veritabanı ve IMAP ile posta) ya da elle taşımadır: public_html içeriği httpdocs klasörüne, veritabanı dökümü Plesk'te açılan yeni veritabanına, posta kutuları IMAP ile yeni hesaplara gider. DNS'i değiştirmeden önce siteyi hosts dosyasıyla yeni sunucuda test edin.

Hangi yol size açık?

Bu soruyu sormadan taşıma planı yapmak, olmayan bir anahtarla kapı açmaya çalışmak gibidir. Üç yöntemin ihtiyaç duyduğu erişim birbirinden çok farklı.

YöntemKim kullanır?Ne gerekir?Ne taşınır?
Plesk MigratorHedef Plesk sunucusunun yöneticisiKaynak sunucuda root SSH (parola ya da anahtar), varsayılan 22 numaralı portAbonelikler, alan adları, site dosyaları, veritabanları, posta. PHP işleyicileri gibi sunucu ayarları taşınmaz.
Site ImportPlesk'teki site sahibi (uzantı kuruluysa)Kaynak sitede FTP ya da SSH kullanıcısı, posta için kutu parolalarıWordPress, Joomla, Drupal, PrestaShop uygulamaları, klasörler, MySQL/MariaDB veritabanları, IMAP klasörleri
Elle taşımaHerkescPanel'den alınan yedekler ve Plesk'te hesap oluşturma yetkisiNe taşırsanız o. Her adımı siz kontrol edersiniz.

Plesk belgelerine göre Migrator cPanel 11.5 ve sonrasını kaynak olarak destekliyor ve taşımanın en küçük birimi abonelik. Tek bir alan adını ayırıp taşıyamazsınız. Kaynak tarafta root yetkili SSH erişimi ister, bu yüzden paylaşımlı bir cPanel hesabından kendi başınıza kullanamazsınız. Netx'in Plesk panelli web hosting paketlerine geçiyorsanız ve taşımayı kendiniz yapmak istemiyorsanız, hangi adımların sağlayıcı tarafında yapılabileceğini siparişten önce destek ekibimize sorun.

İki panelin genel farklarını cPanel ve Plesk karşılaştırmasında anlattık. Burada yalnız taşımayı etkileyen farklarla ilgileneceğiz.

cPanel'de neyi not almalısınız?

Aynı paneller arasında tam hesap yedeği her şeyi bir arada götürür. Paneller farklıysa bu kolaylık yok, cPanel'deki her ayarın Plesk'te bir karşılığını kendiniz kurarsınız. Taşımaya başlamadan önce şu bilgileri bir dosyaya yazın:

  • Ek alan adları (addon) ve alt alan adlarının listesi ile her birinin belge kökü
  • E-posta hesapları, yönlendiriciler (forwarder), otomatik yanıtlar ve filtreler
  • Veritabanları, veritabanı kullanıcıları ve hangi uygulamanın hangisini kullandığı
  • MultiPHP Manager'daki PHP sürümü ve MultiPHP INI Editor'da değiştirilmiş değerler (memory_limit, upload_max_filesize gibi)
  • Cron Jobs ekranındaki görevlerin tam komutları ve zamanlamaları
  • Zone Editor'daki bütün DNS kayıtları, özellikle TXT doğrulama kayıtları ve CNAME'ler
  • Ek FTP hesapları ve parola korumalı dizinler

Sonra yedek alın. cPanel'in Backup Wizard ekranında tam yedek (full backup) bir güvenlik kopyası olarak elinizde dursun. cPanel belgelerine göre tam yedeği hesap sahibi kendisi geri yükleyemez, bu iş WHM'den yapılır. Asıl kullanacağınız ise kısmi yedekler: Home Directory yedeği .tar.gz, MySQL Databases yedeği .sql olarak iner, e-posta yönlendiricileri ve filtreleri de ayrıca indirilebilir.

Site Import ile taşıma

Plesk'te hesabınız açıldıysa ve sunucuda Site Import uzantısı kuruluysa, işin büyük kısmını bu araca bırakabilirsiniz. Önce alan adını Plesk'te oluşturun. Sonra Websites & Domains altında alan adını seçip Website Importing'e tıklayın. Basit modda yalnız kaynak alan adını ve kaynak sunucudaki FTP ya da SSH kullanıcısının adını ve parolasını girersiniz. Plesk bağlanır, siteyi tarar ve içe aktarılabilecek uygulamaları, klasörleri ve veritabanlarını listeler. Plesk'in Site Import belgesi SSH'nin FTP'den belirgin biçimde hızlı olduğunu, mümkünse onu kullanmanızı söylüyor.

Belgede gözden kaçan bir şart var: kaynak alan adı, hedef sunucudan bakıldığında eski sunucunun IP adresine çözülmeli. Yani Site Import'u DNS'i değiştirmeden önce çalıştırın. DNS'i önce çevirirseniz araç kendine bağlanmaya çalışır ve "bağlanamadım" der.

Uygulama içe aktarmada WordPress, Joomla, Drupal ve PrestaShop dosyalarıyla ve veritabanıyla birlikte taşınır. Uygulamanın MySQL/MariaDB kullanması ve veritabanının varsayılan portta çalışması gerekiyor. Hedef alan adında zaten bir uygulama kuruluysa dosyaları üzerine yazılabilir, Plesk de içe aktarmadan önce hedefin yedeğini almanızı açıkça öneriyor. Taşımadan sonra Re-sync düğmesi kaynağı yeniden çeker. Bu, DNS geçişinden hemen önceki son eşitleme için işe yarar ama hedefte yaptığınız değişikliklerin üzerine yazar.

Basit mod siteyi bulamazsa gelişmiş moda (Switch to advanced mode) geçip belge kökünü elle verin. cPanel'de ana FTP hesabının kök dizini hesabın ev dizinidir, dolayısıyla ana sitenin belge kökü bu hesaba göre /public_html olur. Ek alan adlarının belge kökü farklıdır, onu cPanel'in Domains ekranından alın.

Posta için aynı uzantının Mail Importing bölümü var (Domains altında alan adı, sonra Mail Importing ve Import mail messages). Kaynak kutunun tam adresini ve parolasını girersiniz, Plesk IMAP üzerinden bütün klasörleri kopyalar. Belgeye göre e-postaların tarihi ve okundu/okunmadı durumu korunur, kaynak kutudan hiçbir şey silinmez. Bağlantı önce şifreli IMAP ile denenir, kaynak sunucu bunu desteklemiyorsa Plesk şifresiz devam etmek için izin ister. Hassas yazışmalar varsa bu izni vermeyin. Çok sayıda kutu, bilinmeyen parolalar ya da MX değişikliğinin zamanlaması söz konusuysa kurumsal e-postayı IMAP ile taşıma planı daha güvenli bir çerçeve verir.

Website Importing düğmesini panelde göremiyorsanız uzantı büyük olasılıkla kurulu değildir ya da hesabınızda kullanıma kapalıdır. Bu durumda sağlayıcınıza sorun ya da elle taşımaya geçin.

Elle taşıma: dosyalar, veritabanı ve uygulama ayarı

Dosyalar: public_html'den httpdocs'a

cPanel'de site dosyaları /home/kullanici/public_html altında durur. Plesk'te ise /var/www/vhosts/ornek.com.tr/httpdocs kullanılır. Home Directory yedeğini bilgisayarınızda açın, public_html içeriğini Plesk'in File Manager'ına ZIP olarak yükleyip orada açın ya da FTP ile aktarın. FTP istemcinizde gizli dosyaları gösterme seçeneği açık olsun, yoksa .htaccess geride kalır.

cPanel'den gelen .htaccess dosyasında çoğu zaman şuna benzer bir blok bulunur:

# php -- BEGIN cPanel-generated handler, do not edit
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php81 .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

Bu satırlar cPanel'in EasyApache PHP paketine işaret eder ve Plesk'te karşılığı yoktur. Bırakırsanız PHP dosyaları çalışmak yerine indirilebilir ya da sunucu hata verebilir. Bloğu silin, PHP sürümünü Plesk'in PHP Settings ekranından seçin. Aynı şekilde MultiPHP INI Editor'ın oluşturduğu .user.ini veya php.ini dosyalarını da gözden geçirin. Özellikle auto_prepend_file gibi eski yolu (/home/kullanici/...) gösteren bir satır varsa site açılmaz. Bazı güvenlik eklentilerinin güvenlik duvarı dosyası bu yöntemle yüklenir. Bu değerleri Plesk'in PHP Settings ekranına taşıyıp dosyadan kaldırın.

Veritabanı: döküm ve içe aktarma

cPanel'de phpMyAdmin'den Export ile ya da Backup Wizard'daki MySQL Databases bağlantısından dökümü indirin. Kaynak hesapta komut satırı erişiminiz varsa mysqldump daha kontrollü bir döküm verir:

mysqldump --single-transaction --no-tablespaces --routines \
  -u kullanici_dbuser -p kullanici_db > kullanici_db.sql

--single-transaction InnoDB tablolarını kilitlemeden tutarlı bir anlık görüntü alır. Bu seçenek yoksa kullanıcınızın LOCK TABLES yetkisi gerekir. --no-tablespaces eklenmezse MySQL belgesine göre PROCESS yetkisi isteniyor, paylaşımlı hostingte bu yetki genellikle olmadığı için döküm yarıda kalır. --routines saklı yordamları da ekler. -p parolayı komut satırına yazmadan sorar.

Plesk'te Databases altından Add Database ile yeni veritabanını ve kullanıcısını açın. cPanel'de adlara kullanıcı adı ön eki eklendiği için (kullanici_db gibi) Plesk'teki adlar büyük olasılıkla farklı olacak. Dökümü Plesk'in Import Dump seçeneğiyle yükleyebilirsiniz. Bu seçenek ZIP içindeki dökümü kabul ediyor. Alternatif olarak phpMyAdmin'i de kullanabilirsiniz.

Kaynakta MySQL 8, hedefte MariaDB varsa içe aktarma "Unknown collation: 'utf8mb4_0900_ai_ci'" hatasıyla durabilir. Bu sıralama (collation) MariaDB'de yoktur. Dökümün bir kopyasını saklayıp sıralama adını MariaDB'nin tanıdığı bir değerle değiştirmek yaygın çözümdür:

cp kullanici_db.sql kullanici_db.yedek.sql
sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' kullanici_db.sql

Değişiklikten sonra içe aktarmayı yeniden deneyin ve tablo sayısını kaynakla karşılaştırın.

Uygulama yapılandırması

Veritabanı adı, kullanıcı adı, parola ve sunucu adı değiştiği için uygulamanın yapılandırma dosyasını güncellemeniz gerekir. WordPress'te bu wp-config.php dosyasıdır, diğer uygulamalarda config.php, .env ya da benzeri bir dosya. Sunucu adı için Plesk'te veritabanının bağlantı bilgisinde görünen değeri kullanın. Dosyada ya da veritabanında /home/kullanici/public_html gibi mutlak yollar geçiyorsa yeni yola çevirin. WordPress'e özgü kalıcı bağlantı ve önbellek ayrıntılarını WordPress taşıma rehberinde bulabilirsiniz. Mağazanız varsa geçiş penceresinde gelen siparişler ayrı bir plan ister: WooCommerce'i sipariş kaybetmeden taşımanın adımları sıradan bir site taşımasından farklıdır.

E-posta, DNS, cron ve FTP

E-posta hesaplarını Plesk'in Mail bölümünde tek tek oluşturun. Elle taşımada cPanel'deki parolaları Plesk'e aktarmanın bir yolu yok, yeni parolalar belirleyip kullanıcılara güvenli bir kanaldan iletin. Yönlendiriciler, otomatik yanıtlar ve filtreler de elle yeniden kurulur. Kutuların içeriğini yukarıdaki Mail Importing ile ya da imapsync gibi bir araçla taşıyın. Hosting değiştikten sonra e-postaların çalışmaması çoğunlukla MX, SPF ve DKIM kayıtlarının yeni sunucuya göre güncellenmemesinden kaynaklanır. Plesk'te giden postaların DKIM ile imzalanması alan adının posta ayarlarından açılır.

DNS'te iki senaryo var. İsim sunucularını Plesk'e çevirecekseniz Plesk alan adı için şablondan bir bölge oluşturur. cPanel'deki özel kayıtlar (doğrulama TXT'leri, harici servislere giden CNAME'ler, SRV kayıtları) bu şablonda yoktur, not aldığınız listeden tek tek ekleyin. DNS başka bir yerde yönetiliyorsa yalnız A kaydını, posta da taşınıyorsa MX'i değiştirirsiniz.

Cron görevleri Plesk'te Websites & Domains altındaki Scheduled Tasks ekranına taşınır. Burada üç tür görev var: Command, Fetch a URL ve Run a PHP script. Plesk belgesine göre Linux'ta komut türündeki görevler varsayılan olarak chroot ortamında çalışır, yani cPanel'deki php /home/kullanici/public_html/cron.php gibi bir satır olduğu gibi çalışmayabilir. PHP betikleri için Run a PHP script türünü seçip PHP sürümünü de görev ayarında belirleyin. Görevi kaydettikten sonra bir kez elle çalıştırıp çıktısına bakın.

FTP tarafı kısa: ek FTP hesaplarını Plesk'te yeniden açın, eski parolaları kullanmayın. PHP sürümünü ve işleyicisini (handler) alan adının PHP Settings ekranından kaynakla aynı ana sürüme getirin. memory_limit ve benzeri değerler de aynı ekranda.

Plesk'te nginx ve Apache birlikte çalışır

Taşımadan sonra en çok şaşırtan konu şu: .htaccess dosyası yerinde, kurallar doğru, ama bazı kurallar etkisiz. Plesk belgelerine göre Linux sunucularda varsayılan düzende Apache dinamik içeriği sunar, önünde vekil (proxy) olarak çalışan nginx ise statik dosyaları kendisi verir. Statik dosya istekleri Apache'ye hiç ulaşmadığı için .htaccess içindeki yönlendirme, önbellek başlığı ya da sıcak bağlantı (hotlink) koruması gibi kurallar resim, CSS ve JS dosyalarına uygulanmaz.

Bunu Websites & Domains altında alan adının Apache & nginx Settings ekranında görürsünüz. "Serve static files directly by nginx" listesine yazılan uzantılar doğrudan nginx'ten sunulur. Kuralın gerçekten çalışması gerekiyorsa ilgili uzantıyı bu listeden çıkarın ya da kuralı aynı ekrandaki ek nginx yönergeleriyle (Additional nginx directives) yeniden yazın. Panelde bu ayarları değiştirme izniniz yoksa sağlayıcınıza sorun.

Bir de önbellek meselesi var. Kaynak cPanel sunucusu LiteSpeed kullanıyorsa ve sitede LiteSpeed Cache eklentisi sayfa önbelleği yapıyorsa, hedef sunucuda LiteSpeed yoksa bu önbellek devre dışı kalır. Taşımadan sonra site yavaş görünüyorsa ilk bakılacak yer burasıdır.

DNS'i değiştirmeden test edin

Yeni sunucudaki siteyi kendi bilgisayarınızda, alan adıyla açabilmek için hosts dosyasına geçici bir satır ekleyin. Windows'ta dosya C:\Windows\System32\drivers\etc\hosts, macOS ve Linux'ta /etc/hosts konumundadır:

203.0.113.10  ornek.com.tr  www.ornek.com.tr

Buradaki IP yeni Plesk sunucusunun adresi. Testi bitirince satırı silmeyi unutmayın, yoksa DNS geçişinden sonra yaşanan bir sorunu göremezsiniz. Hosts dosyasına dokunmadan tek bir isteği yeni sunucuya göndermek için curl'ün --resolve seçeneği de iş görür:

curl -sI --resolve ornek.com.tr:443:203.0.113.10 \
  https://ornek.com.tr/

Çıktıda HTTP/ ile başlayan ilk satırda 200 ya da beklediğiniz yönlendirme kodu görünmeli. HTTPS testinde sertifika uyarısı alırsanız şaşırmayın. Let's Encrypt sertifikası alan adının yeni sunucuyu göstermesini bekler, DNS değişmeden çıkarılamaz. İki seçeneğiniz var: testi bu uyarıyı kabul ederek yapmak ya da cPanel'in SSL/TLS ekranındaki geçerli sertifikayı ve özel anahtarı geçici olarak Plesk'in SSL/TLS Certificates bölümüne yüklemek. İkincisi, DNS geçişi sırasında sitenin HTTPS'siz kalmasını da önler. Netx'in Plesk panelli web hosting paketlerinde Let's Encrypt sertifikası ücretsizdir. DNS yeni sunucuyu gösterdikten sonra aynı ekrandan kurup otomatik yenilemesini açabilirsiniz.

Testte en az şunlara bakın: ana sayfa ve birkaç iç sayfa, yönetim paneline giriş, form gönderimi, dosya yükleme ve büyük boyutlu bir görselin açılması. Bu son madde, statik dosyaların nginx'ten sorunsuz geldiğini gösterir.

Geçiş, doğrulama ve geri dönüş

DNS geçişinin kendisi panelden bağımsızdır. TTL'yi önceden düşürme, son veritabanı eşitlemesi ve eski hesabı bir süre açık tutma adımlarını başka firmadan cPanel hosting taşıma anlatımındaki sırayla uygulayın. Panel değiştirirken farklı olan tek şey son eşitlemenin biçimi. Site Import kullandıysanız Re-sync, elle taşıdıysanız yeni bir döküm alıp Import Dump'ta Recreate the database seçeneğiyle yüklemek. Bu seçenek hedefteki veritabanını silip yeniden oluşturur, o yüzden geçişten sonra değil, hemen öncesinde kullanılır.

Geçiş tamamlandı mı? Şu dört işaret birlikte görünüyorsa evet:

  1. dig +short ornek.com.tr A farklı genel çözücülerde yeni IP'yi döndürüyor.
  2. Plesk'te alan adının Logs ekranında gerçek ziyaretçi istekleri görünüyor, eski cPanel hesabının erişim günlüğünde ise istekler azalıyor.
  3. Let's Encrypt sertifikası Plesk'te kurulu ve tarayıcı uyarı vermiyor.
  4. Dışarıdaki bir adrese gönderilen ve oradan alınan test e-postası yeni sunucudan geçiyor, zamanlanmış görevler bir kez çalışıp beklenen çıktıyı üretiyor.

Bir şeyler ters giderse geri dönüş yolu açık: eski cPanel hesabı silinmediği sürece DNS'i eski IP'ye çevirirsiniz. Asıl risk, geçişten sonra yeni sunucuya yazılan veridir. Yorumlar, form kayıtları ya da siparişler geri dönüşte eski veritabanında olmaz. Bu yüzden geri dönüş kararını kısa bir pencerede verin. Eski hesabı da en az bir hafta, e-posta kutuları taşınmışsa son fark eşitlemesi bitene kadar kapatmayın.

Bu cevap yeterince yardımcı oldu mu?

Değerlendirme: 0

<< Geri
İnternet bağlantınız kesildi