Alıntı Linklerin Görülmesine İzin Verilmiyor.
Üye Ol ya da
Giriş Yap Son 5 gündür bir siteyi yeni sunucuma taşımak için ecel telleri döktüm... Dökerkende bunu düşündüm tecrübelerimi aktarayım , ben yandım başkaları yanmasın diye böyle bişey yazayım dedim
İlk tecrübem olduğu için epey zorlandım, karşılaştığım problemleri ve bulabildiğim çözüm yollarını aktarmaya çalışayım. Forumda bir çok kaynaktan faydalandım, bu noktadaki bilgileri bu konu altına toplarsak taşınma ile ilgili sorun yaşayan arkadaşların zaman kaybını önleriz..
Hatalarım var ise düzeltiniz, tecrübeleriniz var is ekleyiniz.
HAZIRLIK
Kendi makinanızdan sunucuya, yada mevcut sunucunuzdan başka bir sunucuya taşınmadan önce ilk yapılması gereken sağlam yedekler almak.
En önemlisi ise yeni sunucuya %100 kurulumu yapan kadar eski sisteminizi kesinlikle silmeyin
YEDEK ALMA (DOSYALAR)
Önceik sitenizin dosyalarını yedekleyiniz, eğer imkanınız varsa kısa resim,html,php vb. dosylarınıza kısa göz atın çünkü ftp'den download sırasında bağlantı hatalarından dolayı dosyalarınız eksik gelebilir.
Seri çalışmak için ve hatalardan uzak olmak için yedek klasorunuze yada arsiv dosyanıza mutlaka tarih atın, 1 den fazla yedeğiniz varsa karışıklığa sebeb vermemek için.
İPUCU => Çok büyük bir siteye sayipseniz zaman kazanmak için sitenizi komple tekbir arsiv dosyasinda sıkıstırıp sadece bu dosyayı FTP'ye atarak ordan açtırmanız size zaman kazandıracaktır. Tabiki bunun için sunucunuza TELNET yada SSH bağlantınız olması gerekiyor.
telnet bağlantısından sonra sitenizin dosylarını yedeklemek için aşağıdaki komutu veriniz.
Alıntı:
tar cvf yedeklerim.tar .
Bu komuttan sonra sunucu yedeklerim.tar dosyasını oluşturarak FTP'ye atacaktır.
YEDEK ALMA (VERİTABANI)
Genelde taşınma sırasında vt yedeği alırken sorunlar çıkabiliyor. Bu nedenle verilerin güvenli ve temiz bir şekilde yedeklenmesi için PMA vb. programlar yerine direk Telnet yada SSH kullanmak oldukça sağlıklı. Dirde veritabanı büyükse kesinlikle konsol kullanmanızı öneririm.
Telnet yada ssh ile sunucunuza bağlandıktan sonra aşağıdaki komutu giriniz bu vtyedek.sql adında bir dosya oluşturarak FTP'nize atacaktır.
PHP Kodu:
PHP- Kodu:
mysqldump --add-drop-table -h SUNUCU -u KULLANICI -pŞİFRE VERİTABANI > vtyedek.sql
pŞİFRE birleşik yazıldığına dikkat edin.
İPUCU => Forumdan edindiğim bilgiye göre yedek alırken karakter seti belirtmek daha sağlıklı oluyormuş. bunun için.
PHP Kodu:
Kod:
mysqldump --add-drop-table -h SUNUCU -u KULLANICI -pŞİFRE --default-character-set=latin5 VERİTABANI > vtyedek.sql
YENİ SUNUCUYA AKTARIM (DOSYALAR)
VT ve Dosyalarımız artık birer arşiv dosyası olarak elimizde şimdi yeni sunucumuza FTP bağlantısı yaparak vtyedek.sql ve yedeklerim.tar dosylarını sunucuya upload edebiliriz. DAHA SONRA BU DOSYALARI SİLMEYİ UNUTMAYINIZ.
yedeklerim.tar Dosyasını açmak için yeni sunuya Telnet yada SSH bağlantısı kurunuz.
Bu komut ile dosyamızı açabiliriz.
PHP Kodu:
Kod:
tar -xpf yedeklerim.tar
Devamında güvenlik için bu dosyayı silmede fayda var silmek için
PHP Kodu:
rm yedeklerim.tar
Komutunu kullanınız.
Dosyalarımız ftp'de hazır tabiki arşivi silmeden önce dosyaları kontrol etmekte fayda var.
YENİ SUNUCUYA AKTARIM (VERİTABANI)
vtyedek.sql dosyamızı zaten FTP'ye atmıştık şimdi sitemizin paneli aracılığı ile oluşturduğumu veritabanımıza bu sql dosyasını yazabiliriz. Telnet yada SHH'ya bu konutu veriniz.
PHP Kodu:
Kod:
mysql -h SUNUCU -u KULLANICI -pŞİFRE VERİTABANI < vtyedek.sql
Bu komut ile vtyedek.sql yedek dosyamızı veritabanımıza yazmış olduk.
İPUCU => Forumdan edindiğim bilgiye göre veritabanına yazarkende karakter seti belirtek sağlıklı oluyormuş yada panelden oluşturduğunuz veritabanının karakter setini ayarlayabilirsiniz.
Karakter Setini ayarlamak için
PHP Kodu:
Kod:
ALTER DATABASE `veritabaniadi` DEFAULT CHARACTER SET latin5 COLLATE latin5_turkish_ci
Veritabanını Yazarken Karakter Belirmek İçin
PHP Kodu:
mysql -h SUNUCU -u KULLANICI -pŞİFRE --default-character-set=latin5 VERİTABANI < vtyedek.sql
Konsoldan Latin5 Karakter Setine Sahib Veri tabanı oluşturmak için
PHP Kodu:
CREATE DATABASE `veritabaniadi` DEFAULT CHARACTER SET latin5 COLLATE latin5_turkish_ci;
Böyle veritabanımızıda yazdık. Şuan dosyalarımız ve veritabanımız yeni sunucuda Sitemizi Test edlim... Oda ne ? TR Karakterler yok ? $kod vb. değişenler içeren sayfalar çalışmıyor..
Eğer böyle bir sorun varsa , ki olabilir. şu yolu izleyiniz. Sitenizin veritabanına bağlanan kodunun altına
PHP Kodu:
Kod:
mysql_query("SET NAMES 'latin5'");
mysql_query("SET CHARACTER SET latin5");
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
bunları ekleyiniz bu TR karakter sorununu çözecektir. Tabiki safyanızın tepesinde bunlar olmalı...
PHP Kodu:
Kod:
<m*eta http-e*quiv="Content-Type" content="text/html; charset=windows-1254">
<m*eta http-e*quiv="Content-Type" content="text/html; charset=iso-8859-9">
Eğer sitenizde bulunan aşağıdaki vb. kodlar bulunan sayfalar çalışmıyorsa, ki buda normaldir.
PHP Kodu:
Kod:
?&kod=1713&islem=habersil
?&kod=1713&islem=haberduzelt
yapmanız gerek değikenleri bu şekilde tanımlamak
PHP Kodu:
$kod=$_GET['kod'];
eğer sayfanıza çok büyükse hepsini değiştirmek biraz zaman alır bunun yerine php.ini da bulunan register_globals bölümünü on yaparak kısa bir çözüm bulunabilir.
SORULAR,,, SORUNLAR
PHP.INI DOSYASIDA NE ? NERDEN BULUCAM
sunucuda /etc/php.ini yolunda bulunuyor buna erişme şansınız varsa bir editorle acip ON yapabilirsiniz, eğer yoksa hostign şirketinden bunu taleb edin.
İPUCU => Eğer sunucu sizinsi ve benim gibi komut satırı tecübeniz az ise, Bitvise Tunnelier adında br program var bununla sunucuya bağlanıp dosyalar arasında gezebiliyorsunuz örneğin php.ini dosyasini bulup, download edip değiştirip geri upload edebilirsiniz.
VERİTABANIM 80 MB PMA İLE DUMP EDEMİYORUM NE YAPICAM
bunun için bigdump adında tek dosyalık bir php yazılımı var 80 mblik dosyayı ftp'ye atıp, bu yazılama gösterdiğiniz o sizin yerinize bunu yapıyor. tabiki en sağlıklısı yukardaki anlattığımız telnet yada ssh kullanmak.
MySQL 4.1.xxx KULLANIYORUM KARAKTER SORUNUM VAR.
PHP Kodu:
Kod:
etc/my.cnf ya da /etc/mysql/my.cnf
içine
PHP Kodu:
default-character-set=latin5
ekleyiniz.
MySQL karakter seti: UTF-8 Unicode (utf8) BUDA NE
Tr karakterde sorun çıkıyorsa
tabloları ve veritabanını "latin5_turkish_ci" olarak ayarlayın
ayrıca bu kodları vt bağlantı dosyanıza ekleyin.
PHP Kodu:
Kod:
mysql_query("SET NAMES 'latin5'");
mysql_query("SET CHARACTER SET latin5");
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
Alıntı