Konfigurowanie serwera sieci Web na potrzeby publikowania w usłudze Web Deploy (agent zdalny)

Autor: Jason Lee

W tym temacie opisano sposób konfigurowania serwera Internetowych Usług Informacyjnych (IIS) w celu obsługi publikowania i wdrażania w internecie przy użyciu Usługi agenta zdalnego Narzędzia wdrażania sieci Web (Web Deploy) 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. Masz następujące możliwości:

  • Użyj usługi zdalnego agenta Web Deploy. Takie podejście wymaga mniejszej konfiguracji serwera WWW, ale należy podać poświadczenia administratora serwera lokalnego, aby wdrożyć coś 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, aby umożliwić użytkownikom niebędącym administratorami wykonywanie wdrożenia. Web Deploy Handler jest dostępny tylko w 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 Internecie.

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 takich 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 realistyczne nadanie użytkownikom uprawnień administratora na serwerach internetowych. W przypadku hostowanych serwerów internetowych 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 wdrożenia przy użyciu programu obsługi wdrażania w sieci Web może zapewnić bardziej zadowalający wybór.

Omówienie zadania

W tym temacie opisano sposób konfigurowania internetowego serwera informacyjnego (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 usługi IIS 7.5 i zalecaną konfigurację usług IIS 7.
  • Zainstaluj program Web Deploy w wersji 2.1 lub nowszej.
  • Utwórz witrynę sieci Web serwera IIS, aby hostować wdrożoną zawartość.
  • Upewnij się, że usługa agenta wdrażania sieci Web jest uruchomiona.

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

  • Zainstaluj program .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 od czystej kompilacji 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ą zainstalowane.
  • Serwer jest przyłączony do domeny.
  • Serwer ma statyczny adres IP.

Uwaga / Notatka

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 IIS w wersji 6 i nowszych i nie wymaga dołączenia do domeny. Jednak kroki opisane w tym samouczku zostały opracowane i przetestowane w usługach IIS 7.5 oraz 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 usługi Windows Update, aby upewnić się, ż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 programu .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ę agenta wdrażania sieci Web. 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 / Notatka

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 Microsoft Web Platform Installer 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 / Notatka

    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 pozycję Instalator platformy sieci Web firmy Microsoft.

  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 programu Microsoft .NET Framework 4 , jeśli program .NET Framework nie został jeszcze zainstalowany, kliknij przycisk Dodaj.

    Uwaga / Notatka

    Być może program .NET Framework 4.0 został już zainstalowany za pośrednictwem usługi Windows Update. Jeśli produkt lub składnik jest już zainstalowany, Instalator platformy internetowej wskaże to, zastępując przycisk Dodaj tekstem Zainstalowane.

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

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

  7. W okienku nawigacji kliknij pozycję Serwer.

  8. W wierszu Zalecana konfiguracja IIS 7 kliknij Dodaj.

  9. W wierszu Web Deployment Tool 2.1 kliknij przycisk Dodaj.

  10. Kliknij przycisk Zainstaluj. Instalator platformy internetowej wyświetli listę produktów wraz z 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 wyrażasz 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 program .NET Framework 4.0 został zainstalowany przed zainstalowaniem usług IIS, należy uruchomić narzędzie rejestracji ASP.NET IIS (aspnet_regiis.exe), aby zarejestrować najnowszą wersję ASP.NET z usługami IIS. Jeśli tego nie zrobisz, zobaczysz, że usługi IIS będą obsługiwać zawartość statyczną (na przykład pliki HTML) bez żadnych problemów, ale zwróci błąd HTTP 404.0 — Nie znaleziono podczas próby przeglądania zawartości ASP.NET. Ta procedura umożliwia upewnienie 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
    

W tym momencie należy ponownie użyć usługi Windows Update, aby pobrać i zainstalować wszystkie dostępne aktualizacje dla nowych produktów i składników, które zostały zainstalowane.

Konfigurowanie witryny sieci Web serwera IIS

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

  • Utwórz folder w systemie plików do hostowania zawartości.
  • Utwórz witrynę IIS do 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 żadnych elementów uniemożliwiających wdrażanie zawartości w domyślnej witrynie sieci Web w usługach IIS, takie podejście nie jest zalecane w przypadku scenariuszy testowych ani demonstracyjnych. Aby symulować środowisko produkcyjne, należy utworzyć nową witrynę internetową usług IIS z ustawieniami specyficznymi dla wymagań aplikacji.

Aby utworzyć i skonfigurować witrynę 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 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 / Notatka

    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 pole Nazwa hosta puste, chyba że chcesz skonfigurować rekord systemu nazw domen (DNS) dla witryny internetowej, a następnie kliknij przycisk OK.

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

    Uwaga / Notatka

    W środowisku produkcyjnym prawdopodobnie zechcesz 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, aby odpowiadały istniejącej konfiguracji witryny.

  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 / Notatka

    Pierwsze powiązanie witryny umożliwia dostęp do niej lokalnie przy użyciu adresu IP i portu lub http://localhost:85. Drugie wiązanie witryny pozwala na dostęp do witryny 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 Zamknij.

  14. W okienku Połączenia kliknij pozycję 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 programu .NET Framework wybierz pozycję .NET Framework w wersji 4.0.30319, a następnie kliknij przycisk OK.

    Na liście wersji programu .NET Framework wybierz pozycję .NET Framework w wersji 4.0.30319, a następnie kliknij przycisk OK.

    Uwaga / Notatka

    Przykładowe rozwiązanie wymaga programu .NET Framework 4.0. Nie jest to wymagane w przypadku narzędzia Web Deploy ogólnie.

Aby strona mogła udostępniać zawartość, tożsamość puli aplikacji musi mieć uprawnienia do odczytu w folderze lokalnym, który przechowuje zawartość. W IIS 7.5, pule aplikacji domyślnie są uruchamiane z unikatową tożsamością puli aplikacji (w przeciwieństwie do wcześniejszych wersji IIS, gdzie pule aplikacji były zwykle uruchamiane przy użyciu konta Network Service). Tożsamość puli aplikacji nie jest rzeczywistym kontem użytkownika i nie jest wyświetlana na żadnej liście 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ń tożsamości puli aplikacji do pliku lub folderu, masz do wyboru dwie opcje:

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

Najczęstszym 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 jest używane to podejście oparte na grupach.

Uwaga / Notatka

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

Aby skonfigurować uprawnienia folderu dla witryny internetowej IIS

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

  2. Kliknij prawym przyciskiem myszy folder, 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 (nazwa folderu) zwróć uwagę, że nowej grupie domyślnie przypisano uprawnienia Odczyt i wykonywanie, Wyświetlanie zawartości folderu i Odczyt. Pozostaw to bez zmian i kliknij przycisk OK.

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

Przed podjęciem próby wdrożenia pakietów internetowych na serwerze należy upewnić się, że usługa agenta wdrażania sieci Web jest uruchomiona. Podczas wdrażania pakietu z komputera zdalnego usługa agenta wdrażania sieci Web jest odpowiedzialna za wyodrębnianie i instalowanie zawartości pakietu. Usługa jest uruchamiana domyślnie po zainstalowaniu narzędzia wdrażania sieci Web i działa z tożsamości usługi Network Service.

Możesz sprawdzić, czy usługa działa na wiele różnych sposobów, korzystając z różnych narzędzi wiersza polecenia lub poleceń cmdlet programu Windows PowerShell. Ta procedura opisuje proste podejście oparte na interfejsie użytkownika.

Aby sprawdzić, czy usługa agenta wdrażania sieci Web jest uruchomiona

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

  2. Znajdź wiersz Usługa agenta wdrażania sieci Web i sprawdź, czy stan jest ustawiony na Uruchomiono.

    Znajdź wiersz Usługa agenta wdrażania 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 Sieciowej

Domyślnie usługa agenta zdalnego nasłuchuje na porcie TCP 80 pod następującym 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 zwykle 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 katalogu źródłowego Twojej strony internetowej?
  • Czy usługa agenta wdrażania sieci Web jest uruchomiona?

Dalsza lektura

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