Bir Web Sunucusunu Web Dağıtımı Yayımlama için Yapılandırma (Uzak Aracı)

tarafından Jason Lee

Bu konuda, IIS Web Dağıtım Aracı (Web Dağıtımı) Uzak Aracı Hizmeti'ni kullanarak web yayımlamayı ve dağıtımı desteklemek için Internet Information Services (IIS) web sunucusunun nasıl yapılandırılacağı açıklanmaktadır.

Web Dağıtımı 2.0 veya sonraki sürümleriyle çalışırken, uygulamalarınızı veya sitelerinizi bir web sunucusuna almak için kullanabileceğiniz üç ana yaklaşım vardır. Şunları yapabilirsiniz:

  • Web Dağıtımı Uzak Aracı Hizmeti'ni kullanın. Bu yaklaşım web sunucusunun daha az yapılandırılmasını gerektirir, ancak sunucuya herhangi bir şey dağıtmak için yerel sunucu yöneticisinin kimlik bilgilerini sağlamanız gerekir.
  • Web Dağıtımı İşleyicisi'ni kullanın. Bu yaklaşım çok daha karmaşıktır ve web sunucusunu ayarlamak için daha fazla başlangıç çabası gerektirir. Ancak, bu yaklaşımı kullandığınızda IIS'yi yönetici olmayan kullanıcıların dağıtımı gerçekleştirmesine izin verecek şekilde yapılandırabilirsiniz. Web Dağıtımı İşleyicisi yalnızca IIS sürüm 7 veya sonraki sürümlerde kullanılabilir.
  • Çevrimdışı dağıtımı kullanın. Bu yaklaşım web sunucusunun en az yapılandırmasını gerektirir, ancak sunucu yöneticisinin web paketini sunucuya el ile kopyalaması ve IIS Yöneticisi aracılığıyla içeri aktarması gerekir.

Bu yaklaşımların temel özellikleri, avantajları ve dezavantajları hakkında daha fazla bilgi için bkz. Web Dağıtımına Doğru Yaklaşımı Seçme.

Web Dağıtımı Uzak Aracısı Sizin için Doğru Yaklaşım mı?

Evet, içeriği dağıtacak kullanıcı hedef sunucudaki bir yöneticinin kimlik bilgilerini sağlayabilirse. Bu yaklaşım genellikle bu tür senaryolarda tercih edilir:

  • Geliştiricinin hedef web sunucusu ve veritabanı sunucusu üzerinde tam denetime sahip olduğu geliştirme veya test ortamları.
  • Tek bir kullanıcının veya küçük bir kullanıcı grubunun uygulama yaşam döngüsünün tamamı üzerinde denetime sahip olduğu küçük kuruluşlar.

Birçok büyük kuruluşta ve özellikle hazırlama veya üretim ortamlarında, kullanıcılara web sunucularında yönetici hakları vermek genellikle gerçekçi olmaz. Barındırılan web sunucuları söz konusu olduğunda, bu durumun söz konusu olma olasılığı düşüktür. Ayrıca, bir derleme sunucusundan dağıtımı otomatikleştirmeyi planlıyorsanız, dağıtım işlemi için yönetici kimlik bilgilerini kullanmak istemeyebilirsiniz. Bu senaryolarda, Web Dağıtım İşleyicisi'ni kullanarak web sunucularınızı dağıtımı destekleyecek şekilde yapılandırmak daha tatmin edici bir seçenek sağlayabilir.

Göreve Genel Bakış

Bu konuda, Bir Internet Information Services (IIS) 7.5 web sunucusunun Web Dağıtımı Uzak Aracısı yaklaşımını kullanarak uzak bir bilgisayardan web paketlerini kabul etmek ve dağıtmak için nasıl yapılandırılacağı açıklanmaktadır. Yapmanız gerekenler:

  • IIS 7.5'i ve IIS 7'nin önerilen yapılandırmasını yükleyin.
  • Web Dağıtımı 2.1 veya üzerini yükleyin.
  • Dağıtılan içeriği barındırmak için bir IIS web sitesi oluşturun.
  • Web Deployment Agent Hizmeti'nin çalıştığından emin olun.

Örnek çözümü özellikle barındırmak için şunları da yapmanız gerekir:

  • .NET Framework 4.0'ı yükleyin.
  • ASP.NET MVC 3'ü yükleyin.

Bu konu başlığında, bu yordamların her birinin nasıl gerçekleştirileceği gösterilir. Bu konudaki görevler ve izlenecek yollarda, Windows Server 2008 R2 çalıştıran temiz bir sunucu derlemesiyle başladığınız varsayılır. Devam etmeden önce şunların olduğundan emin olun:

  • Windows Server 2008 R2 Service Pack 1 ve tüm kullanılabilir güncelleştirmeler yüklenir.
  • Sunucu etki alanına katılmış.
  • Sunucunun statik bir IP adresi var.

Not

Bilgisayarları bir etki alanına ekleme hakkında daha fazla bilgi için bkz. Bilgisayarları Etki Alanına Ekleme ve Oturum Açma. Statik IP adreslerini yapılandırma hakkında daha fazla bilgi için bkz. Statik IP Adresi Yapılandırma. Uzak Aracı hizmeti IIS 6 ve sonrasında desteklenir ve bir etki alanına katılmanızı gerektirmez. Ancak, bu öğreticideki adımlar IIS 7.5'te geliştirilmiş ve test edilmiştir ve diğer sürümlere yönelik yordamlar farklılık gösterebilir.

Ürün ve Bileşenleri Yükleme

Bu bölüm, web sunucusuna gerekli ürün ve bileşenleri yükleme konusunda size yol gösterir. Başlamadan önce, sunucunuzun tam olarak güncel olduğundan emin olmak için Windows Update çalıştırmak iyi bir uygulamadır.

Bu durumda şunları yüklemeniz gerekir:

  • IIS 7 Önerilen Yapılandırma. Bu, web sunucunuzda Web Sunucusu (IIS) rolünü etkinleştirir ve ASP.NET bir uygulamayı barındırmak için ihtiyacınız olan IIS modülleri ve bileşenleri kümesini yükler.
  • .NET Framework 4.0. Bu, .NET Framework bu sürümünde oluşturulmuş uygulamaları çalıştırmak için gereklidir.
  • Web Dağıtım Aracı 2.1 veya üzeri. Bu işlem, Sunucunuza Web Dağıtımı'nın (ve temel alınan yürütülebilir dosyasının MSDeploy.exe) yüklenmesini sağlar. Bu işlemin bir parçası olarak, Web Deployment Agent Hizmeti'ni yükler ve başlatır. Bu hizmet, uzak bir bilgisayardan web paketleri dağıtmanızı sağlar.
  • MVC 3'ASP.NET. Bu, MVC 3 uygulamalarını çalıştırmak için ihtiyacınız olan derlemeleri yükler.

Not

Bu kılavuzda, gerekli bileşenleri yüklemek ve yapılandırmak için Web Platformu Yükleyicisi'nin kullanımı açıklanmaktadır. Web Platformu Yükleyicisi'ni kullanmak zorunda olmasanız da, bağımlılıkları otomatik olarak algılayarak ve her zaman en son ürün sürümlerini aldığınızdan emin olarak yükleme işlemini basitleştirir. Daha fazla bilgi için bkz. Microsoft Web Platformu Yükleyicisi 3.0.

Gerekli ürünleri ve bileşenleri yüklemek için

  1. Web Platformu Yükleyicisi'ni indirin ve yükleyin.

  2. Yükleme tamamlandığında Web Platformu Yükleyicisi otomatik olarak başlatılır.

    Not

    Artık Web Platformu Yükleyicisi'ni istediğiniz zaman Başlat menüsünden başlatabilirsiniz. Bunu yapmak için Başlat menüsünde Tüm Programlar'a ve ardından Microsoft Web Platformu Yükleyicisi'e tıklayın.

  3. Web Platformu Yükleyicisi 3.0 penceresinin üst kısmında Ürünler'e tıklayın.

  4. Pencerenin sol tarafındaki gezinti bölmesinde Çerçeveler'e tıklayın.

  5. Microsoft .NET Framework 4 satırında, .NET Framework zaten yüklü değilse Ekle'ye tıklayın.

    Not

    .NET Framework 4.0'ı Windows Update'a kadar zaten yüklemiş olabilirsiniz. Bir ürün veya bileşen zaten yüklüyse, Web Platformu Yükleyicisi Ekle düğmesini Yüklü metniyle değiştirerek bunu gösterir.

    Bir ürün veya bileşen zaten yüklüyse, Web Platformu Yükleyicisi Ekle düğmesini Yüklü metniyle değiştirerek bunu gösterir.

  6. ASP.NET MVC 3 (Visual Studio 2010) satırında Ekle'ye tıklayın.

  7. Gezinti bölmesinde Sunucu'ya tıklayın.

  8. IIS 7 Önerilen Yapılandırma satırında Ekle'ye tıklayın.

  9. Web Dağıtım Aracı 2.1 satırında Ekle'ye tıklayın.

  10. Yükle'ye tıklayın. Web Platformu Yükleyicisi, yüklenecek tüm ilişkili bağımlılıklarla birlikte size bir ürün listesi gösterir ve lisans koşullarını kabul etmenizi ister.

    Yükle'ye tıklayın. Web Platformu Yükleyicisi, yüklenecek ilişkili bağımlılıklarla birlikte size bir ürün listesi gösterir ve lisans koşullarını kabul etmenizi ister.

  11. Lisans koşullarını gözden geçirin ve koşulları onaylarsanız Kabul Ediyorum'a tıklayın.

  12. Yükleme tamamlandığında Son'a tıklayın ve ardından Web Platformu Yükleyicisi 3.0 penceresini kapatın.

IIS'yi yüklemeden önce .NET Framework 4.0'ı yüklediyseniz, ASP.NET'nin en son sürümünü IIS'ye kaydetmek için ASP.NET IIS Kayıt Aracı'nı (aspnet_regiis.exe) çalıştırmanız gerekir. Bunu yapmazsanız IIS'nin herhangi bir sorun olmadan statik içerik (HTML dosyaları gibi) sağlayacağını görürsünüz, ancak ASP.NET içeriğe göz atmayı denediğinizde HTTP Hatası 404.0 – Bulunamadı değerini döndürür. ASP.NET 4.0'ın kayıtlı olduğundan emin olmak için bu yordamı kullanabilirsiniz.

ASP.NET 4.0'ı IIS'ye kaydetmek için

  1. Başlat'a tıklayın ve Komut İstemi yazın.

  2. Arama sonuçlarında Komut İstemi'ne sağ tıklayın ve ardından Yönetici olarak çalıştır'a tıklayın.

  3. Komut İstemi penceresinde %WINDIR%\Microsoft.NET\Framework\v4.0.30319 dizinine gidin.

  4. Bu komutu yazın ve Enter tuşuna basın:

    aspnet_regiis -iru
    
  5. Herhangi bir noktada 64 bit web uygulamaları barındırmayı planlıyorsanız, ASP.NET 64 bit sürümünü IIS'ye de kaydetmeniz gerekir. Bunu yapmak için Komut İstemi penceresinde %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 dizinine gidin.

  6. Bu komutu yazın ve Enter tuşuna basın:

    aspnet_regiis -iru
    

İyi bir uygulama olarak, yüklediğiniz yeni ürün ve bileşenler için kullanılabilir güncelleştirmeleri indirip yüklemek için bu noktada Windows Update yeniden kullanın.

IIS Web Sitesini Yapılandırma

Sunucunuza web içeriği dağıtabilmeniz için önce, içeriği barındıracak bir IIS web sitesi oluşturmanız ve yapılandırmanız gerekir. Web Dağıtımı yalnızca mevcut BIR IIS web sitesine web paketleri dağıtabilir; web sitesini sizin için oluşturamaz. Üst düzeyde şu görevleri tamamlamanız gerekir:

  • İçeriğinizi barındırmak için dosya sisteminde bir klasör oluşturun.
  • İçeriği sunmak için bir IIS web sitesi oluşturun ve bunu yerel klasörle ilişkilendirin.
  • Yerel klasördeki uygulama havuzu kimliğine okuma izinleri verin.

IIS'de varsayılan web sitesine içerik dağıtmanızı engelleyen hiçbir şey olmasa da, test veya gösterim senaryoları dışında hiçbir şey için bu yaklaşım önerilmez. Üretim ortamının benzetimini yapmak için, uygulamanızın gereksinimlerine özgü ayarlarla yeni bir IIS web sitesi oluşturmanız gerekir.

IIS web sitesi oluşturmak ve yapılandırmak için

  1. Yerel dosya sisteminde, içeriğinizi depolamak için bir klasör oluşturun (örneğin, C:\DemoSite).

  2. Başlat menüsünde, Yönetim Araçları'nın üzerine gelin ve ardından Internet Information Services (IIS) Yöneticisi'ne tıklayın.

  3. IIS Yöneticisi'ndeki Bağlantılar bölmesinde sunucu düğümünü genişletin (örneğin , TESTWEB1).

    IIS Yöneticisi'ndeki Bağlantılar bölmesinde sunucu düğümünü genişletin (örneğin, TESTWEB1).

  4. Siteler düğümüne sağ tıklayın ve ardından Web Sitesi Ekle'ye tıklayın.

  5. Site adı kutusuna IIS web sitesi için bir ad yazın (örneğin, DemoSite).

  6. Fiziksel yol kutusuna yerel klasörünüzün yolunu yazın (veya gözatın) (örneğin, C:\DemoSite).

  7. Bağlantı noktası kutusuna web sitesini barındırmak istediğiniz bağlantı noktası numarasını yazın (örneğin, 85).

    Not

    Standart bağlantı noktası numaraları HTTP için 80 ve HTTPS için 443'tır. Ancak, bu web sitesini 80 numaralı bağlantı noktasında barındırdığınızda, sitenize erişebilmek için varsayılan web sitesini durdurmanız gerekir.

  8. Web sitesi için bir Etki Alanı Adı Sistemi (DNS) kaydı yapılandırmak istemiyorsanız Konak adı kutusunu boş bırakın ve ardından Tamam'a tıklayın.

    Web sitesi için bir Etki Alanı Adı Sistemi (DNS) kaydı yapılandırmak istemiyorsanız Konak adı kutusunu boş bırakın ve ardından Tamam'a tıklayın.

    Not

    Üretim ortamında, web sitenizi 80 numaralı bağlantı noktasında barındırmak ve eşleşen DNS kayıtlarıyla birlikte bir konak üst bilgisi yapılandırmak isteyebilirsiniz. IIS 7'de konak üst bilgilerini yapılandırma hakkında daha fazla bilgi için bkz. Web Sitesi için Ana Bilgisayar Üst Bilgisi Yapılandırma (IIS 7). Windows Server 2008 R2'deki DNS Sunucusu rolü hakkında daha fazla bilgi için bkz. DNS Sunucusuna Genel Bakış.

  9. Eylemler bölmesinde, Site Düzenlealtında, Bağlamalar'ı tıklatın.

  10. Site Bağlamaları iletişim kutusunda Ekle'ye tıklayın.

    Site Bağlamaları iletişim kutusunda Ekle'ye tıklayın.

  11. Site Bağlaması Ekle iletişim kutusunda, IP adresini ve Bağlantı Noktasını mevcut site yapılandırmanızla eşleşecek şekilde ayarlayın.

  12. Ana bilgisayar adı kutusuna web sunucunuzun adını yazın (örneğin, TESTWEB1) ve ardından Tamam'a tıklayın.

    Ana bilgisayar adı kutusuna web sunucunuzun adını yazın (örneğin, TESTWEB1) ve ardından Tamam'a tıklayın.

    Not

    İlk site bağlaması, IP adresini ve bağlantı noktasını veya http://localhost:85kullanarak siteye yerel olarak erişmenizi sağlar. İkinci site bağlaması, makine adını kullanarak etki alanındaki diğer bilgisayarlardan siteye erişmenizi sağlar (örneğin, http://testweb1:85).

  13. Site Bağlamaları iletişim kutusunda Kapat'a tıklayın.

  14. Bağlantılar bölmesinde, Uygulama Havuzları'na tıklayın.

  15. Uygulama Havuzları bölmesinde, uygulama havuzunuzun adına sağ tıklayın ve ardından Temel Ayarlar'a tıklayın. Varsayılan olarak, uygulama havuzunuzun adı web sitenizin adıyla (örneğin DemoSite) eşleşecektir.

  16. .NET Framework sürüm listesinde .NET Framework v4.0.30319'ı seçin ve ardından Tamam'a tıklayın.

    .NET Framework sürüm listesinde .NET Framework v4.0.30319'ı seçin ve tamam'a tıklayın.

    Not

    Örnek çözüm için .NET Framework 4.0 gerekir. Bu, genel olarak Web Dağıtımı için bir gereksinim değildir.

Web sitenizin içerik sunması için, uygulama havuzu kimliğinin içeriği depolayan yerel klasörde okuma izinlerine sahip olması gerekir. IIS 7.5'te uygulama havuzları varsayılan olarak benzersiz bir uygulama havuzu kimliğiyle çalışır (uygulama havuzlarının genellikle Ağ Hizmeti hesabı kullanılarak çalıştırıldığı IIS'nin önceki sürümlerinin aksine). Uygulama havuzu kimliği gerçek bir kullanıcı hesabı değildir ve hiçbir kullanıcı veya grup listesinde gösterilmez; bunun yerine, uygulama havuzu başlatıldığında dinamik olarak oluşturulur. Her uygulama havuzu kimliği, yerel IIS_IUSRS güvenlik grubuna gizli öğe olarak eklenir.

Bir dosya veya klasördeki uygulama havuzu kimliğine izin vermek için iki seçeneğiniz vardır:

  • IIS AppPool[uygulama havuzu adı] biçimini (örneğin, IIS AppPool\DemoSite) kullanarak uygulama havuzu kimliğine doğrudan izinler atayın.
  • IIS_IUSRS grubuna izinler atayın.

Bu yaklaşım, dosya sistemi izinlerini yeniden yapılandırmadan uygulama havuzlarını değiştirmenize olanak sağladığından, en yaygın yaklaşım yerel IIS_IUSRS grubuna izin atamaktır. Sonraki yordamda bu grup tabanlı yaklaşım kullanılır.

Not

IIS 7.5'teki uygulama havuzu kimlikleri hakkında daha fazla bilgi için bkz. Uygulama Havuzu Kimlikleri.

IIS web sitesinin klasör izinlerini yapılandırmak için

  1. Windows Gezgini'nde yerel klasörünüzün konumuna göz atın.

  2. Klasöre sağ tıklayın ve ardından Özellikler'e tıklayın.

  3. Güvenlik sekmesinde Düzenle'ye ve ardından Ekle'ye tıklayın.

  4. Konumlar'a tıklayın. Konumlar iletişim kutusunda yerel sunucuyu seçin ve ardından Tamam'a tıklayın.

    Konumlar'a tıklayın. Konumlar iletişim kutusunda yerel sunucuyu seçin ve ardından Tamam'a tıklayın.

  5. Kullanıcıları veya Grupları Seç iletişim kutusunda IIS_IUSRS yazın, Adları Denetle'ye ve ardından Tamam'a tıklayın.

  6. İzinler (klasör adı) iletişim kutusunda, yeni gruba varsayılan olarak Okuma & yürütme, Klasör içeriğini listeleme ve Okuma izinleri atandığını görebilirsiniz. Bunu değiştirmeden bırakın ve Tamam'a tıklayın.

  7. Tamam'a tıklayarak (klasör adı) Özellikler iletişim kutusunu kapatın.

Sunucunuza herhangi bir web paketi dağıtmayı denemeden önce son bir görev olarak, Web Deployment Agent Hizmeti'nin çalıştığından emin olmalısınız. Uzak bir bilgisayardan bir paket dağıttığınızda, paketin içeriğini ayıklamak ve yüklemek Web Deployment Agent Hizmeti'nden sorumludur. Web Dağıtım Aracı'nı yüklediğinizde hizmet varsayılan olarak başlatılır ve Ağ Hizmeti kimliği altında çalışır.

Çeşitli komut satırı yardımcı programlarını veya Windows PowerShell cmdlet'lerini kullanarak bir hizmetin birden çok farklı şekilde çalışıp çalışmadığını kontrol edebilirsiniz. Bu yordam, kullanıcı arabirimi tabanlı basit bir yaklaşımı açıklar.

Web Deployment Agent Hizmeti'nin çalışıp çalışmadığını denetlemek için

  1. Başlat menüsünde, Yönetim Araçları'na gelin ve ardından Hizmetler'e tıklayın.

  2. Web Deployment Agent Hizmeti satırını bulun ve Durum'unBaşlatıldı olarak ayarlandığını doğrulayın.

    Web Deployment Agent Hizmeti satırını bulun ve Durum'un Başlatıldı olarak ayarlandığını doğrulayın.

  3. Hizmet henüz başlatılmadıysa Başlat'a tıklayın.

Güvenlik Duvarı Özel Durumlarını Yapılandırma

Varsayılan olarak, Uzak Aracı Hizmeti 80 numaralı TCP bağlantı noktasını şu URL'de dinler:

http://servername.com/MSDEPLOYAGENTSERVICE

Çoğu durumda, web sunucuları genellikle 80 numaralı bağlantı noktasında HTTP isteklerini dinlediğinden Uzak Aracı Hizmeti için ek güvenlik duvarı kuralı yapılandırmanız gerekmez. Yüklemenizi standart olmayan bir bağlantı noktasını dinleyecek şekilde özelleştirdiyseniz, güvenlik duvarı özel durumlarını gerektiği gibi yapılandırmanız gerekir.

Sonuç

Bu noktada, web sunucunuz uzak bir bilgisayardan web paketlerini kabul etmeye ve yüklemeye hazırdır. Bir web uygulamasını sunucuya dağıtmayı denemeden önce şu önemli noktaları denetlemek isteyebilirsiniz:

  • IIS'ye ASP.NET 4.0 kaydettiniz mi?
  • Uygulama havuzu kimliğinin web sitenizin kaynak klasörüne okuma erişimi var mı?
  • Web Deployment Agent Hizmeti çalışıyor mu?

Daha Fazla Bilgi

Web paketlerini Uzak Aracı Hizmetine dağıtmak üzere özel Microsoft Build Engine (MSBuild) proje dosyalarını yapılandırma yönergeleri için bkz. Hedef Ortam için Dağıtım Özelliklerini Yapılandırma.