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.
Yorumlar 0
Henüz yorum yok — ilk siz olun!