Hosting & Sunucu

Siteyi kesintisiz olarak hostlar arasında taşıma

Yeni bir hosta kesintisiz site taşıma adım adım kılavuzu: Dosya ve veritabanı kopyalama, hosts dosyası ile test, TTL düşürme, DNS geçişi ve acil durum geri dönüşü.

Hosting & Sunucu

Kesintisiz Site Taşıma Neden Önemlidir?

Bir siteyi bir hosttan diğerine taşımak, web sitesi yönetiminin en hassas işlemlerinden biridir. Bu işlem doğru yapılmazsa, kullanıcılar 503 hatası veya beyaz ekranla karşılaşır ve arama motorları sıralama düşüşü yaşayabilir. Bu makalede, site taşıma işlemini tek bir saniye kesinti olmadan gerçekleştirmek için pratik ve test edilmiş bir yöntem sunuyoruz. Bu yöntem WordPress, Laravel ve hatta statik siteler için kullanılabilir.

Birinci Adım: Hedef Hostu Hazırlama

Her şeyden önce, yeni hostu hazırlamanız gerekir. Eski hostunuzun old.server.net ve yeni hostunuzun new.server.net üzerinde olduğunu varsayalım.

1. Veritabanı ve Kullanıcı Oluşturma

Yeni hostta boş bir veritabanı oluşturun. Veritabanı adını ve kullanıcıyı not edin. Örneğin:

Database: newdb_user
User: newdb_user_pass
Host: localhost

Önemli Not: Yeni hosttaki veritabanı şifresini eski hosttakiyle aynı yapmayın. Daha sonra site yapılandırma dosyasında değiştireceğiz.

2. Ana Dizini Oluşturma

Yeni hostta public_html veya eşdeğer dizini boşaltın. cPanel kullanıyorsanız, "File Manager" seçeneğini kullanın.

İkinci Adım: Dosyaları ve Veritabanını Kopyalama

Bu adımı günün herhangi bir saatinde yapabilirsiniz, çünkü trafik hala eski hosta yönlendirilir.

1. Dosyaları rsync ile Aktarma

Dosyaları kopyalamak için en iyi araç rsync'tir. Her iki hosta SSH erişiminiz varsa, aşağıdaki komutu kullanın:

rsync -avz --progress user@old.server.net:/home/user/public_html/ /home/user2/public_html/

Yalnızca eski hosta SSH erişiminiz varsa, dosyaları önce yerel sisteme, ardından yeni hosta aktarın:

rsync -avz user@old.server.net:/home/user/public_html/ ./backup-site/
rsync -avz ./backup-site/ user2@new.server.net:/home/user2/public_html/

Yaygın Hata: Büyük dosyaları aktarmak için FTP kullanmak. FTP, çok sayıda dosyada yavaştır ve ortada kesilebilir. Her zaman rsync veya scp kullanın.

2. Veritabanını Aktarma

Önce eski veritabanından bir dump alın:

mysqldump -u olduser -p olddb > olddb.sql

Ardından SQL dosyasını yeni hosta aktarın ve import edin:

mysql -u newuser -p newdb < olddb.sql

Veritabanı büyükse (50 MB'den fazla), bigdump veya mysql -e kullanın.

3. Yapılandırma Dosyasını Düzenleme

Yeni hostta site yapılandırma dosyasını düzenleyin. WordPress için wp-config.php dosyasını açın ve aşağıdaki değerleri değiştirin:

define('DB_NAME', 'newdb_user');
define('DB_USER', 'newdb_user');
define('DB_PASSWORD', 'new_password');
define('DB_HOST', 'localhost');

Laravel için .env dosyasını düzenleyin.

Üçüncü Adım: Yeni Hostta Kesintisiz Site Testi

DNS'i değiştirmeden önce, sitenin yeni hostta doğru çalıştığından emin olmalısınız. Bunu hosts dosyası ile yapıyoruz.

1. Sisteminizde hosts Dosyasını Ayarlama

Sisteminizde hosts dosyasını açın:

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • Linux/Mac: /etc/hosts

Dosyanın sonuna bir satır ekleyin:

192.168.1.100 example.com www.example.com

IP adresini yeni hostun IP'si ile değiştirin. Şimdi tarayıcınızda example.com'u açarsanız, yeni hosta yönlendirilirsiniz.

2. Sitenin Tam Testi

Bu adımda, sitenin tüm bölümlerini test edin:

  • Ana ve iç sayfalar
  • İletişim ve kayıt formları
  • Kullanıcı girişi
  • Görseller ve CSS/JS dosyaları
  • SSL (sertifikanız varsa, yeni hostta kurulmalıdır)

SSL Testi: SSL kullanıyorsanız, yeni hostta sertifikayı kurun. Let's Encrypt kullanabilirsiniz:

certbot --apache -d example.com -d www.example.com

SSL çalışmazsa, tarayıcı güvenlik hatası gösterir.

Dördüncü Adım: TTL Düşürme ve DNS Geçişi

Artık sitenin yeni hostta çalıştığından emin olduğunuza göre, DNS değişikliği zamanı.

1. TTL (Time To Live) Düşürme

TTL, DNS kayıtlarının önbellekte ne kadar kalacağını belirler. Varsayılan değer genellikle 14400 saniyedir (4 saat). Bu değeri 300 saniyeye (5 dakika) düşürün. Bunu geçişten en az 24 saat önce yapın.

DNS panelinizde A ve CNAME kayıtlarını bulun ve TTL'yi değiştirin:

example.com.  300  IN  A  192.168.1.100
www.example.com.  300  IN  CNAME  example.com.

Yaygın Hata: MX (e-posta) kayıtları için TTL düşürmeyi unutmak. E-postanız varsa, MX kayıtlarının TTL'sini de düşürün.

2. DNS Kayıtlarını Değiştirme

24 saat (veya eski TTL süresi) sonra, A kaydını yeni hostun IP'sine değiştirin:

example.com.  300  IN  A  IP_NEW_HOST

CDN kullanıyorsanız (Cloudflare gibi), yalnızca origin IP'sini değiştirin.

3. Yayılma İçin Bekleme

DNS değişiklikleri genellikle dünya çapında 5 dakika ile 24 saat arasında yayılır. Bu süre zarfında, bazı kullanıcılar eski hosta, bazıları yeni hosta yönlendirilir. Bu normaldir ve kesinti olarak kabul edilmez.

Beşinci Adım: Acil Durum Geri Dönüşü (Rollback)

DNS geçişinden sonra bir sorun oluşursa (502 hatası veya ciddi yavaşlama gibi), hızlıca eski hosta dönmelisiniz.

1. DNS'i Geri Alma

A kaydını eski hostun IP'sine değiştirin. TTL'yi de önceki değere döndürün.

2. Günlükleri Kontrol Etme

Yeni hostun hata günlüklerini kontrol edin:

tail -f /var/log/apache2/error.log

Sorunun nedenini bulun (örneğin, uyumsuz eklenti veya PHP ayarları).

3. Sorunu Giderme ve Adımları Tekrarlama

Sorunu çözdükten sonra, üçüncü adımdan (hosts dosyası ile test) tekrar başlayın.

Ek İpuçları ve Sorun Giderme

1. E-postaları Taşıma

Host e-posta hizmeti kullanıyorsanız, e-postaları da taşımalısınız. imapsync aracını kullanın:

imapsync --host1 old.server.net --user1 info@example.com --password1 oldpass \
         --host2 new.server.net --user2 info@example.com --password2 newpass

2. Göreli Yol Sorunu

Bazı siteler mutlak yollar kullanır. Yeni hostta yolları kontrol edin. Örneğin, WordPress'te "Better Search Replace" eklentisini kullanın.

3. Tarayıcı ve CDN Önbelleği

Geçişten sonra tarayıcı önbelleğinizi ve CDN önbelleğini temizleyin. Cloudflare'da "Purge Cache" seçeneğini kullanın.

4. Uygun Zamanlama

DNS geçişi için en iyi zaman, düşük trafik saatleridir (örneğin, gece 2). Bu, yayılma sırasında sorun yaşayan kullanıcı sayısını en aza indirir.

Özet

Kesintisiz site taşıma, dikkatli planlama ve doğru adım sırasını takip etmeyi gerektirir. Bu makalede sunulan yöntemi kullanarak (dosyaları kopyalama, hosts dosyası ile test, TTL düşürme, DNS geçişi ve acil durum geri dönüşüne hazırlık), site taşıma işlemini en düşük riskle gerçekleştirebilirsiniz. Sitenizi barındırmak için istikrarlı bir host arıyorsanız, ServerNet uygun seçenekler sunar. Ancak host seçiminden daha önemli olan, taşıma sürecini doğru uygulamaktır.

Son olarak, işe başlamadan önce site ve veritabanının tam bir yedeğini alın. Bu, felaketi önlemenin en basit yoludur.

ServerNet Destek

ServerNet mühendislik ve yayın ekibi — altyapı, ağ ve web barındırma uzmanları.

İletişim
Paylaş:

Yorumlar 0

Henüz yorum yok — ilk siz olun!

Yorum bırakın