Konfigurowanie serwera internetowego dla usługi publikowania Web Deploy (agent zdalny)

Autor: Jason Lee

W tym temacie opisano sposób konfigurowania serwera internetowego usług informacyjnych (IIS) w celu obsługi publikowania i wdrażania sieci Web przy użyciu usługi agenta zdalnego wdrażania sieci Web (Web Deploy) usług IIS.

Podczas pracy z programem Web Deploy 2.0 lub nowszym istnieją trzy główne podejścia, których można użyć do pobrania aplikacji lub witryn na serwer internetowy. Możesz:

  • Użyj usługi agenta zdalnego wdrażania w sieci Web. Takie podejście wymaga mniejszej konfiguracji serwera internetowego, ale należy podać poświadczenia administratora serwera lokalnego w celu wdrożenia niczego na serwerze.
  • Użyj programu obsługi web deploy. Takie podejście jest o wiele bardziej złożone i wymaga bardziej początkowego nakładu pracy w celu skonfigurowania serwera internetowego. Jednak w przypadku korzystania z tej metody można skonfigurować usługi IIS tak, aby zezwalały użytkownikom niebędącym administratorami na wykonywanie wdrożenia. Program obsługi wdrażania sieci Web jest dostępny tylko w usługach IIS w wersji 7 lub nowszej.
  • Użyj wdrożenia w trybie offline. Takie podejście wymaga najmniejszej konfiguracji serwera internetowego, ale administrator serwera musi ręcznie skopiować pakiet internetowy na serwer i zaimportować go za pośrednictwem Menedżera usług IIS.

Aby uzyskać więcej informacji na temat kluczowych funkcji, zalet i wad tych podejść, zobacz Wybieranie odpowiedniego podejścia do wdrażania w sieci Web.

Czy narzędzie Web Deploy Remote Agent jest właściwym rozwiązaniem?

Tak, jeśli użytkownik, który wdroży zawartość, może podać poświadczenia administratora na serwerze docelowym. Takie podejście jest często pożądane w następujących typach scenariuszy:

  • Środowiska programistyczne lub testowe, w których deweloper ma pełną kontrolę nad docelowym serwerem internetowym i serwerem bazy danych.
  • Mniejsze organizacje, w których jeden użytkownik lub mała grupa użytkowników ma kontrolę nad całym cyklem życia aplikacji.

W wielu większych organizacjach, a szczególnie w środowiskach przejściowych lub produkcyjnych, często nie jest realistyczna, aby dać użytkownikom uprawnienia administratora na serwerach internetowych. W przypadku hostowanych serwerów sieci Web jest to szczególnie mało prawdopodobne. Ponadto jeśli planujesz zautomatyzować wdrażanie z serwera kompilacji, możesz nie chcieć użyć poświadczeń administratora w procesie wdrażania. W tych scenariuszach skonfigurowanie serwerów internetowych do obsługi wdrażania przy użyciu programu obsługi wdrażania sieci Web może zapewnić bardziej zadowalający wybór.

Omówienie zadań

W tym temacie opisano sposób konfigurowania serwera internetowego usług informacyjnych (IIS) 7.5 w celu akceptowania i wdrażania pakietów internetowych z komputera zdalnego przy użyciu podejścia Web Deploy Remote Agent. Należy wykonać następujące czynności:

  • Zainstaluj zalecane konfiguracje usług IIS 7.5 i IIS 7.
  • Zainstaluj program Web Deploy 2.1 lub nowszy.
  • Utwórz witrynę internetową usług IIS do hostowania wdrożonej zawartości.
  • Upewnij się, że usługa Deployment Agent sieci Web jest uruchomiona.

Aby hostować przykładowe rozwiązanie, należy również wykonać następujące czynności:

  • Zainstaluj .NET Framework 4.0.
  • Zainstaluj ASP.NET MVC 3.

W tym temacie pokazano, jak wykonać każdą z tych procedur. W zadaniach i przewodnikach w tym temacie założono, że rozpoczynasz czystą kompilację serwera z systemem Windows Server 2008 R2. Przed kontynuowaniem upewnij się, że:

  • System Windows Server 2008 R2 z dodatkiem Service Pack 1 i wszystkie dostępne aktualizacje są instalowane.
  • Serwer jest przyłączony do domeny.
  • Serwer ma statyczny adres IP.

Uwaga

Aby uzyskać więcej informacji na temat dołączania komputerów do domeny, zobacz Dołączanie komputerów do domeny i logowanie. Aby uzyskać więcej informacji na temat konfigurowania statycznych adresów IP, zobacz Konfigurowanie statycznego adresu IP. Usługa agenta zdalnego jest obsługiwana przez usługi IIS 6 i nie wymaga dołączenia do domeny. Jednak kroki opisane w tym samouczku zostały opracowane i przetestowane w usługach IIS 7.5 i procedury dla innych wersji mogą się różnić.

Instalowanie produktów i składników

Ta sekcja przeprowadzi Cię przez proces instalowania wymaganych produktów i składników na serwerze internetowym. Przed rozpoczęciem dobrym rozwiązaniem jest uruchomienie Windows Update w celu zapewnienia, że serwer jest w pełni aktualny.

W takim przypadku należy zainstalować następujące elementy:

  • Zalecana konfiguracja usług IIS 7. Umożliwia to rolę serwera sieci Web (IIS) na serwerze sieci Web i instaluje zestaw modułów i składników usług IIS potrzebnych do hostowania aplikacji ASP.NET.
  • .NET Framework 4.0. Jest to wymagane do uruchamiania aplikacji utworzonych w tej wersji .NET Framework.
  • Narzędzie wdrażania sieci Web w wersji 2.1 lub nowszej. Spowoduje to zainstalowanie narzędzia Web Deploy (i jego bazowego pliku wykonywalnego MSDeploy.exe) na serwerze. W ramach tego procesu instaluje i uruchamia usługę Web Deployment Agent Service. Ta usługa umożliwia wdrażanie pakietów internetowych z komputera zdalnego.
  • ASP.NET MVC 3. Spowoduje to zainstalowanie zestawów potrzebnych do uruchamiania aplikacji MVC 3.

Uwaga

W tym przewodniku opisano użycie Instalatora platformy internetowej do zainstalowania i skonfigurowania wymaganych składników. Mimo że nie trzeba używać Instalatora platformy internetowej, upraszcza proces instalacji, automatycznie wykrywając zależności i zapewniając, że zawsze uzyskujesz najnowsze wersje produktów. Aby uzyskać więcej informacji, zobacz Instalator platformy Microsoft Web 3.0.

Aby zainstalować wymagane produkty i składniki

  1. Pobierz i zainstaluj Instalatora platformy internetowej.

  2. Po zakończeniu instalacji Instalator platformy internetowej zostanie uruchomiony automatycznie.

    Uwaga

    Teraz możesz uruchomić Instalatora platformy internetowej w dowolnym momencie z menu Start . W tym celu w menu Start kliknij pozycję Wszystkie programy, a następnie kliknij Instalator platformy Microsoft Web.

  3. W górnej części okna Instalator platformy sieci Web 3.0 kliknij pozycję Produkty.

  4. Po lewej stronie okna w okienku nawigacji kliknij pozycję Struktury.

  5. W wierszu microsoft .NET Framework 4, jeśli .NET Framework nie jest jeszcze zainstalowany, kliknij przycisk Dodaj.

    Uwaga

    Być może zainstalowano już .NET Framework 4.0 do Windows Update. Jeśli produkt lub składnik jest już zainstalowany, Instalator platformy sieci Web wskaże to, zastępując przycisk Dodaj tekstem Zainstalowany.

    Jeśli produkt lub składnik jest już zainstalowany, Instalator platformy sieci Web wskaże to, zastępując przycisk Dodaj tekstem Zainstalowany.

  6. W wierszu ASP.NET MVC 3 (Visual Studio 2010) kliknij przycisk Dodaj.

  7. W okienku nawigacji kliknij pozycję Serwer.

  8. W wierszu Zalecane konfiguracje usług IIS 7 kliknij przycisk Dodaj.

  9. W wierszu Narzędzia wdrażania sieci Web 2.1 kliknij przycisk Dodaj.

  10. Kliknij przycisk Zainstaluj. Instalator platformy internetowej wyświetli listę produktów wraz z wszystkimi skojarzonymi zależnościami, które mają zostać zainstalowane, i wyświetli monit o zaakceptowanie postanowień licencyjnych.

    Kliknij przycisk Zainstaluj. Instalator platformy internetowej wyświetli listę produktów wraz z wszystkimi skojarzonymi zależnościami, które mają zostać zainstalowane, i wyświetli monit o zaakceptowanie postanowień licencyjnych.

  11. Przejrzyj postanowienia licencyjne, a jeśli wyrazisz zgodę na warunki, kliknij przycisk Akceptuję.

  12. Po zakończeniu instalacji kliknij przycisk Zakończ, a następnie zamknij okno Instalator platformy sieci Web 3.0 .

Jeśli przed zainstalowaniem usług IIS zainstalowano .NET Framework 4.0, należy uruchomić narzędzie rejestracji ASP.NET IIS (aspnet_regiis.exe), aby zarejestrować najnowszą wersję ASP.NET z usługami IIS. Jeśli to nie zrobisz, okaże się, że usługi IIS będą obsługiwać zawartość statyczną (np. pliki HTML) bez żadnych problemów, ale zwróci błąd HTTP 404.0 — nie znaleziono podczas próby przeglądania ASP.NET zawartości. Możesz użyć tej procedury, aby upewnić się, że ASP.NET 4.0 jest zarejestrowany.

Aby zarejestrować ASP.NET 4.0 w usługach IIS

  1. Kliknij przycisk Start, a następnie wpisz wiersz polecenia.

  2. W wynikach wyszukiwania kliknij prawym przyciskiem myszy wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator.

  3. W oknie wiersza polecenia przejdź do katalogu %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .

  4. Wpisz to polecenie, a następnie naciśnij klawisz Enter:

    aspnet_regiis -iru
    
  5. Jeśli planujesz hostować 64-bitowe aplikacje internetowe w dowolnym momencie, należy również zarejestrować 64-bitową wersję ASP.NET z usługami IIS. W tym celu w oknie wiersza polecenia przejdź do katalogu %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .

  6. Wpisz to polecenie, a następnie naciśnij klawisz Enter:

    aspnet_regiis -iru
    

Dobrym rozwiązaniem jest ponowne użycie Windows Update w tym momencie, aby pobrać i zainstalować wszelkie dostępne aktualizacje dla nowych produktów i składników, które zostały zainstalowane.

Konfigurowanie witryny sieci Web usług IIS

Przed wdrożeniem zawartości internetowej na serwerze należy utworzyć i skonfigurować witrynę internetową usług IIS do hostowania zawartości. Narzędzie Web Deploy może wdrażać tylko pakiety internetowe w istniejącej witrynie internetowej usług IIS; Nie można utworzyć witryny internetowej dla Ciebie. Na wysokim poziomie należy wykonać następujące zadania:

  • Utwórz folder w systemie plików, aby hostować zawartość.
  • Utwórz witrynę internetową usług IIS w celu obsługi zawartości i skojarz ją z folderem lokalnym.
  • Udziel uprawnień do odczytu tożsamości puli aplikacji w folderze lokalnym.

Chociaż nie ma nic, co uniemożliwia wdrażanie zawartości w domyślnej witrynie internetowej w usługach IIS, to podejście nie jest zalecane w przypadku scenariuszy testowych lub demonstracyjnych. Aby zasymulować środowisko produkcyjne, należy utworzyć nową witrynę internetową usług IIS z ustawieniami specyficznymi dla wymagań aplikacji.

Aby utworzyć i skonfigurować witrynę internetową usług IIS

  1. W lokalnym systemie plików utwórz folder do przechowywania zawartości (na przykład C:\DemoSite).

  2. W menu Start wskaż pozycję Narzędzia administracyjne, a następnie kliknij pozycję Menedżer usług Internet Information Services (IIS).

  3. W Menedżerze usług IIS w okienku Połączenia rozwiń węzeł serwera (na przykład TESTWEB1).

    W Menedżerze usług IIS w okienku Połączenia rozwiń węzeł serwera (na przykład TESTWEB1).

  4. Kliknij prawym przyciskiem myszy węzeł Witryny , a następnie kliknij polecenie Dodaj witrynę sieci Web.

  5. W polu Nazwa witryny wpisz nazwę witryny sieci Web usług IIS (na przykład DemoSite).

  6. W polu Ścieżka fizyczna wpisz (lub przejdź do) ścieżkę do folderu lokalnego (na przykład C:\DemoSite).

  7. W polu Port wpisz numer portu, na którym chcesz hostować witrynę internetową (na przykład 85).

    Uwaga

    Standardowe numery portów to 80 dla protokołu HTTP i 443 dla protokołu HTTPS. Jeśli jednak hostujesz tę witrynę internetową na porcie 80, musisz zatrzymać domyślną witrynę sieci Web przed uzyskaniem dostępu do witryny.

  8. Pozostaw puste pole Nazwa hosta , chyba że chcesz skonfigurować rekord systemu nazw domen (DNS) dla witryny internetowej, a następnie kliknij przycisk OK.

    Pozostaw puste pole Nazwa hosta, chyba że chcesz skonfigurować rekord systemu nazw domen (DNS) dla witryny internetowej, a następnie kliknij przycisk OK.

    Uwaga

    W środowisku produkcyjnym prawdopodobnie chcesz hostować witrynę internetową na porcie 80 i skonfigurować nagłówek hosta wraz z pasującymi rekordami DNS. Aby uzyskać więcej informacji na temat konfigurowania nagłówków hostów w usługach IIS 7, zobacz Konfigurowanie nagłówka hosta dla witryny sieci Web (IIS 7). Aby uzyskać więcej informacji na temat roli serwera DNS w systemie Windows Server 2008 R2, zobacz Omówienie serwera DNS.

  9. W okienku Akcje w obszarze Edytuj witrynę kliknij pozycję Powiązania.

  10. W oknie dialogowym Powiązania witryny kliknij przycisk Dodaj.

    W oknie dialogowym Powiązania witryny kliknij przycisk Dodaj.

  11. W oknie dialogowym Dodawanie powiązania witryny ustaw adres IP i port zgodnie z istniejącą konfiguracją lokacji.

  12. W polu Nazwa hosta wpisz nazwę serwera internetowego (na przykład TESTWEB1), a następnie kliknij przycisk OK.

    W polu Nazwa hosta wpisz nazwę serwera internetowego (na przykład TESTWEB1), a następnie kliknij przycisk OK.

    Uwaga

    Pierwsze powiązanie lokacji umożliwia dostęp do lokacji lokalnie przy użyciu adresu IP i portu lub http://localhost:85. Drugie powiązanie lokacji umożliwia dostęp do lokacji z innych komputerów w domenie przy użyciu nazwy komputera (na przykład http://testweb1:85).

  13. W oknie dialogowym Powiązania witryny kliknij przycisk Zamknij.

  14. W okienku Połączenia kliknij opcję Pule aplikacji.

  15. W okienku Pule aplikacji kliknij prawym przyciskiem myszy nazwę puli aplikacji, a następnie kliknij pozycję Ustawienia podstawowe. Domyślnie nazwa puli aplikacji będzie zgodna z nazwą witryny internetowej (na przykład DemoSite).

  16. Na liście wersji .NET Framework wybierz pozycję .NET Framework v4.0.30319, a następnie kliknij przycisk OK.

    Na liście wersji .NET Framework wybierz pozycję .NET Framework v4.0.30319, a następnie kliknij przycisk OK.

    Uwaga

    Przykładowe rozwiązanie wymaga .NET Framework 4.0. Nie jest to wymaganie dotyczące usługi Web Deploy w ogóle.

Aby witryna internetowa obsługiwała zawartość, tożsamość puli aplikacji musi mieć uprawnienia do odczytu w folderze lokalnym, który przechowuje zawartość. W usługach IIS 7.5 pule aplikacji są uruchamiane z unikatową tożsamością puli aplikacji domyślnie (w przeciwieństwie do poprzednich wersji usług IIS, w których pule aplikacji zwykle będą uruchamiane przy użyciu konta usługi sieciowej). Tożsamość puli aplikacji nie jest rzeczywistym kontem użytkownika i nie jest wyświetlana na żadnych listach użytkowników lub grup — zamiast tego jest tworzona dynamicznie po uruchomieniu puli aplikacji. Każda tożsamość puli aplikacji jest dodawana do lokalnej grupy zabezpieczeń IIS_IUSRS jako ukryty element.

Aby udzielić uprawnień do tożsamości puli aplikacji w pliku lub folderze, dostępne są dwie opcje:

  • Przypisz uprawnienia do tożsamości puli aplikacji bezpośrednio przy użyciu formatu Pula aplikacji usług IIS[nazwa puli aplikacji] (na przykład pula aplikacji usług IIS AppPool\DemoSite).
  • Przypisz uprawnienia do grupy IIS_IUSRS .

Najbardziej typowym podejściem jest przypisanie uprawnień do lokalnej grupy IIS_IUSRS , ponieważ takie podejście umożliwia zmianę pul aplikacji bez ponownego konfigurowania uprawnień systemu plików. W następnej procedurze użyto tego podejścia opartego na grupach.

Uwaga

Aby uzyskać więcej informacji na temat tożsamości puli aplikacji w usługach IIS 7.5, zobacz Tożsamości puli aplikacji.

Aby skonfigurować uprawnienia folderu dla witryny sieci Web usług IIS

  1. W Eksploratorze Windows przejdź do lokalizacji folderu lokalnego.

  2. Kliknij folder prawym przyciskiem myszy, a następnie kliknij polecenie Właściwości.

  3. Na karcie Zabezpieczenia kliknij pozycję Edytuj, a następnie kliknij przycisk Dodaj.

  4. Kliknij pozycję Lokalizacje. W oknie dialogowym Lokalizacje wybierz serwer lokalny, a następnie kliknij przycisk OK.

    Kliknij pozycję Lokalizacje. W oknie dialogowym Lokalizacje wybierz serwer lokalny, a następnie kliknij przycisk OK.

  5. W oknie dialogowym Wybieranie użytkowników lub grup wpisz IIS_IUSRS, kliknij przycisk Sprawdź nazwy, a następnie kliknij przycisk OK.

  6. W oknie dialogowym Uprawnienia dla (nazwy folderu) zwróć uwagę, że nowa grupa została przypisana do grupy Odczyt & wykonać, Wyświetlić zawartość folderu i Uprawnienia do odczytu domyślnie. Pozostaw to bez zmian i kliknij przycisk OK.

  7. Kliknij przycisk OK, aby zamknąć okno dialogowe Właściwości (nazwa folderu).

Jako ostatnie zadanie przed podjęciem próby wdrożenia wszystkich pakietów internetowych na serwerze należy upewnić się, że usługa sieci Web Deployment Agent jest uruchomiona. Podczas wdrażania pakietu z komputera zdalnego usługa sieci Web Deployment Agent jest odpowiedzialna za wyodrębnianie i instalowanie zawartości pakietu. Usługa jest domyślnie uruchamiana podczas instalowania narzędzia wdrażania sieci Web i jest uruchamiana w ramach tożsamości usługi sieciowej.

Możesz sprawdzić, czy usługa działa na wiele różnych sposobów, przy użyciu różnych narzędzi wiersza polecenia lub poleceń cmdlet Windows PowerShell. W tej procedurze opisano proste podejście oparte na interfejsie użytkownika.

Aby sprawdzić, czy usługa Deployment Agent sieci Web jest uruchomiona

  1. W menu Start wskaż polecenie Narzędzia administracyjne, a następnie kliknij pozycję Usługi.

  2. Znajdź wiersz usługi Deployment Agent sieci Web i sprawdź, czy stan jest ustawiony na Uruchomiono.

    Znajdź wiersz Usługi Deployment Agent Sieci Web i sprawdź, czy stan jest ustawiony na Uruchomiono.

  3. Jeśli usługa nie została jeszcze uruchomiona, kliknij przycisk Uruchom.

Konfigurowanie wyjątków zapory

Domyślnie usługa agenta zdalnego nasłuchuje na porcie TCP 80 pod tym adresem URL:

http://servername.com/MSDEPLOYAGENTSERVICE

W większości przypadków nie trzeba konfigurować żadnych dodatkowych reguł zapory dla usługi agenta zdalnego, ponieważ serwery internetowe zazwyczaj nasłuchują żądań HTTP na porcie 80. Jeśli instalacja została dostosowana do nasłuchiwania na niestandardowym porcie, należy skonfigurować wyjątki zapory zgodnie z wymaganiami.

Podsumowanie

Na tym etapie serwer internetowy jest gotowy do akceptowania i instalowania pakietów internetowych z komputera zdalnego. Przed podjęciem próby wdrożenia aplikacji internetowej na serwerze warto sprawdzić następujące kluczowe punkty:

  • Czy zarejestrowano ASP.NET 4.0 w usługach IIS?
  • Czy tożsamość puli aplikacji ma dostęp do odczytu do folderu źródłowego witryny internetowej?
  • Czy usługa Deployment Agent sieci Web jest uruchomiona?

Dalsze informacje

Aby uzyskać wskazówki dotyczące konfigurowania niestandardowych plików projektu Microsoft Build Engine (MSBuild) w celu wdrażania pakietów internetowych w usłudze agenta zdalnego, zobacz Konfigurowanie właściwości wdrażania dla środowiska docelowego.