IIS, Informatyka, MS Windows Server 2003 instrukcje PL


IIS

Nowa wersja Internet Information Services (IIS) w Windows 2003 Server została zupełnie inaczej zaprojektowana niż wcześniejsze wersje. Głównym celem było stworzenie bezpiecznego i wydajnego serwera WWW, który łatwo może obsługiwać skomplikowane systemy wykorzystujące najnowsze technologie Internetowe.

IIS 6.0 wykorzystuje zupełnie nowy model izolacji procesów, który z jednej strony zapewnia większy poziom bezpieczeństwa, a z drugiej bardziej optymalnie wykorzystuje zasoby serwera. Serwer obsługuje także systemy przechowywania danych typu NAS (Network Attached Storage). IIS 6.0 jest bardzo wydajnym serwerem plików HTML, (czyli - informacji statycznych). Obsługuje także najnowszą wersję rozszerzeń FrontPage oraz SharePoint Portal Server. Na IIS 6.0 można uruchamiać zarówno strony dynamiczne ASP, jak i strony napisane przy użyciu technologii.NET - ASP.NET. Dzięki temu bez problemu można tworzyć rozbudowane aplikacje korzystające z najnowszych, najbardziej elastycznych i wydajnych technologii.

Dostępna jest specjalna edycja Windows 2003 Server Web Edition. Jest to wersja, przeznaczona wyłącznie do instalowania na wyspecjalizowanych komputerach mających pełnić rolę serwerów WWW. Jednakże IIS 6.0 jest także składnikiem innych edycji Windows 2003 Server.

Nowa architektura

Główne zmiany w IIS 6.0 dotyczą kluczowych elementów serwera WWW. W stosunku do IIS 5.0 zupełnie zmieniono architekturę serwera - tak naprawdę jest to nowy produkt - nowa linia serwerów WWW.

Na przykład, w inny sposób obsługiwane są żądania przychodzące do serwera WWW. HTTP.SYS to składnik kernela Windows 2003 Server, który implementuje główną część obsługi protokołu HyperText Transfer Protocol (HTTP). Dzięki temu, podstawowa obsługa żądania jest wykonywana najszybciej jak jest to możliwe. Także na poziomie kernela obsługiwana jest pamięć podręczna serwera WWW, przechowująca te elementy, do których ostatnio nastąpiło odwołanie. Aby zrozumieć, jaki zysk czasowy daje taka architektura, należy zauważyć, że jeżeli klient zażąda obiektu, który już znajduje się w pamięci podręcznej, to ten obiekt przesyłany jest strumieniem HTTP bezpośrednio z pamięci, którą zarządza kernel - bez konieczności dodatkowego odpytywania np. procesu inetinfo.exe.

Jeżeli dany serwer WWW hostuje równolegle kilka aplikacji, to w zależności od tego, do jakiej domeny (czy do jakiej ścieżki) odwoła się klient, HTTP.SYS automatycznie wywoła odpowiedni wątek roboczy, (który np. wygeneruje w odpowiedzi dynamiczną stronę). W IIS 5.0, w takim przypadku najpierw odpowiedni komunikat był przekazywany do głównego procesu IIS, a następnie ten proces wywoływał określony wątek roboczy. W IIS 6.0 wyeliminowany został ten dodatkowy pośrednik.

W IIS 6.0 konfiguracją serwera zarządza oddzielny komponent WAS (Web Administration Service). Odpowiada on za dynamiczną zmianę konfiguracji IIS w trakcie działania serwera. W zależności od opcji mogą być dynamicznie wykrywane zmiany w metabazie (pliku XML) który określa konfigurację serwera. Administrator ma do wyboru - albo korzystać z administracyjnego GUI, albo ręcznie edytować plik tekstowy z konfiguracją. WAS decyduje także o ew. zatrzymaniu lub uruchomieniu wątka roboczego (który np. długo nie był używany). Metabaza jest zapisywana w postaci XML - IIS 6.0 może zapisywać historię konfiguracji serwera, tak że administrator może bez trudu wycofać zmiany. Równocześnie dzięki XML-owi wszystkie ustawienia można zapisać do pliku (np. - konfiguracje katalogów wirtualnych).

W IIS 5 dostępne były 2 sposoby izolacji aplikacji WWW działających na serwerze. Aplikacja mogła działać jako oddzielny proces, albo wszystkie aplikacje WWW były gromadzone w jednym procesie (w takim trybie znacznie mniejsze jest zużycie zasobów). W IIS 6.0 dostępny jest dodatkowy model izolacji aplikacji. Można stworzyć dodatkową instancję „zestawu” - tzw. pulę, czy „web garden”. Proces inetinfo.exe (główny proces serwera WWW) jest zupełnie oddzielonym procesem, który nie zawiera żadnego kodu aplikacji WWW uruchamianych na IIS. W ten sposób znacznie zwiększona została stabilność serwera - praktycznie nie jest możliwe, by błędnie napisana aplikacja spowodowała „zawieszenie” inetinfo.exe. Także znacznie zmniejszone zostało ryzyko naruszenia uprawnień - można dla każdej puli przypisać inne uprawnienia.

Warto tu wspomnieć, że ASP.NET wyposażone jest we własne mechanizmy tworzenia puli procesów i jej obsługi. Jeżeli jednak aplikacja ASP.NET uruchamiana jest na serwerze IIS 6.0, wtedy wykorzystywane są mechanizmy Windows 2003 Server a nie .NET.

Wydzielenie wątków roboczych zwiększyło elastyczność konfiguracji serwera WWW - można dowolnie tworzyć pule i grupować określone serwisy WWW w wybranych, oddzielnych procesach. Konfigurując pulę można ustawiać np. maksymalny rozmiar pamięci, jaka będzie dostępna dla danej puli, czy też określić sytuacje, w których błędnie napisane aplikacje (zużywające za dużo zasobów) będą automatycznie restartowane. W IIS 6.0 można także podać ile procent mocy procesora mogą maksymalnie zająć wątki robocze działające w ramach puli.

Jednak, jeżeli zachodzi taka potrzeba, administrator może włączyć tryb zgodności z IIS 5.0 - może to być przydatna opcja, jeżeli ten model izolacji jest wymagany przez aplikacje, które są uruchamiane na danym serwerze.

0x01 graphic

Idea “web garden” jest mechanizmem, który pozwala bardziej efektywnie skorzystać z możliwości wieloprocesorowych serwerów. Koncepcyjnie mechanizm ten przypomina farmę serwerów - ale jest to „farma” uruchamiana w ramach pojedynczej maszyny. Jeżeli 2 lub więcej procesy są uruchamiane w ramach określonej puli, taki zestaw traktowany jest jako pewna całość (stanowi „web garden” - gdzie jest określona np. maksymalna liczba równoległych wątków roboczych). Równocześnie taki podział pozwala osiągnąć znacznie lepszą skalowalność (a co za tym idzie - lepsze wykorzystanie infrastruktury informatycznej)

Upraszczając, można powiedzieć, że zainstalowany na tym samym serwerze IIS 6.0 będzie w stanie obsłużyć większą liczbę równoległych żądań niż IIS 5.0.

Rozbudowana autoryzacja

W IIS 6.0 duży nacisk został położony na mechanizmy związane z bezpieczeństwem. Domyślnie, instalowany serwer jest serwerem „statycznych” plików HTML. Każde dodatkowe rozszerzenie musi być ręcznie odblokowane w konfiguracji serwera. Sam proces IIS działa domyślnie na znacznie mniej uprzywilejowanym koncie niż miało to miejsce w IIS 5.0. To nowe konto NetworkService ma mniejsze uprawnienia niż np. SYSTEM. Może być wykorzystywane jako konto do uruchamiania usług sieciowych.

Administrator może dodatkowo przypisać określone prawa do każdej puli procesów (wątków) roboczych - w ten sposób jeszcze dokładniej może chronić serwer przed błędami wynikającymi ze złego napisania aplikacji WWW.

0x01 graphic

Wśród nowych opcji uwierzytelniania można włączyć autoryzację za pośrednictwem Passport - praktycznie aby witryna uruchamiana na serwerze Windows 2003 Server korzystała z mechanizmu zintegrowanej, ogólnoświatowej autoryzacji, wystarczy zaznaczyć jedną opcję w ustawieniach konfiguracyjnych IIS 6.0

Warto też dodać, że użytkownicy serwera FTP są izolowani od użytkowników WWW.

BITS

BITS (Background Intelligent Transfer Service) to nowy sposób przesyłania informacji przy wykorzystaniu protokołu HTTP. Jego głównym zastosowaniem jest taka transmisja plików, która w minimalnym stopniu obciąża serwer WWW i łącza sieciowe.BITS pozwala wykryć moment, gdy serwer nie jest obciążony i w tym momencie przesłać określone pliki na docelowe komputery. Technologia BITS składa się tak naprawdę z dwu składników - wsparcia po stronie serwera WWW, oraz specjalnego komponentu dostępnego po stronie klienckim, który zarządza listą plików „do ściągnięcia” z serwera WWW i obsługuje priorytety poszczególnych zadań. BITS monitoruje pakiety sieciowe i w momencie wykrycia mniejszego obciążenia rozpoczyna się przesyłanie informacji. BITS 1.0 dostępny jest już w Windows XP. Pozwala na ściąganie plików z serwera WWW. W Windows 2003 Server dostępny jest BITS 1.5, który pozwala także wysyłać pliki na serwer.

Mechanizm BITS jest idealny dla dystrybucji poprawek i innych plików które są potrzebne na stacji roboczej ale nie stanowią pierwszoplanowego procesu w sieci. Dzięki temu użytkownik nie zauważa spadku wydajności łącza sieciowego.

WebDav i WebDav Redirector

W Windows .NET Server można udostępniać pliki za pośrednictwem interfejsu WebDAV. Dzięki Distributed Authoring and Versioning, pracownicy zdalni mogą pracować na plikach udostępnianych przez serwer HTTP tak jakby były to normalne “udziały” Windows 2003 Server. Dzięki mechanizmowi WebDav Redirector (dostepnego np. w Windows XP), taki udział może być mapowany na dysk, czy też traktowany jak każda inna „ścieżka sieciowa”. A IIS - dysponuje rozszerzeniem, które w wydajny i bezpieczny sposób realizuje obsługę protokołu WebDAV.

UDDI

W ramach serwera IIS można uruchomić serwer UDDI - repozytorium usług Web, które można zarejestrować w wyszukiwarce UDDI, a następnie każdy, kto chce znaleźć daną usługę, może podać odpowiednie parametry wyszukiwania. Dzięki temu przedsiębiorstwo może zgromadzić w jednym miejscu informacje o wszystkich usługach Web napisanych przez wewnętrzny dział IT.

Przykład

Instalacja roli serwera aplikacyjnego

Aby zainstalować serwer aplikacyjny, najwygodniej jest skorzystać z Kreatora konfigurowania serwera.

  1. W pierwszym kroku należy wybrać pozycję “Serwer aplikacji (IIS, ASP.NET)” i nacisnąć Dalej.
    0x01 graphic

  2. W drugim kroku, należy określić, czy na serwerze mają być zainstalowane rozszerzenia FrontPage i czy ma być włączona technologia ASP.NET
    Rozszerzenia FrontPage pozwalają na skorzystanie z pewnych dodatkowych możliwości serwera Web - jak automatyczne budowanie indeksów, spisów treści itp oraz łatwiejsze publikowanie dokumentów ( i całych witryn) z poziomu pakietów programistycznych (Visual Studio 6.0 czy Visual Studio.NET) a także Office.
    ASP.NET to nowoczesna technologia przeznaczona do tworzenia rozbudowanych aplikacji WWW oraz usług Web.
    0x01 graphic

  3. Na koniec system wyświetla podsumowanie wyboru, a po kliknięciu Dalej - rozpoczyna instalację wybranych opcji.
    0x01 graphic

Po wykonaniu tych operacji, został zainstalowany podstawowy serwer WWW

W odróżnieniu od poprzednich wersji Windows - w Windows 2003 Server po dodaniu roli „serwera aplikacyjnego” zainstalowany został minimalny zestaw składników. Na przykład - nie został wgrany serwer FTP, czy serwer grup dyskusyjnych - te elementy można (w razie potrzeby) samodzielnie doinstalować wchodzą w aplet Kreator Składników Windows dostępny z poziomu „Dodaj/Usuń programy” w panelu sterowania.

Jak skonfigurować strony ASP

Domyślnie, po konfiguracji roli serwera aplikacyjnego, serwer WWW to serwer „statycznych” stron HTML, z ew. rozszerzeniami Front Page oraz ASP.NET.

Aby IIS mógł obsługiwać strony ASP oraz by można było skorzystać z mechanizm SSI (dołączania plików po stronie serwera WWW), administrator musi jawnie włączyć odpowiednie rozszerzenia serwera WWW.

Aby to zrobić, należy otworzyć konsolę Serwer Aplikacji (lub - Administracja IIS), po czym rozwinąć gałąź „Menedżer internetowych usług informatycznych”, wskazać dany komputer do zarządzania, po czym wybrać element Rozszerzenia usług sieci Web.

Zostanie otworzone specjalne okno, gdzie wymienione są wszystkie zainstalowane rozszerzenia.

Uwaga!

Administrator powinien włączać tylko te usługi, które naprawdę są potrzebne!

0x01 graphic

Dla każdej usługi można sprawdzić, jakie pliki obsługują dany mechanizm (po wybraniu przycisku Właściwości)

W przypadku, gdy na serwerze ma działać proces CGI, także trzeba go zarejestrować (wskazując dany plik wykonywalny i określając nazwę rozszerzenia). Program CGI to specjalny plik, który odpowiada za dynamiczne generowanie stron - niektóre starsze typy aplikacji WWW są realizowane w taki sposób.

Tworzenie nowego katalogu wirtualnego Web

W Windows 2003 Server, tak jak w poprzednich wersjach Windows, do zarządzania serwerem IIS można wykorzystać konsolę MMC. Jednak - równocześnie wszystkie operacje można wykonać z linii poleceń.

Aby stworzyć nowy katalog wirtualny WWW przy użyciu MMC, należy:

  1. Uruchomić Serwer Aplikacji (lub - Administracja IIS).

  2. Wskazać nadrzędną Witrynę sieci Web.

  3. Z menu podręcznego wybrać opcję Nowy - Katalog wirtualny.

  4. Wprowadzić nazwę katalogu, ścieżkę, oraz domyślne uprawnienia i utworzyć katalog wirtualny.

Te same operacje można wykonać z linii poleceń czy z poziomu skryptu. Na przykład, można kazać utworzyć katalog wirtualny Test w ramach domyślnej witryny instalowanej razem z IIS. Wystarczy w tym celu napisać:

E:\Documents and Settings\Administrator>iisvdir /create "Domyślna witryna sieci
Web" Test c:\Test\html

Trwa łączenie z serwerem...Gotowe.
GŁÓWNY = c:\Test\html
E:\Documents and Settings\Administrator>

Iisvdir to jest specjalny skrypt VBS, który realizuje różne operacje administracyjne na katalogach wirtualnych. Aby zobaczyć listę dostępnych opcji, należy napisać: iicvdir /?.

W Windows 2003 Server konfigurację serwera WWW można także wykonywać edytując ręcznie plik XML (plik konfiguracyjny znajduje się w \WINDOWS\system32\inetsrv).

Można także zapisywać ustawienia katalogu (czy - całej witryny) do pliku i potem utworzyć nowy element (np - na innym serwerze) dysponując takim plikiem z zapisaną konfiguracją. W tym celu z menu podręcznego można wybrać opcję „Zapisz konfigurację do pliku...” po czym wskazać lokalizację pliku i ew. określić, że ma on być zaszyfrowany.

0x01 graphic

Następnie, chcąc odtworzyć plik, można wybrać opcję np. Katalog wirtualny (z pliku) i wskazać ten zapisany plik. Zostaną odtworzone wszystkie ustawienia danego obiektu.

Konfiguracja rozszerzeń FrontPage

Rozszerzenia FrontPage są konfigurowane z poziomu specjalnej witryny WWW. Aby ją uruchomić, najprościej jest wejść we właściwości danej witryny sieci Web (po wybraniu odpowiedniej pozycji z menu podręcznego w konsoli MMC), po czym przejść na zakładkę „Rozszerzenia serwera w wersji 2002” i kliknąć na przycisk ustawienia.

0x01 graphic

Zostanie otworzona przeglądarka internetowa, gdzie można ustawić:


1

11



Wyszukiwarka