Genel, MS Server 2012 R2
IIS de Site ve AppPool İmport/Export işlemi

IIS de Site ve AppPool İmport/Export işlemi

 

Öncelikle şunu belirteyim belki içinizde daha önce bunu yapan vardır. IIS teki siteler  başka bi IIS e taşınırken tek tek bu uygulamaları tanımlamak bazen işkenceye dönüşebilir. Hele bide benim gibi bir sunucuda 60 – 70 sitenin her birini altında 4 5 tane binding varsa ve bu işlemi bilmiyorsanız geçmiş olsun işiniz gerçekten zor demektir.

Eğer bir Load balancer sistem kuracaksanız ve ya Disaster Recovery oluşturacaksanız bu makale çok çok işinize yarayabilir ( Tabi komple Sunucuyu da taşıyabilirsiniz ).

IIS te Sitelerin Dışarı Aktarılması

Öncelikle IIS e geliyoruz ve resimdeki gibi sitelerimizin olduğunu görüyoruz.

Gördüğünüz gibi IIS de 6 Adet Site Bulunuyor.

Şimdi Komut İstemini Yönetici olarak çalıştırıp alttaki komutu yazıyoruz.

%windir%\system32\inetsrv\appcmd list site /config /xml > c:\websiteler.xml

Eğer Tek bir siteyi export etmek istiyorsanız komut alttaki gibidir.

%windir%\system32\inetsrv\appcmd list site “www.abc.com” /config /xml > c:\Website1.xml

Biraz da komutu açıklayalım. Burda IIS yönetmek için appcmd diye bir komutumuz var.

%windir%\system32\inetsrv\appcmd = Komutun bu kısmı IIS yönetim komutudur. Bundan sonrasına yapacağımız işlemi yazarız.

Bir burda LİST dedik ve sonrasında SİTE diyerek neyin listesini istediğimiz belirttik. Bütün yapılandırmayı istediğimiz için /CONFİG komutunu da ekledik eğer eklemeseydik bize sadece Site ismi site durumu binding ve site id lerini verecekti. Amacınız bir liste almaksa config yazmanıza gerek yok.

/xml = komutu hangi formatta vereceğini belirtiyoruz.

> C:\websiteler.xml  diyerek de oluşturduğu listeyi export etmesini istediğimiz yer.

Şimdi işleme devam edelim. Export ettiğimiz listeye bakalım.

Gördüğünüz gibi C diskine xml olarak atmış durumda ve gördüğünüz gibi tüm detayları ile görüntüleyebiliyorum. Dilerseniz bir Excel de açıp filtreleme yapabilirsiniz.

IIS te AppPoll un Dışarı Aktarılması

Eğer başka bir IIS e import etmek için bunları kullanıyorsanız sadece siteleri aktarmanız yetmez. Birde AppPool daki uygulamaları da doğru bir şekilde aktarmak gerekir.

Tekrar komut satırını yönetici olarak çalıştırıyoruz. Ve bu sefer komutumuzda ufak bir değişiklik yapıyoruz.

%windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\uygulamalar.xml

Eğer tek bir uygulamayı export edecekseniz komut alttaki gibidir.

%windir%\system32\inetsrv\appcmd list apppool “uygulama1” /config /xml > c:\uygulama1.xml

Komutu yazıyoruz ve tekrar belirlediğim klasöre gidip listeme bakıyorum.

ııs-export-import5

Gördüğünüz gibi yine tüm detayları ile birlikte IIS teki AppPool um xml formatında geldi.

Export Edilen Uygulamaların IIS e İmport İşlemi

IIS i silip yeniden yüklüyorum ve allta gördüğünüz gibi sıfır bir IIS ile import etme işlemine başlıyorum.

İmport etmek için komutumuz alttaki gibi. Bu sefer yine komutta ufak bi değişiklik yapıyoruz ve yapacağımız işlemi belirtiyoruz. Add apppool komutu ile site eklemek istediğimi belirtiyorum ve xml in yolunu gösteriyorum.

 

%windir%\system32\inetsrv\appcmd add apppool /in < c:\uygulamalar.xml

Tek bir uygulama import etmek için de aynı komutu kullanabilirsiniz.

Gördüğünüz gibi export ettiğim AppPool ların hepsi geldi. Burda dikkat etmeniz gereken nokta export ettiğiniz uygulamarı import ederken aynısının import ettiğiniz IIS de tanımlı olmaması gerekmektedir.

Örnek olarak DefaultAppPool otomatik geldiği için hata verecektir. Export ettiğiniz XML dosyasından DefaultAppPool ile ilgili satırı silip tekrar import ettiğinizde sorun çözülecektir.

Export Edilen Websitelerin IIS e İmport İşlemi

Şimdi uygulamalarımızı import ettikten sonra sıra websiteleri import etmeye geldi. Göründüğü gibi IIS te sadece Default Web Site var.

Yine komutumda ufak bir değişiklik yaparak yazıyorum. Yapmak istediğim İşlemi Add Site olarak komutuyla belirtip yolunu gösteriyorum.

%windir%\system32\inetsrv\appcmd add site /in < c:\websites.xml

Tek bir site import etmek için yine aynı komutu kullanabilirsiniz.

Gördüğünüz gibi hata verdi ve siteleri import etmedi. Yukarıda AppPool import işleminde anlattığım gibi Default Web Site zaten var olduğu için import işlemini durdurdu. Gelelim bunu düzeltmeye.

Not defterini yönetici olarak çalıştırıp export ettiğim XML dosyasını açıyorum ve Default Web Site ile ilgili tüm bilgileri siliyorum ve kaydediyorum.

Kaydettikten sonra tekrar komutumu çalıştırıyorum. NOT: uzantısı XML olmaz ise tekrar hata verir.

Gördüğünüz gibi hiçbir hata vermeden bütün siteleri import etti. Bindingler vs tüm ayarlarım geldi.

Bu işlemden sonra siteleriniz aynı ayarlarla kısa bir süre içinde başka bir IIS e taşımış oldunuz. İşinize yaraması dileğiyle.

Share this Story

Related Posts

One Comment

  1. Kemal

    30 Mart 2020 at 14:02

    Merhaba,

    ekran görüntüleri fotoğrafları gitmiş, uygun olduğunuzda düzeltebilir misiniz.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

The Hacker News