01
iis 7.0′dan iis 7.0′a birden fazla siteyi taşıma (iis 7.0 migration)
Posted by Mahmut Sinecen | Posted in Microsoft | Posted on 01-03-2009
iis 7.0 server 2008 ile beraber gelen site yönetici yazılımı olarak, iki farklı iis 7.0 arasında migration (taşıma) işlemi gerçekten zor bir iş. Daha önceleri 2003′de iis 6.0 dan transfer için siteleri export (dışa aktarım) edip farklı bir iis 6.0 içerisine import (içe aktarım) yaparak kolay bir şekilde siteleri diğer sunucuda yönetebiliriz. Fakat ne hikmetse microsoft çıkardığı bu yeni yazılımda haliyle eski versiyonları destekleme de hatta ve hatta birebir aynı yaılıma transferde eksiklikler veya unutkanlık durumları oluşuyor. iis 7.0 bilindiği üzere iss 6.0, 5, 4 gibi eski sürümlere destek vermiyor, bunlardan site transferi için IIS Migration and Synchronization tool, Web Deploy yazılımını yüklemeniz gerekiyor ki bu yazılımda microsoft tarafından yapılmamıştır, destek veren kişiler tarafından oluşturulmuştur. iis 7.0 taşımada da bu tarz bir sorun ortaya çıkmaktadır. Benim anlatacağım yöntem türkçe veya ingilizce iis 7.0 lar arasında taşıma yapmanız için kullanacağınız bir durum, daha önce denemedim ama önceki iis sürümlerini de bu şekilde taşıma yapabilirsiniz diye düşünüyorum.
Yapmanız gereken öncelikler iis komutlarını bilmeniz;
APPCMD (command) (object-type) <identifier> < /parameter1:value1 … >
bu komut ile listeleme, oluşturma, yedekleme ve yeniden oluşturma yapabilirsiniz. Çalışmamız gereken bu komut ile ilgili alt parametrelerin kullanımı;
# LIST: iis üzerindeki objelerin listesi için kullanılır
# ADD yeni bir obje oluşturmak için kullanılır
# DELETE belirlenen objelerin silinmesi için kullanılır
Yukarıdaki parametrelerle beraber objelerin aşağıdaki listelerle beraber kullanılması gerekiyor;
Site Sanal sitelerin yönetimi için
App Uygulamaların yönetimi için
Apppool Uygulama Havuzlarını yönetmek için
Backup Serverın konfigürasyon ve objelerinin yedeklenmesi için
Yapmanız gereken şudur;
Uygulamaları görmek istiyorsanız; APPCMD list app /? bu komut ile listesini çıkarabilirsiniz. Bu örnekten sonra bizim iis 7.0 ı taşımak için yapmamız gereken şudur; eski serverda
%systemroot%\system32\inetsrv\APPCMD add backup MyBackup bu komutu çalıştırarak bütün serverın yedeklenmesini sağlamak, burada bütün konfigürasyonda beraberinde gelmekte bunu unutmayın. Bundan sonra yeni yedeklediğiniz dizini ki bu da c:\inetpub\wwwroot\history içerisinde bulunmaktadır, daha önce yedekledikleriniz varsa en son oluşturduğunuzu almayı unutmayın. Bu klasörü tamamiyle kopyalayıp yeni serverımız içerisinde aynı adrese yapıştırıyoruz. Daha sonra aşağıdaki komutu çalıştırıyoruz;
%systemroot%\system32\inetsrv\APPCMD restore backup “MyBackup” bununla beraber iis içerisinde tüm sitelerimizin gelmiş olduğunu görebiliriz. Fakat bu komutun en büyük dezavantajı tüm ayarları içerisinde barındırıyor olması, bu da sitelerinizin çalışmamasına neden olabilir. Bu nedenle yapmanız gereken yeni serverında bir yedeğini almanız daha sonra eski serverdan alıp yüklediğiniz backup klasörünün içerisinde applicationHost.config dosyasının içerisinde <system.applicationHost> ile başlayıp <\system.applicationHost> ile biten kısımları kopyalamanız ve bu kopyaladığınız site adlarını yeni serverda bir önce aldığınız yedekleme klasörünün içerisinde applicationHost.config dosyası içerisine aynı yere yapıştırmanız. Bu şekilde eski aldığınız server dosyasındaki tüm site adları doğrudan yeni servera yüklenmiş olacaktır.
NOT: Eğer olurda yine de siteler ile ilgili bir hata oluşursa, sitelerin çalışma durumu durdurulmuş olarak görünürse, Web Manegement Service ve World Wide Web Publishing Service’ını kaldırıp tekrardan kurmanız gerekmektedir. Bu şekilde iis de oluşan son hatalarıda gidermiş olursunuz.
