# Site taşıma

Kaynak: <https://deckpa.com/docs/migration>

> Site Taşıma sihirbazı CyberPanel ya da Plesk kullanan bir sunucuya SSH ile bağlanır; siteleri, veritabanlarını, PHP sürümünü ve zamanlanmış görevleri Deckpa'ya aktarır. DNS kayıtları taşınmaz.

## Ne taşınır, ne taşınmaz

Site Taşıma sihirbazı, CyberPanel ya da Plesk kullanan bir sunucuya SSH ile bağlanır ve seçtiğiniz siteleri Deckpa'ya aktarır. Aktarılanlar:

- **Siteler ve dosyaları** — her sitenin web kök dizini. Alt alan adları, ebeveyn siteyle birlikte kurulur.
- **Veritabanları** — siteye ait veritabanları ve kullanıcıları. Veritabanı ve kullanıcı adları taşımada değişir; yeni adlar raporda listelenir.
- **PHP sürümü** — kaynaktaki sürüm bu sunucuda kuruluysa aynısı kullanılır. Kurulu değilse site, kurulu olan daha yüksek bir sürümle açılır ve sihirbaz bunu kurmadan önce size gösterir.
- **Zamanlanmış görevler** — komutlar olduğu gibi taşınır. İçlerindeki yollar bu sunucuda farklıysa elle düzeltmeniz gerekir.
- **WordPress ayar dosyası** — `wp-config.php`, yalnızca gösterdiği veritabanı bu taşımayla geldiyse otomatik güncellenir. Başka bir siteye ait ya da pakette olmayan bir veritabanını gösteriyorsa dosyaya dokunulmaz ve raporda uyarı çıkar. Site adresi hiçbir durumda değiştirilmez.

Taşınmayanlar: **DNS kayıtları** (yalnızca bilgi için listelenir), **SSL sertifikaları** (taşımadan sonra yenisini alırsınız), **e-posta kutuları** (Deckpa'da e-posta sunucusu yoktur), `node_modules` klasörleri, sitenin ev dizininde web kökü dışında kalan dosyalar, sunucu ayarına elle eklenmiş özel bölümler ve siteye bağlı arka plan servisleri. Bunların her biri için taşıma raporunda ayrı bir uyarı çıkar.

> Taşıma DNS kayıtlarınızı değiştirmez. Alan adı, siz yönlendirene kadar eski sunucuyu göstermeye devam eder. Eski sunucuyu kapatmadan önce MX, SPF, DKIM, DMARC ve TXT kayıtlarını yeni DNS sağlayıcınıza ya da Deckpa'daki DNS bölümüne ekleyin; aksi hâlde site çalışır ama e-posta teslimi durur.

## Başlamadan önce

- **Yetki** — sihirbaz **Yedekleme & Taşıma → Site Taşıma** menüsündedir. Yönetici kullanabilir. Bayilerde yerleşik Bayi grubunda Taşıma Aracı yetkisi yoktur; bayiye vermek için özel bir grup gerekir (bkz. [Yetki grupları ve paketler](https://deckpa.com/docs/permission-groups)). Bayi yalnızca kendisine ve kendi müşterilerine taşıyabilir.
- **Kaynak sunucuya SSH erişimi** — sunucu adresi, port (boş bırakırsanız 22) ve kullanıcı gerekir. Kimlik doğrulama **Parola** ya da **Özel Anahtar** ile yapılır. Kullanıcı root değilse komutlar sudo ile denenir; ikisi de mümkün değilse iş başlamadan açık bir hata verilir.
- **Kaynakta hiçbir şey değişmez** — kaynak sunucuda çalışan betik yalnızca okur. Çalışmadan önce **Çalıştırılacak script'i gör** ile içeriğini inceleyebilirsiniz. Kimlik bilgileriniz yalnızca işlem sürerken bellekte tutulur ve diske yazılmaz. Adres, port ve kullanıcı adı bu tarayıcıda hatırlanır; **Bilgileri sil** bunları temizler.
- **Hedef sahip ve paketi** — siteler seçeceğiniz kullanıcının hesabında açılır. Kurulumda o kullanıcının paketindeki site ve veritabanı sınırları denetlenir.
- **PHP sürümleri** — kaynaktaki sürümü önceden **PHP** sayfasından kurarsanız site aynı sürümle açılır.

## Sihirbaz adımları

**Site Taşıma** sayfası **Taşıma görevleri** listesini gösterir; **+ Yeni Taşıma** sihirbazı açar. Sayfayı kapatsanız ya da bağlantınız kopsa bile görev listede kalır ve kaldığınız yerden devam edebilirsiniz. Sihirbaz dört adımdır:

- **Kaynak Seç** — CyberPanel ya da Plesk'i seçin, adres, port ve kullanıcıyı yazıp **Bağlan →** düğmesine basın. Bu sunucuya ilk kez bağlanıyorsanız ekranda sunucunun parmak izi çıkar; sizdeki sunucuyla eşleştiğinden emin olup **Kimliği onayla ve devam et →** düğmesine basın. Sonra kaynaktaki siteler listelenir; taşımak istediklerinizi işaretleyip **Çekmeyi Başlat →** düğmesine basın.
- **Çek** — seçilen siteler kaynaktan indirilir. İlerleme çubuğu ve günlük canlı görünür; canlı sistemde henüz hiçbir değişiklik yapılmamıştır. Bağlantı kesilirse **Kaldığı Yerden Devam Et** düğmesi, çekilmiş siteleri yeniden istemeden devam eder. Bu adımdan sonra kaynak seçimine dönülemez: çekmeyi başlatırken seçmediğiniz siteleri aynı göreve sonradan ekleyemezsiniz.
- **Kontrol listesi** — **Bulunanlar** bölümü site, veritabanı, DNS bölgesi ve zamanlanmış görev sayılarını ve uyarıları gösterir. Hedef sahibi seçin ve kurmak istediğiniz siteleri işaretleyin. Aynı adla kayıtlı bir site bu sunucuda varsa, alan adını aynen yazarak onaylamadığınız sürece kurulum başlamaz. Onaylarsanız mevcut sitenin tam yedeği otomatik alınır, site silinir ve yerine taşınan site kurulur.
- **Kur** — **Kur →** ile siteler kurulur. Bir site kurulurken hata olursa yalnızca o sitenin değişiklikleri geri alınır, diğer siteler etkilenmez. İşaretlemediğiniz siteler için **Kalanları Kur**, işiniz bitince **Taşımayı bitir** düğmesi vardır; ikincisi çekilmiş geçici verileri diskten siler.

Her kurulumdan sonra **Raporu indir** düğmesiyle taşıma raporunu alabilirsiniz: her sitenin yeni PHP sürümü, veritabanı adları ve kullanıcıları, taşınmayanlar ve uyarılar burada yazar. Veritabanı parolaları raporda yer almaz.

## Taşımadan sonra yapmanız gerekenler

- **DNS'i bu sunucuya yönlendirin.** Sitenin **DNS** sekmesinden A kaydını bu sunucunun IP adresine çevirin (bkz. [DNS yönetimi](https://deckpa.com/docs/dns)). Yönlendirme yapılmadan SSL sertifikası da alınamaz.
- **SSL sertifikasını yenileyin.** Kaynaktaki sertifika içe aktarılmaz; DNS yönlendikten sonra yeni sertifika alın (bkz. [SSL sertifikası](https://deckpa.com/docs/ssl)).
- **Veritabanı ayarlarını güncelleyin.** Veritabanı ve kullanıcı adları değişir. WordPress'te `wp-config.php` kendi veritabanı taşımayla geldiyse otomatik güncellenir; Laravel'de `.env` dosyasını rapordaki yeni adlarla elle düzeltin. Parola raporda olmadığı için **Veritabanları** sayfasından kullanıcının parolasını yenileyip oradan alın.
- **Siteyi açıp kontrol edin.** Ana sayfayı, yönetim girişini ve dosya yüklemeyi deneyin. PHP sürümü uyumsuzluk çıkarırsa **Site Merkezi**'nde sitenin **Ayarlar** sekmesindeki **PHP** bölümünden değiştirin.
- **Zamanlanmış görevleri ve npm paketlerini gözden geçirin.** Görevlerdeki yollar kaynaktan farklıysa düzeltin. `node_modules` taşınmadığı için uygulamanız npm paketleri kullanıyorsa dizininde `npm install` çalıştırın.
- **Taşımayı bitirin.** Çekilmiş ama kurulmamış siteler, görevdeki son işlemden itibaren 14 gün saklanır ve sonra görev silinir. Hiç veri çekilmemiş görevler 24 saat sonra silinir. Kapatılmış görevler otomatik silinmez. Görev silindiğinde kurulmuş siteler etkilenmez.

## Kapsam ve sınırlar

- **Yalnızca CyberPanel ve Plesk.** Sihirbazda cPanel ve "Deckpa (başka sunucu)" kartları **Yakında** rozetiyle görünür ama seçilemez. cPanel adaptörü yoktur ve geliştirme planında yakın bir tarihe bağlı değildir. Yedek arşivi yükleyerek taşıma da sunulmaz; yalnızca SSH ile çekme vardır.
- **Deneme kapsamı sınırlıdır.** Taşıma, geliştirme sırasında gerçek bir CyberPanel ve gerçek bir Plesk sunucusundan uçtan uca denenmiştir. Farklı sürüm ve yapılandırmalarda beklenmedik bir durumla karşılaşabilirsiniz. Önce tek bir siteyle deneyin, eski sunucuyu siteyi doğrulamadan kapatmayın. Kaynak sunucudaki dosyalar ve veritabanları değiştirilmediği için denemek eski siteyi bozmaz.
- **Arka plan servisleri taşınmaz.** Siteye bağlı bir arka plan servisi (örneğin sitenin yanında çalışan bir uygulama sunucusu) varsa yalnızca dosyaları gelir; servisi bu sunucuda kendiniz çalıştırmalısınız.
- **Web kökü uygulama dizininin içindeyse** (Laravel gibi) yalnızca web kök dizini kopyalanır; uygulamanın geri kalanını elle taşıyıp web kök dizinini ayarlamanız gerekir. Rapordaki uyarı bu durumu belirtir.
- **Güvenlik desteği bitmiş PHP sürümleri.** Kaynaktaki PHP sürümü yaşam sonuna ulaşmışsa panel o sürümü kurmaz; site daha yeni bir sürümle açılır ve uygulama büyük olasılıkla çalışmaz. Uygulamanın güncel bir PHP sürümüyle uyumlu hâle getirilmesi gerekir; rapordaki uyarı hangi siteyi ve hangi sürümü etkilediğini belirtir.
