X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe)
X
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe)
X
🔥 Türkiye Lokasyon VDS & VPS sunucularında %20 indirim! Kupon Kodu: Türkiye'de %20 İndirim! Kod: DATA20
Şirketimizdeki KALİTEYİ Yakından Tanıyın!

Web Sitesini Hostingden VDS'e Taşıma Rehberi

Web Sitesini Hostingden VDS'e Taşıma Rehberi

Sitenizin büyümesiyle birlikte paylaşımlı hosting yetersiz kaldığında sıradaki adım genellikle VDS'tir. Site taşıma işlemi ilk bakışta riskli görünse de doğru sırayla yapıldığında ziyaretçileriniz kesinti fark etmeden tamamlanabilir. Bu rehberde bir PHP/MySQL sitesini (WordPress dahil) paylaşımlı hostingden Linux VDS'e taşımanın tüm adımlarını komutlarıyla birlikte anlatıyoruz: hazırlık, yedekleme, aktarım, test, SSL ve DNS geçişi.

Taşımadan Önce: Envanter Çıkarın

Başarılı bir taşımanın yarısı hazırlıktır. Taşıma gününden önce mevcut ortamın tam bir listesini çıkarın:

  • Alan adları: Ana alan adı, alt alan adları, park edilmiş ve yönlendirilmiş alan adları
  • Yazılım sürümleri: PHP sürümü ve etkin PHP eklentileri, MySQL/MariaDB sürümü
  • Veritabanları: Her sitenin veritabanı adı, kullanıcısı ve bağlantı ayarlarının bulunduğu dosya
  • Zamanlanmış görevler: cPanel'deki cron işleri
  • E-posta: Hesaplar, yönlendirmeler, MX kayıtları; e-postanın nereye taşınacağı
  • DNS kayıtları: A, CNAME, MX, TXT (SPF, DKIM, doğrulama kayıtları) dahil tüm bölge
  • Özel kurallar: .htaccess yönlendirmeleri, PHP ayarları (memory_limit, upload_max_filesize)

Mevcut DNS kayıtlarınızı eksiksiz görmek için DNS sorgulama aracımızı kullanabilir, kayıt türlerini tanımıyorsanız DNS kayıtları rehberimize göz atabilirsiniz.

Hazırlık: TTL ve Yeni Sunucu

Adım 1: DNS TTL değerini düşürün

TTL (Time To Live), bir DNS kaydının çözümleyiciler tarafından ne kadar süre önbellekte tutulacağını belirler. TTL 14400 saniye (4 saat) ise IP değişikliğiniz bazı ziyaretçilere saatler sonra yansır.

Taşımadan en az bir gün önce, sitenin A kaydının TTL değerini 300 saniyeye düşürün. Böylece geçiş anında yeni IP birkaç dakika içinde yayılır. Taşıma bittikten ve her şey doğrulandıktan sonra TTL'i tekrar yükseltebilirsiniz.

dig +noall +answer example.com A

Çıktıdaki ikinci sütun, kaydın kalan TTL süresini gösterir.

Adım 2: VDS'i hazırlayın

Yeni sunucuda sitenin çalışacağı ortamı taşıma öncesinde kurun. İki yol vardır:

  1. Kontrol paneli ile: cPanel, Plesk veya ücretsiz bir panel kurarak hosting ortamına benzer bir yapı elde edersiniz. Kaynak sunucuda da cPanel varsa bu en kolay yoldur.
  2. Panelsiz: Nginx, PHP-FPM ve MariaDB'yi kendiniz kurarsınız. Daha az kaynak tüketir, daha fazla kontrol sağlar.

Hangi yolu seçerseniz seçin, PHP sürümünü mevcut hostingdekiyle aynı veya uyumlu bir sürüm olarak seçin ve gerekli eklentileri (ör. php-mysql, php-curl, php-gd, php-mbstring, php-xml, php-zip, php-intl) kurun.

Ardından site için veritabanı ve kullanıcı oluşturun:

sudo mysql
CREATE DATABASE site_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'site_user'@'localhost' IDENTIFIED BY 'GucluBirParola!';
GRANT ALL PRIVILEGES ON site_db.* TO 'site_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Yedekleme, Aktarım ve Yapılandırma

Adım 3: Dosyaları ve veritabanını yedekleyin

Hostingde SSH erişimi varsa: Birçok hosting paketi SSH erişimi sunar. Bu durumda yedeği komut satırından almak en hızlı ve güvenilir yoldur. Veritabanı yedeğinde --single-transaction parametresi, InnoDB tablolarında siteyi kilitlemeden tutarlı bir anlık görüntü alır:

mysqldump --single-transaction --routines --triggers -u kullanici -p veritabani_adi > site_db.sql
tar -czf site_files.tar.gz -C ~/public_html .

SSH erişimi yoksa: cPanel'de Yedekleme bölümünden ana dizin yedeğini ve veritabanı yedeğini ayrı ayrı indirebilir veya phpMyAdmin'den "Dışa Aktar" ile SQL dosyası alabilirsiniz. Büyük veritabanlarında phpMyAdmin zaman aşımına uğrayabileceği için mümkünse panelin yedekleme aracını tercih edin.

cPanel'den cPanel'e taşıma: Yeni VDS'e de cPanel kurduysanız WHM'deki Transfer Tool hesabı dosyaları, veritabanları, e-posta kutuları ve DNS bölgesiyle birlikte tek seferde taşır. Kaynak sunucuda root yetkiniz yoksa hosting firmanızdan tam hesap yedeği (cpmove dosyası) isteyip WHM'deki "Restore a Full Backup/cpmove File" bölümünden geri yükleyebilirsiniz.

Adım 4: Verileri VDS'e aktarın

Yedekleri doğrudan VDS'e çekmek, önce kendi bilgisayarınıza indirip sonra yüklemekten çok daha hızlıdır. rsync aktarım yarıda kesilirse kaldığı yerden devam eder:

# VDS üzerinde çalıştırın
rsync -avz --progress -e "ssh -p 22" [email protected]:~/site_files.tar.gz /root/
rsync -avz --progress -e "ssh -p 22" [email protected]:~/site_db.sql /root/

Ardından dosyaları web dizinine açın, sahipliği web sunucusu kullanıcısına verin ve veritabanını içe aktarın:

sudo mkdir -p /var/www/example.com
sudo tar -xzf /root/site_files.tar.gz -C /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com
sudo find /var/www/example.com -type d -exec chmod 755 {} \;
sudo find /var/www/example.com -type f -exec chmod 644 {} \;
sudo mysql site_db < /root/site_db.sql

Ubuntu ve Debian'da web sunucusu kullanıcısı www-data, AlmaLinux'ta Nginx için nginx, Apache için apache olur.

Adım 5: Yapılandırmayı güncelleyin

Uygulamanın veritabanı bağlantı ayarlarını yeni bilgilere göre düzenleyin. WordPress için bu dosya wp-config.php'dir:

define( 'DB_NAME', 'site_db' );
define( 'DB_USER', 'site_user' );
define( 'DB_PASSWORD', 'GucluBirParola!' );
define( 'DB_HOST', 'localhost' );

Apache'de çalışan .htaccess kuralları Nginx'te çalışmaz. Nginx kullanıyorsanız yönlendirme ve kalıcı bağlantı kurallarını sunucu bloğuna taşımanız gerekir. WordPress için temel kural şudur:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Hostingde cron ile çalışan görevler varsa bunları VDS'te crontab -e ile yeniden tanımlamayı unutmayın.

Test, SSL ve DNS Geçişi

Adım 6: DNS'i değiştirmeden test edin

Bu adım kesintisiz taşımanın sırrıdır. Kendi bilgisayarınızın hosts dosyasına alan adını yeni VDS IP'sine yönlendiren bir satır eklersiniz; böylece yalnızca siz yeni sunucuyu görürken diğer herkes eski sunucuyu kullanmaya devam eder.

  • Windows: C:\Windows\System32\drivers\etc\hosts (Not Defteri'ni yönetici olarak açın)
  • Linux ve macOS: /etc/hosts
203.0.113.50  example.com www.example.com

Siteyi tarayıcıda açıp şunları kontrol edin: ana sayfa ve iç sayfalar, yönetim paneline giriş, form gönderimleri, görsel yüklemeleri, arama ve sepet/ödeme akışı. Test bitince hosts satırını silmeyi unutmayın.

Adım 7: SSL sertifikasını hazırlayın

Let's Encrypt'in standart HTTP doğrulaması, alan adının yeni sunucuya çözülmesini gerektirir. Bu nedenle iki seçeneğiniz vardır:

  1. DNS'i değiştirdikten hemen sonra Certbot ile sertifika almak (kısa bir süre HTTPS uyarısı görülebilir).
  2. Geçişten önce DNS doğrulaması (DNS-01) ile sertifikayı almak; bu yöntemde alan adınıza bir TXT kaydı eklersiniz ve kesinti olmaz.

Ayrıntılı kurulum için Certbot ile ücretsiz SSL yazımıza bakabilirsiniz. Geçişten sonra sertifikanın doğru kurulduğunu SSL kontrol aracıyla doğrulayın.

Adım 8: DNS'i yeni sunucuya yönlendirin

Testler başarılıysa alan adının A kaydını (ve varsa www kaydını) VDS IP'sine çevirin. TTL'i önceden düşürdüğünüz için değişiklik dakikalar içinde yayılır.

Dinamik sitelerde, eski sunucuda geçiş sırasında oluşan yeni siparişler veya yorumlar kaybolmasın diye şu sırayı izleyin:

  1. Eski sitede bakım modunu açın.
  2. Veritabanının son halini tekrar dışa aktarıp VDS'e aktarın.
  3. DNS kaydını değiştirin.
  4. Yeni sunucuda siteyi açık tutun, eski sunucuyu birkaç gün daha silmeyin.

E-postayı Unutmayın

Taşımalarda en sık yaşanan sorun e-postadır. Hostingde e-posta da çalışıyorsa, web sitesini taşımak MX kayıtlarını otomatik değiştirmez; ancak alan adının ad sunucularını (NS) değiştirirseniz tüm DNS bölgesi yeni yere geçer ve MX kayıtlarını orada yeniden oluşturmanız gerekir.

Seçenekleriniz şunlardır: e-postayı mevcut hostingde bırakmak, VDS'te kendi e-posta sunucunuzu kurmak veya ayrı bir kurumsal e-posta hizmetine geçmek. VDS'te e-posta sunucusu kurmanın getirdiği teslim edilebilirlik sorumluluklarını mail sunucusu kurmadan önce bilmeniz gerekenler yazımızda ayrıntılı ele aldık. E-posta kutularını taşımak için imapsync aracı yaygın olarak kullanılır.

Taşımada Sık Yapılan Hatalar

Deneyimli yöneticilerin bile zaman zaman takıldığı noktaları önceden bilmek, taşıma gününü sakin geçirmenizi sağlar:

  • Karakter seti sorunları: Eski veritabanı latin1 ile oluşturulmuşsa Türkçe karakterler bozuk görünebilir. Dışa aktarırken ve içe aktarırken aynı karakter setini kullanın; yeni veritabanlarında utf8mb4 tercih edin.
  • Sabit yollar: Bazı eklentiler ve özel kodlar /home/kullanici/public_html gibi mutlak yolları veritabanına veya yapılandırma dosyalarına yazar. Taşıma sonrası bu yolları yeni dizine göre güncelleyin.
  • Eksik PHP eklentisi: Beyaz ekran veya 500 hatası çoğu zaman eksik bir PHP eklentisinden kaynaklanır. Hata günlüğü sorunu doğrudan gösterir.
  • Dosya sahipliği: Dosyalar root kullanıcısına ait kalırsa görsel yükleme ve eklenti güncelleme çalışmaz.
  • Güvenlik duvarı: Yeni sunucuda 80 ve 443 portlarının açık olduğundan emin olun; port kontrol aracı ile dışarıdan doğrulayabilirsiniz.

Taşıma Sonrası Kontrol Listesi

  • Site HTTP'den HTTPS'e doğru yönleniyor mu?
  • Formlar ve sipariş e-postaları gidiyor mu?
  • Cron işleri çalışıyor mu (grep CRON /var/log/syslog)?
  • Hata günlüklerinde yeni hata var mı (/var/log/nginx/error.log)?
  • Otomatik yedekleme VDS'te yeniden kuruldu mu?
  • TTL değeri normal seviyeye geri alındı mı?

Sık Sorulan Sorular

Site taşıma sırasında site kapanır mı?

Hosts dosyasıyla test edip TTL'i önceden düşürürseniz ziyaretçiler fark edilir bir kesinti yaşamaz. Dinamik sitelerde son veritabanı senkronizasyonu için birkaç dakikalık bakım modu yeterlidir.

SEO sıralamam etkilenir mi?

Alan adı, URL yapısı ve içerik değişmediği sürece sunucu taşıma sıralamayı olumsuz etkilemez. Sitenin daha hızlı açılması kullanıcı deneyimine olumlu yansır.

Veritabanı çok büyükse ne yapmalıyım?

Yedeği sıkıştırarak alın (mysqldump ... | gzip > db.sql.gz) ve rsync ile doğrudan sunucudan sunucuya aktarın. phpMyAdmin büyük dosyalarda zaman aşımına uğrar.

Eski hostingi ne zaman iptal etmeliyim?

DNS değişikliğinden sonra en az birkaç gün bekleyin, e-posta ve tüm fonksiyonları doğrulayın, son yedeği de aldıktan sonra iptal edin.

Planlı bir site taşıma süreci; envanter, TTL düşürme, yedek, aktarım, hosts testi ve DNS geçişi adımlarından oluşur. Bu sırayı izlediğinizde taşıma, ziyaretçilerinizin fark etmeyeceği sıradan bir operasyona dönüşür. Siteniz için yeni bir yuva arıyorsanız Türkiye lokasyonlu VDS paketlerini inceleyebilir, sunucunuzun dakikalar içinde hazır olmasıyla taşımaya hemen başlayabilirsiniz.

VDS Sanal Sunucu
TÜRKİYE / ANKARA
₺139 /ay'dan başlayan
Paketleri İncele
  •  NVMe SSD Disk
  •  DDoS Koruması Dahil
  •  Limitsiz Trafik
  •  0–15 Dakikada Kurulum
  •  Windows - Linux
  •  7/24 Destek
Top
Destek Hattı0850 840 90 28

DNS Adresleri

ns1.datahost.net.tr
ns2.datahost.net.tr
DataHost Destek Çevrimiçi

Satış öncesi tüm sorularınız için WhatsApp hattımıza yazın; size hızlıca yardımcı olalım.

WhatsApp'tan Yaz