Microsoft Web Deploy (MSDeploy) aracı ile IIS’ ten site taşıma
Bu kısa yazımda bir çoğumuzun bildiği fakat unuttuğu Web Deploy isimli bir MicroSoft aracından bahsedeceğim. Sunucularını kontrol panel kullanmadan yönetmeyi seven sistem adminleri için IIS üzerinde bir web sitesini hem IIS konfigürasyonu (binding, application pool ayarları, sanal dizinler) hem de sitenin fiziksel kaynak kodları/klasörleriyle birlikte eksiksiz paketleyip başka bir sunucuya taşımak için en pratik yöntem Microsoft Web Deploy (MSDeploy) aracıdır.
Ön Hazırlık: Web Deploy Kontrolü
IIS Manager üzerinde sağ panelde Deploy (Dağıt) menüsünü göremiyorsanız Web Deploy sunucuda kurulu değildir.
- Microsoft resmi sitesinden Web Deploy v3.6 (x64) MSI paketini indirin.
- Kurulum yaparken Custom (Özel) seçeneğini işaretleyip tüm bileşenleri (“Entire feature will be installed on local hard drive”) kurduğunuzdan emin olun.
- Kurulum bittikten sonra IIS Manager’ı kapatıp yeniden açın.
1. Bölüm: Web Sitesini Dosyalarıyla Birlikte Export (Dışa Aktarma)

1- Site Seçimi: IIS Manager’ı açın. Sol taraftaki Connections ağacından dışa aktarmak istediğiniz sitenin üzerine tıklayın.
2- Sihirbazı Başlatma: Sağ tarafta açılan Actions panelinde alt kısımdaki Deploy başlığı altında yer alan Export Application… seçeneğine tıklayın.
3- Paket İçeriğini Doğrulama (Select Contents):
- Karşınıza gelen pencerede IIS, sitenin fiziksel yolunu (
iisApp), dosya izinlerini ve bağlı ayarları otomatik listeler. - Fiziksel web dosyalarının da (.html, .aspx, .php, görseller vb.) pakete dahil olması için
iisAppsatırının ve altındaki fiziksel dosya yolunun seçili (işaretli) olduğundan emin olun. - İleri (Next) butonuna tıklayın.
4- Parametreleri Yapılandırma (Select Parameters):
- Web Deploy, hedef sunucuya aktarırken değiştirilebilecek parametreleri (örneğin hedef sitenin adı, veri tabanı connection string’leri) listeler.
- Standart bir site taşımasında buradaki varsayılan değerleri değiştirmeden doğrudan Next diyerek geçin.
5- Paket Dosyasını Kaydetme:
- Package path kısmında
Browse...butonuna tıklayıp oluşturulacak.ziparşivinin kaydedileceği yolu seçin (Örn:D:\Yedekler\WebSitem_Export.zip). - Finish butonuna basarak export işlemini tamamlayın.
- İşlem tamamlandığında paket başarıyla oluşturulacak ve özet rapor görüntülenecektir.
2. Bölüm: Paketi Hedef Sunucuda Import (İçe Aktarma)

Oluşturduğunuz .zip dosyasını yeni sunucuya kopyaladıktan sonra içe aktarma adımlarına geçebilirsiniz.
- Sihirbazı Başlatma: Hedef sunucuda IIS Manager’ı açın.
- Eğer paketi mevcut bir sitenin içine aktaracaksanız o sitenin üzerine gelin.
- Eğer sıfırdan kuracaksanız ya da ana dizine açacaksanız, sol paneldeki Default Web Site veya ana sunucu düğümünü seçin.
- Sağ taraftaki Actions panelinden Import Application… seçeneğine tıklayın.
- Paket Dosyasını Seçme:
- Açılan pencerede Package path kısmından kopyaladığınız
.zipdosyasını gösterin ve Next butonuna basın.
- Açılan pencerede Package path kısmından kopyaladığınız
- Paket İçeriğini İnceleme:
- Web Deploy, zip içindeki tüm dosya yapısını, ACL (klasör izinleri) ayarlarını ve IIS girdilerini analiz edip listeler. Herhangi bir çakışma yoksa Next ile devam edin.
- Uygulama Yolu ve Parametre Ayarları:
- Application Path: Sitenin hedef sunucuda hangi isimle veya hangi site altında çalışacağını belirleyin.
- Örneğin ana site olarak açmak istiyorsanız yalnızca site adını girin (Örn:
YeniSite). - Eğer bir alt uygulama (sub-application) olacaksa
Default Web Site/YeniSiteşeklinde bırakabilirsiniz.
- Örneğin ana site olarak açmak istiyorsanız yalnızca site adını girin (Örn:
- Application Path: Sitenin hedef sunucuda hangi isimle veya hangi site altında çalışacağını belirleyin.
- Kurulumu Tamamlama:
- Next ardından Finish butonuna tıklayın.
- Web Deploy dosyaları hedef klasöre çıkartır, IIS üzerinde Application Pool ve Sanal Dizin yapılandırmalarını otomatik olarak tamamlar.
Dikkat Edilmesi Gereken İpuçları
- Büyük Dosya / Upload Boyutu: Sitenizin boyutu 2 GB’ın üzerindeyse IIS arayüzündeki zip sıkıştırma işlemi zaman aşımına uğrayabilir veya bellek hatası verebilir. Bu gibi devasa boyutlu sitelerde
msdeploy.exekomut satırı aracını tercih etmek daha sağlıklıdır. - Klasör İzinleri (NTFS Permissions): Eğer taşınan uygulamada özel bir kullanıcı (örneğin özel bir servis hesabı) tanımlıysa, hedef sunucuda
IIS_IUSRSveIUSRizinlerinin dosya klasörüne doğru şekilde uygulandığını manuel olarak kontrol edin. - Farklı IIS Sürümleri: Eski bir IIS sürümünden (örneğin IIS 8.5) daha yeni bir sürüme (IIS 10) geçiş yaparken Web Deploy sorunsuz çalışır; ancak yeni sürümden eski sürüme dönerken bazı IIS modül parametreleri uyumsuzluk uyarısı verebilir.
Son 5 Yorum