Internet Information Service (IIS) firmy Microsoft jest połączeniem pomiędzy klientem a serwerem używanym w rozwiązaniach korzystających z przeglądarek internetowych i intranetowych. W tym typie rozwiązań pojęcie klient oznacza przeglądarkę, na przykład Microsoft Internet Explorer, Netscape Navigator czy jakąś inną. Serwer oznacza kombinację narzędzi i aplikacji, których używamy do tworzenia zawartości strony. W przypadku niektórych serwisów WWW zadania IIS będą ograniczały się do wysyłania statycznych bloków HTML; gdzie indziej IIS będzie odgrywał znacznie większą rolę, ułatwiając komunikację pomiędzy mnóstwem zasobów na twoim serwerze.
Rysunek 2.1 pokazuje kolejne kroki żądania dostępu w tym środowisku klient-serwer. Omówimy ten proces dokładniej w rozdziale 4, teraz przyjrzyjmy się jedynie udziałowi serwera IIS. Użytkownicy wpisują w swojej przeglądarce żądanie dostępu do strony znajdującej się na twoim serwerze. Żądanie jest przesyłane przez Internet do twojego serwera, a następnie do IIS. IIS wyszukuje żądaną stronę, a następnie, w oparciu o nazwę znalezionego pliku decyduje o tym, co należy z nią zrobić. Jeśli plik ma rozszerzenie oznaczające konieczność przetworzenia go przez twój komputer, np. .asp, to IIS przetworzy kod tej strony.
Rysunek 2.1. Kolejne kroki generowania żądania przez przeglądarkę
To przetwarzanie może dotyczyć również innych składników. Jeśli kod wymaga połączenia z SQL Server w celu wyszukania jakiejś danej, tworzona jest kopia potrzebnych składników. Kiedy kod potrzebuje jakiegoś programu graficznego do wygenerowania wykresu, odpowiedni składnik jest uruchamiany. Kiedy kod wywołuje jeden z twoich własnych składników, również zostanie stworzona jego kopia.
Wynik kodu i wszystkie składniki pobrane dla tej strony są wysyłane z powrotem do przeglądarki, która żądała dostępu do strony. Następnie przeglądarka dokonuje analizy składniowej przysłanego kodu i wyświetla zawartość strony. Jeśli strona nie ma rozszerzenia lub nazwy, która wskazywałaby na konieczność przetworzenia jej przez IIS, jest ona po prostu wysyłana do przeglądarki bez kopii składników oraz bez jakiegokolwiek przetworzenia.
Internetowy serwer informacyjny wersji 4.0 systemu Windows NT 4.0 jest dostarczany wraz z pakietem Option Pack systemu operacyjnego. Pakiet ten możesz pobrać za darmo z witryny WWW Microsoftu. Nowe kopie płyt CD z Windowsem 323v2119d NT również zawierają serwer IIS 4.0, możesz więc już mieć IIS uruchomiony na twoim serwerze - będziesz bowiem potrzebował przynajmniej wersji 4.0. Poprzednie wersje nie pozwalały na wykorzystanie wszystkich narzędzi i technik przedstawionych w tej książce. To, czy posiadasz zainstalowany Pakiet opcji Windowsa NT 4.0, możesz sprawdzić przeglądając odpowiedni folder, co pokazano na rysunku 2.2.
Rysunek 2.2. Folder Pakietu opcji Windows NT 4.0
Instrukcje dotyczące pełnej instalacji IIS również znajdują się na stronie internetowej Microsoftu. Dalsza część tego rozdziału dotyczy konfiguracji IIS z perspektywy twórcy stron. Nauczysz się pracy z Konsolą zarządzania Microsoftu, konfiguracji usługi WWW, dodawania kolejnych witryn, współpracy z aplikacjami ASP, stosowania i konfigurowania usługi FTP oraz monitorowania sprawności twojego internetowego serwera informacyjnego.
Konsola zarządzania Microsoftu (MMC - Microsoft Management Console) jest narzędziem używanym do konfiguracji IIS. MMC jest nowym elementem Windowsa NT używanym również podczas konfiguracji wielu innych zadań administracyjnych w środowisku NT. Narzędzie to działa przy użyciu modułów dodatkowych dla każdej aplikacji, która wykorzystuje konsolę MMC.
MMC stanowi szkielet do konfiguracji usług. Produkt wymagający od administratora użycia MMC podczas konfiguracji, dostarcza modułu dodatkowego do MMC. Moduł dodatkowy (ang. snap-in) prezentuje hierarchiczny widok obiektów programu usługowego wraz z działaniami, które można podjąć dla każdego z nich.
Aby wywołać konsolę MMC dla IIS, wybierz Menedżera usług internetowych z IIS firmy Microsoft pokazanego na rysunku 2.2, a wtedy zobaczysz konsolę zarządzania pokazaną na rysunku 2.3.
Rysunek 2.3. Konsola zarządzania MMC z modułem dodatkowym IIS w użyciu
Po lewej stronie znajduje się moduł dodatkowy IIS prezentujący listę hierarchiczną obiektów. Rozwijania i zwijania listy dokonujesz podobnie jak w oknie Eksploratora Windows, przez kliknięcie znaków plus lub minus. Kiedy klikniesz jeden z obiektów po lewej stronie okna, po prawej ukażą się wszystkie znajdujące się w nim pozycje.
Każdy obiekt może zawierać działania (akcje), które podejmuje się dla tego obiektu. Możesz przeglądnąć listę działań dla obiektu wybierając go i klikając przycisk Działanie (Action) znajdujący się w pasku narzędziowym, co pokazano na rysunku 2.4.
Rysunek 2.4. Menu Działanie w konsoli MMC
Każdy obiekt posiada również Właściwości (Properties), które są atrybutami obiektu. Aby przejrzeć właściwości obiektu, kliknij obiekt prawym przyciskiem myszy i wybierz Właściwości (Properties). Przeglądu właściwości możesz dokonać również klikając przycisk Działanie (Action) i wybierając Właściwości (Properties) lub naciskając ikonę Właściwości (Properties) w pasku narzędziowym.
Moduł dodatkowy w pasku narzędziowym zapewnia również realizację innych funkcji, które nie odnoszą się do określonego obiektu. Na przykład możesz przejrzeć zawartość Monitora wydajności lub Programu przeglądu zdarzeń, wybierając odpowiednią ikonę na pasku narzędziowym.
Internetowy serwer informacyjny zawiera w sobie między innymi usługę WWW. Ta usługa ma właściwości, które możesz modyfikować wpływając na sposób jej konfiguracji. Usługa ta zawiera wiele właściwości, które są również właściwościami danej witryny WWW. Kiedy tworzysz nową witrynę WWW, właściwości użyte przy jej tworzeniu są dziedziczone przez usługę WWW, tak więc konfiguracja usługi już na samym początku oszczędzi ci mnóstwa czasu i pracy, jeśli na twoim serwerze znajduje się wiele witryn WWW.
Aby otworzyć okno właściwości Usługi WWW w konsoli MMC, kliknij prawym przyciskiem myszy nazwę komputera zawierającego tą usługę, którą chcesz skonfigurować, a następnie wybierz Właściwości (Properties). Zobaczysz okno dialogowe pokazane na rysunku 2.5.
Rysunek 2.5. Dialog wyboru Właściwości głównych
Zwróć uwagę na pole wyboru Umożliwiaj dławienie przepustowości (Enable Bandwidth Throttling). Jeśli zaznaczysz to pole, udostępnione zostanie pole tekstowe znajdujące się poniżej. Możesz w nim określić wartość przepustowości sieci, którą chcesz wykorzystać dla usługi. Ta wartość jest wartością maksymalną, a nie zarezerwowanym poziomem przepustowości - oznacza to, że niezależnie od dostępnego aktualnie pasma przepustowości, twoja usługa może zająć maksymalnie taką jej wartość, jaką określono w polu tekstowym.
W polu Właściwości główne (Master Properties) wybierz Usługę WWW i kliknij przycisk Edytuj (Edit). Teraz powinieneś ujrzeć okno dialogowe właściwości głównych dla Usługi WWW, jak to pokazano na rysunku 2.6.
Rysunek 2.6. Właściwości Usługi WWW
Upewnij się, czy poruszasz się po zakładce o nazwie Witryna WWW (Web Site). Pierwszą rzeczą, jaką możesz tam wprowadzić jest opis usługi. Nie ma on wpływu na funkcjonowanie usługi, a służy jedynie twojej własnej identyfikacji. W samym środku okna właściwości możesz skonfigurować połączenia. Tutaj możesz zezwolić na równoczesne połączenie z twoim serwerem IIS nieograniczonej liczby odwiedzających lub możesz ją ograniczyć. Możesz również określić Czas rozłączenia (Connection Timeout). Wartość ta określa czas (w sekundach), przez który użytkownik może pozostawać nieaktywny przed przerwaniem połączenia z twoją usługą WWW.
W dolnej części okna właściwości możesz zdecydować, czy chcesz umożliwić rejestrację, a jeśli tak, to jaki ma być jej typ. Rejestracja w Usłudze WWW pozwala na śledzenie poczynań użytkownika na twojej witrynie. Jeśli opcja rejestracji jest zaznaczona, każde żądanie dostępu od serwera WWW jest odnotowywane jako kolejna pozycja w bazie danych lub pliku tekstowym. Wprowadzane zapisy mogą zawierać datę i czas dostępu, adres IP komputera wysyłającego żądanie, plik będący obiektem zainteresowania i wiele więcej. Posiadasz cztery możliwości wyboru formatu dziennika zdarzeń: format pliku dziennika serwera IIS Microsoftu, wspólny format NCSA, rozszerzony format W3C oraz format dziennika ODBC.
Format pliku dziennika zdarzeń serwera IIS Microsoftu jest specyficznym formatem używanym jedynie przez IIS. Plik dziennika jest tekstowym plikiem ASCII. Kiedy klikniesz właściwości pliku tego typu, możesz wybrać jego lokalizację i określić częstość generowania nowego pliku.
Wspólny format pliku dziennika NCSA jest spotykany na serwerach internetowych, które nie należą do świata Microsoftu. Możesz potrzebować tego typu formatu podczas korzystania z niezależnego narzędzia analizy pliku dziennika.
Rozszerzony format pliku dziennika zdarzeń W3C jest podobny do poprzedniego formatu NCSA, ale posiada dodatkowe pola wykorzystywane podczas śledzenia. Możesz również wybrać, w których polach chcesz gromadzić informacje, a w których nie. Jeśli naciśniesz przycisk Właściwości (Properties) dla tego typu dziennika, ujrzysz okno Rozszerzonych właściwości rejestracji (Extended Logging Properties), pokazane na rysunku 2.7.
Rysunek 2.7. Okno dialogowe Rozszerzonych właściwości rejestracji
Klikając zakładkę Rozszerzone właściwości (Extended Properties) zobaczysz różne pola z nazwami zdarzeń, które możesz obserwować. Pole Nazwa użytkownika (User Name) jest prezentowane tylko wtedy, gdy dana osoba aktualnie jest zarejestrowana na twoim serwerze. Jeśli stroną odwiedzoną przez użytkownika na twojej witrynie była https://www.somewhere.com/search.asp?query=VB, adresem URL byłaby tutaj część www.somewhere.com/search.asp, a query=VB - polem zapytania URI. Pole Agent użytkownika (User Agent) zawiera informacje o przeglądarce, która wystosowała żądanie dostępu. Pole Odsyłacz (Referrer) zawiera nazwę strony, którą poprzednio odwiedził użytkownik, jeśli posiadała ona łącze ze stroną aktualnie odwiedzaną, z którego skorzystał użytkownik oraz jeśli przeglądarka obsługuje to pole. Jeśli żądany element strony to grafika, wtedy pole odsyłacza będzie obejmowało nazwę strony, na której ta grafika się znajduje.
Czwartym typem rejestracji jest rejestracja ODBC, która najbardziej obciąża zasoby, ale daje ci wspaniałe możliwości analizy. Podczas rejestracji ODBC każde żądanie dostępu do twojego serwera jest odnotowywane w bazie danych. Korzystasz z właściwości dla tego typu rejestracji w celu określenia nazwy DSN bazy danej, której będziesz używał. Musisz najpierw stworzyć tabelę, w której będą umieszczane zapisy żądań. Tabela ta musi być określonego formatu, jak to opisano dla SQL Server w tabeli 2.1.
Tabela 2.1. Definicje pól tabeli rejestracji ODBC
Nazwa pola |
Wartość |
ClientHost |
varchar(255) |
Username |
varchar(255) |
LogTime |
datetime |
Service |
varchar(255) |
Machine |
varchar(255) |
ServerIP |
varchar(50) |
ProcessingTime |
int |
BytesRecvd |
int |
BytesSent |
int |
ServerStatus |
int |
Win32Status |
int |
Operation |
varchar(255) |
Target |
varchar(255) |
Parameters |
varchar(255) |
Po stworzeniu tabeli, będziesz musiał określić nazwę DSN poprzez Administratora źródeł danych ODBC, do którego następnie stworzysz odniesienie w oknie dialogowym rejestracji ODBC. Zobacz rozdział 13, w którym znajdziesz dodatkowe informacje na temat tworzenia nazw DSN.
Przypis
Ponieważ rejestracja wymaga się zapisywania żądań do pliku lub bazy danych, korzysta się z zasobów. Jeśli nie używasz rejestracji, zasoby te możesz wyłączyć.
Wybierz zakładkę Wydajność (Performance) w oknie Właściwości usługi WWW (WWW Service Properties), a zobaczysz okno przedstawione na rysunku 2.8.
Rysunek 2.8. Właściwości wydajności usługi WWW
Dostrajanie wydajności (Performance Tunning) określa szacunkową liczbę połączeń w ciągu dnia. Nie musisz ustalać maksymalnego poziomu przewidywanych połączeń, jeśli nie jest ich zbyt wiele, ponieważ wtedy nie wykorzystasz odpowiednio twoich zasobów.
Zauważ, że pole wyboru Umożliwiaj dławienie przepustowości (Enable Bandwidth Throttling) jest niedostępne. Ta właściwość może być ustawiona jedynie dla konkretnej witryny WWW. Omówimy tą właściwość później, w podrozdziale "Właściwości witryny WWW".
Kiedy zaznaczone jest pole Umożliwiaj sprawdzenie aktywności HTTP (HTTP Keep-Alive Enable), przeglądarka może podtrzymywać połączenie przez kolejne żądania dostępu do strony zamiast zestawiać połączenie za każdym razem, kiedy pojawia się nowe żądanie dostępu. To pole jest zaznaczone domyślnie.
Jedną z najbardziej zaawansowanych funkcji IIS jest tworzenie filtrów ISAPI (ISAPI Filters), które pozwalają na podjęcie własnych, dostowanych do twoich potrzeb działań podczas wystąpienia niektórych zdarzeń związanych z IIS. Zamiast zwykłego przetworzenia zdarzenia przez serwer IIS, możesz wybrać inny program, który zajmie się tym zdarzeniem. Takie programy często napisane są w Visual C++ i również często umożliwiają dostosowanie procesu rejestracji. Jeśli więc nie odpowiadają ci formaty rejestracji omówione we wcześniejszym podrozdziale, możesz stworzyć swój własny.
Aby to uczynić musisz dodać filtr ISAPI w odpowiednim oknie zakładki. pokazanym na rysunku 2.9. Kliknij przycisk Dodaj (Add) i przeglądnij pliki biblioteki. Kolejność pojawiania się tych filtrów jest znacząca, ponieważ pierwszy znaleziony filtr zajmujący się zdarzeniem jest uruchamiany przed wszystkimi innymi. Kiedy pliki te zostaną załadowane, pozostają w pamięci, uważaj więc, aby nie zostały nadużyte.
Rysunek 2.9. Okno dialogowe filtrów ISAPI
Następnie przeanalizujmy właściwości Katalogu macierzystego (Home Directory), które pokazane zostały na rysunku 2.10.
Rysunek 2.10. Właściwości katalogu macierzystego usługi WWW
Zauważ, że niektóre punkty okna są niedostępne, ponieważ nie mają one zastosowania w odniesieniu do usługi WWW, są natomiast omówione nieco dalej w tym rozdziale podczas analizy właściwości witryn WWW oraz aplikacji ASP.
Kiedy ustawiasz właściwości usługi WWW pamiętaj, że tworzone przez ciebie witryny WWW będą dziedziczyć te właściwości - bądź więc ostrożny.
Uprawnienia dostępu (Access permissions) określają, co anonimowy użytkownik może zrobić z plikami. Kiedy wybrano pole Odczyt (Read), może on jedynie przeglądać pliki. Jeśli zaznaczono kratkę Zapis (Write), odwiedzający mogą przekazywać pliki do serwera.
Możesz zaznaczyć pole wyboru Dostęp do pliku dziennika zdarzeń (Log access), aby włączyć plik lub katalog do pliku dziennika. Jeśli zaznaczono Przeglądanie katalogu (Directory browsing), odwiedzający mogą zobaczyć zawartość katalogu w celu stwierdzenia, czy nie znajduje się w nim domyślna strona. Zazwyczaj nie będziesz chciał wybrać tej opcji, ponieważ odwiedzający mogą znaleźć stronę na twojej witrynie posługując się łączami zamiast przeglądać listę stron twojej witryny.
Jeśli zaznaczysz pole wyboru Indeksuj bieżący katalog (Index this directory), strony w witrynie lub katalogu będą podlegały automatycznego indeksowaniu, co spowoduje stworzenie bazy danych, która pozwoli użytkownikom przeszukać zawartość strony.
Reszta właściwości w tej zakładce zostanie omówiona w tym rozdziale nieco później.
Zakładka właściwości Dokumentów (Documents) usługi WWW ukazano na rysunku 2.11.
Rysunek 2.11. Zakładka właściwości dokumentów
Kiedy wpisujesz adres sieciowy taki jak https://www.something.com, faktycznie jesteś odsyłany do konkretnej strony na witrynie, przykładowo https://www.something.com/index.html lub https://www.something.com/default.asp. Te strony nazywane są stronami domyślnymi. Jeśli nie określisz strony, do której chcesz się dostać, serwer zakłada, że żądasz dostępu do domyślnej strony w witrynie lub katalogu; na wielu serwerach istnieje taka ustalona nazwa, jak index.html.
W serwerze IIS możesz określić nawet kilka nazw stron domyślnych. Robi się to przy użyciu przycisku Dodaj (Add) w zakładce Dokumenty (Documents). Gdy tylko nazwy zostaną określone, możesz ustalić kolejność, w której IIS powinien przeglądać strony domyślne. Na przykład ustalając kolejność taką jak na rysunku 2.11, IIS najpierw odszuka stronę default.htm. Jeśli jej nie znajdzie, w drugiej kolejności postara się odszukać stronę default.asp.
Jeśli zaznaczysz pole Udostępnij stopkę dokumentu (Enable document footer) i określisz nazwę strony, IIS wstawi tą stronę na dole każdej innej wywoływanej strony. Mógłbyś użyć tej funkcji do automatycznego dodawania informacji o prawach autorskich do zawartości wszystkich stron bez konieczności ich modyfikacji, określając jedynie w polu stopki dokumentu nazwę strony, w której taka informacja się znajduje.
Zakładka właściwości Błędów klienta (Customer Errors) pokazana została na rysunku 2.12.
Rysunek 2.12. Zakładka właściwości Błędów klienta
Kiedy próbujesz uzyskać dostęp do strony, która nie istnieje, otrzymasz wiadomość, która poinformuje cię o tym fakcie. Większość witryn WWW wyświetla tą wiadomość o błędzie w bardzo surowym formacie, ukazującym jedynie numer błędu i jego opis. Inne witryny natomiast prezentują bogatszą informację o błędzie, która nie daje ci odczuć, że nagle utknąłeś nie posiadając możliwości wyjścia z sytuacji. IIS daje możliwość powrotu do dowolnej, określonej strony, kiedy wystąpi jakiś błąd.
Na przykład zamiast prezentować odwiedzającemu sztywną wiadomość, że strona nie została odnaleziona, być może zechcesz dać im możliwość poszukania tej strony na twojej witrynie, lub udostępnisz im kontakt, przez który będą mogli poinformować cię o martwym łączu.
Możesz określić nazwę strony, którą chcesz wyświetlać, dokonujesz naciskając przycisk Edytuj właściwości (Edit Properties), podświetlając najpierw ten numer błędu, przy wystąpieniu którego strona ma być wyświetlona.
Jak widać na rysunku 2.13, na serwerze IIS możesz mieć wiele witryn WWW. Witryny na IIS są zaznaczone ikoną, która przedstawia dłoń trzymającą glob ziemski. W poprzednim przykładzie zainstalowanych było siedem witryn WWW: Default Web Site, Administration Web Site, NetStats2000, Travel Science, WindowsNTExpert, NationsInstitute oraz Invitations4Less.
Rysunek 2.13. Witryny WWW w serwerze IIS
Zauważ, że następna kolumna po opisie witryny nosi nazwę stanu. Ta kolumna zawiera informacje o tym, czy dana witryna aktualnie jest uruchomiona, spauzowana lub zatrzymana. Witryna uruchomiona jest osiągalna dla obecnych i nowych połączeń; spauzowaną mogą obejrzeć tylko ci, którzy już są połączeni; zatrzymana witryna jest wyłączona i niedostępna dla żadnych połączeń.
Aby uruchomić, zatrzymać bądź spauzować witrynę WWW, kliknij prawym przyciskiem myszy witrynę w prawej połowie konsoli MMC, a następnie wybierz Uruchom (Start), Zatrzymaj (Stop) bądź Przerwij (Pause), jak pokazano na rysunku 2.14. Tego samego dokonać można w menu Działanie (Action) lub w pasku narzędziowym, wybierając odpowiednią ikonę.
Rysunek 2.14. Uruchamianie, zatrzymywanie i pauzowanie witryny WWW
Możesz dodać witrynę WWW do serwera IIS przy użyciu Kreatora nowych witryn WWW. Dostęp do kreatora uzyskuje się klikając prawym przyciskiem myszy ten komputer z listy, na którym chcesz umieścić witrynę, a następnie wybierając pozycję Nowy (New) i Witryna WWW (Web Site), tak jak pokazano na rysunku 2.15.
Rysunek 2.15. Wybór Kreatora nowych witryn WWW
Kreator przeprowadzi cię przez proces dodawania nowej strony do serwera IIS. Pierwszym krokiem będzie wpisanie nazwy witryny (Rysunek 2.16). Ta nazwa będzie służyła identyfikacji witryny. W drugim kroku dokonasz konfiguracji adresu IP oraz numeru portu dla tej witryny WWW (Rysunek 2.17).
Rysunek 2.16. Pierwszy krok Kreatora nowych witryn WWW
Rysunek 2.17. Drugi krok Kreatora nowych witryn WWW
Po pierwsze należy wybrać adres IP dla twojego serwera. Jeśli serwer posiada pojedynczy adres IP, możesz jego wartość wybrać z listy. Jeśli serwer posiada więcej niż jeden adres IP, będziesz musiał wiedzieć, pod którym z nich zarejestrowana jest twoja nazwa domeny. Jeśli tego nie wiesz, skontaktuj się z twoim dostawcą Internetu bądź administratorem sieci w celu zasięgnięcia takich informacji.
Jak się przekonasz później, jedną z najbardziej znaczących zmian dokonanych w IIS wersji 4 jest możliwość umieszczenia wielu witryn WWW pod jednym adresem IP - tak więc rzeczywiście będziesz potrzebował tylko jednego adresu IP.
Numery portów powinny być pozostawione bez zmian. Znajdują się tam domyślne wartości, które wysyła przeglądarka. Jeśli wpiszesz inne numery portów, odwiedzający witrynę będą musieli znać te wartości, aby uzyskać do niej dostęp. Jeśli przykładowo nie zmienisz numeru portu TCP, goście mogliby odwiedzać stronę https://www.somewhere.com. Jeśli zmienisz ten numer na 9269, to goście będą musieli dodawać ten numer do adresu. Będzie on wyglądał następująco: https://www.somewhere.com:9269.
Zazwyczaj nie dokonuje się zmiany numeru, ponieważ byłoby to kłopotliwe dla twoich gości, którzy rzadko wprowadzaliby ten numer. Jest to jednak technika pozwalająca na zróżnicowanie sposobów dostępu do serwera sieciowego bez konieczności posiadania dodatkowej domeny. W ten sposób można na przykład administrować serwerem IIS zdalnie poprzez sieć WWW. Robi się to przy użyciu zwykłej nazwy domeny uzupełnionej odpowiednim numerem portu.
W trzecim kroku kreatora określasz fizyczne położenie plików witryny na twoim serwerze, co pokazano na rysunku 2.18.
Rysunek 2.18. Trzeci krok Kreatora nowych witryn WWW
Naciśnij przycisk Przeglądaj (Browse) aby wybrać katalog, który zawiera najwyższy poziom witryny WWW. Wszystkie pliki witryny muszą być umieszczone w tym katalogu i jego podkatalogach, chyba że stworzysz katalog wirtualny, omówiony dalej w tym rozdziale. Katalogiem najwyższego poziomu może być każdy katalog na twoim serwerze. Jeśli zaznaczysz pole Zezwól na dostęp anonimowy (Allow anonymous access), każdy gość będzie mógł dostać się do plików tej witryny; w innym wypadku gość będzie musiał posiadać konieczne uprawnienia dostępu do tego katalogu.
Przypis
Możesz modyfikować wartości ustawione podczas pracy kreatora również później, przeglądając właściwości danej witryny.
W ostatnim kroku kreatora dokonujesz wyboru uprawnień dostępu do witryny WWW. (Rysunek 2.19). Jeśli zaznaczysz pole Zezwól na odczyt (Allow Read Access), odwiedzający będą mogli przeglądać zawartość witryny. Kiedy zaznaczysz pole Zezwól na dostęp do skryptu (Allow Script Access), wtedy skrypty takie jak ASP mogą być uruchamiane na tej witrynie. Zauważ jednak, że możesz umieścić twoje skrypty w jednym folderze, a następnie zezwolić na ich uruchamianie jedynie w tym folderze, nie na całej stronie.
Rysunek 2.19. Czwarty krok Kreatora nowych witryn WWW
Zaznaczenie pola Zezwól na uruchamianie (Allow Execute Access) umożliwi aktywację plików wykonywalnych poprzez witrynę WWW. To pole nie jest zaznaczane zbyt często, ponieważ możesz nie chcieć, aby twoi goście uruchamiali aplikacje przez Internet.
Jeśli zaznaczysz pole Zezwól na zapis (Allow Write Access), odwiedzający będą mogli przekazywać pliki do witryny. Zaznaczenie pola wyboru Zezwól na przeglądanie katalogu (Allow Directory Browsing) umożliwi gościom zobaczenie listy nazw wszystkich plików w każdym z katalogów witryny WWW.
Kiedy klikniesz przycisk Zakończ (Finish) strona, którą utworzyłeś, jest dodawana do serwera IIS i powinna być widoczna w oknie konsoli MMC. Zauważ jednak, że po dodaniu witryny jest ona wyłączona. Będziesz musiał ją uaktywnić klikając jej ikonę prawym przyciskiem myszy i wybierając Uruchom (Start). Po tej ostatniej operacji, twoja witryna powinna być już dostępna.
Wiele właściwości witryny WWW jest dziedziczonych przez właściwości, które ustawiłeś w usłudze WWW opisanej wcześniej. Jeśli zmodyfikujesz je na poziomie witryny, wtedy właściwości witryny zastąpią właściwości dziedziczone.
W tym podrozdziale dokonamy przeglądu niektórych właściwości witryn WWW, a część nie podanych tutaj informacji znajdziesz nieco wcześniej.
Nową funkcją serwera IIS wersji 4.0 jest zdolność odwzorowywania więcej niż jednej witryny od jednym adresem IP. Aby to zrealizować, należy wykonać czynności przedstawione poniżej dla wszystkich witryn umiejscowionych pod jednym adresem IP. Kliknij prawym przyciskiem myszy witrynę w oknie konsoli MMC i wybierz Właściwości (Properties). Wybierz zakładkę Witryna WWW (Web Site), a wtedy pokaże się odpowiedni arkusz przedstawiony na rysunku 2.20.
Rysunek 2.20. Właściwości witryny WWW
Teraz naciśnij przycisk Zaawansowane (Advanced). Zobaczysz okno dialogowe, takie jak na rysunku 2.21. Zauważ, że zapis znajdujący się pod hasłem Wielorakie tożsamości dla witryny WWW (Multiple identities for this Web Site) wyszczególnia adres IP oraz numer portu, nie zawiera natomiast Nazwy nagłówka komputera macierzystego (Host Header Name), która jest nazwą domeny tej witryny. W to pole musimy wpisać odpowiednią wartość. Naciśnij Przycisk Edytuj (Edit) w celu wyświetlenia tego zapisu, a wtedy zobaczysz kolejne okno dialogowe pokazane na rysunku 2.22.
Rysunek 2.21. Zaawansowane właściwości witryny WWW
Rysunek 2.22. Okno dialogowe zaawansowanej identyfikacji witryny WWW
Wprowadź nazwę domeny w pole tekstowe Nazwy nagłówka komputera macierzystego (Host Header Name) i naciśnij OK. Teraz kiedy serwer IIS otrzyma żądanie dostępu do tej domeny, skieruje żądanie do właściwej witryny, pomimo że wiele witryn WWW jest umieszczonych pod jednym adresem IP.
Zwróć uwagę na inne właściwości przedstawione w oknie na rysunku 2.20. Możesz zmodyfikować nazwę witryny WWW, której używasz do jej identyfikacji.
Możesz również określić maksymalną liczbę połączeń z witryną w danym czasie. Jest to użyteczne w scenariuszu wielorakich domen, w którym możesz pobierać opłaty za umieszczenie witryny WWW na podstawie maksymalnej ilości dopuszczalnych połączeń.
Możesz również wybrać sposób rejestrowania żądań witryny. Pamiętaj o tym, że domyślnie ustawiana jest tutaj ta wartość, którą wprowadziłeś we właściwościach usługi WWW.
Teraz wybierz zakładkę Katalog macierzysty (Home Directory), jak to pokazano na rysunku 2.23. Pierwszym ustawieniem, jakiego możesz dokonać tutaj, jest położenie plików danej witryny. Zależnie od tego, na co się zdecydujesz, tak zmieni się część zakładki poniżej.
Rysunek 2.23. Właściwości katalogu macierzystego
Jeśli zdecydujesz się na umieszczenie witryny na tym komputerze, na którym aktualnie pracujesz, będziesz mógł wybrać lokalną ścieżkę oraz dowolną z poniżej wyszczególnionych właściwości. Jeśli wybierzesz katalog współdzielony, zostaniesz zapytany o podanie nazwy serwera oraz folderu współdzielonego w postaci \\[serwer]\[udział]
Możesz również wybrać readresowanie (redirection), co spowoduje, że podczas próby dostępu odwiedzającego do twojej witryny, zostanie on odesłany do jakiegoś innego miejsca w Internecie. Kiedy zdecydujesz się na tą opcję, zostaniesz poproszony o podanie adresu URL, do którego nastąpi przekierowanie. Nie możesz wtedy jednak ustawić innych właściwości w tej zakładce.
Ustawienia aplikacji (Applications Settings) zostały omówione w podrozdziale "Właściwości aplikacji" w dalszej części tego rozdziału.
Teraz, kiedy już dodałeś i skonfigurowałeś witrynę WWW, możesz przeglądać zawartość strony w podobny sposób, jak robi się to przy użyciu Eksploratora Windows. Możesz rozwijać listę katalogów, jak to pokazano na rysunku 2.24.
Rysunek 2.24. Eksploracja witryny WWW
Możesz przejrzeć zawartość każdego folderu twojej witryny. Te pliki i foldery odpowiadają plikom i folderom logicznym, które znajdują się w strukturze katalogu macierzystego tej witryny. Możesz również stworzyć katalogi wirtualne.
Katalogi wirtualne są folderami, które znajdują się poza fizyczną strukturą katalogów witryny WWW, ale chcesz je włączyć do witryny. Przypuśćmy na przykład, że masz witrynę zawierającą podkatalogi html i script. Adresujesz te katalogi poprzez określenie nazwy domeny, po której następuje nazwa odpowiedniego podkatalogu: https://www.somewhere.com/html/welcome.html. Posiadasz jednak na serwerze inny katalog zawierający pliki video, które chcesz udostępnić poprzez witrynę WWW w katalogu o nazwie avi. W bieżącej konfiguracji pliki te nie są dostępne dla twojej witryny, ponieważ znajdują się poza jej fizyczną strukturą katalogów. Możesz jednak stworzyć katalog wirtualny wskazujący katalog avi, który w ten sposób zostanie włączony w logiczną strukturę twojej witryny.
Aby stworzyć katalog wirtualny, kliknij prawym przyciskiem myszy ikonę witryny bądź folderu, gdzie katalog wirtualny ma być dodany i wybierz Nowy (New), a następnie Katalog wirtualny (Virtual Directory), jak to pokazano na rysunku 2.25. W ten sposób uruchomisz Kreatora nowego katalogu wirtualnego (New Virtual Directory Wizard). Jego pierwsze okno prezentuje rysunek 2.26.
Rysunek 2.25. Dodawanie katalogu wirtualnego
Rysunek 2.26. Kreator nowego katalogu wirtualnego - krok pierwszy
Pierwszą rzeczą, jaką należy wprowadzić jest nazwa dla katalogu wirtualnego, która będzie widoczna na twojej witrynie WWW. Innymi słowy, jeśli katalog fizyczny nosi nazwę PublicVideos, ale ty chcesz aby nazwa ta podczas dostępu do strony brzmiała Videos, taką właśnie nazwę wpiszesz w polu tekstowym pierwszego okna kreatora.
W drugim kroku kreatora określisz fizyczne położenie katalogu wirtualnego (Rysunek 2.27). Naciśnij przycisk Przeglądaj (Browse) i ustal lokalizację katalogu fizycznego.
Rysunek 2.27. Kreator nowego katalogu wirtualnego - krok drugi
W kroku trzecim (Rysunek 2.28) możesz określić uprawnienia dostępu do katalogu wirtualnego. Następnie naciśnij przycisk Zakończ (Finish). Od tej pory nowy katalog wirtualny, fizycznie umiejscowiony poza twoją witryną, staje się dostępny dla odwiedzających.
Rysunek 2.28. Kreator nowego katalogu wirtualnego - krok trzeci
Dowiedziałeś się już, w jaki sposób ustawiać właściwości dla samej usługi WWW. Wiesz również, jak to samo zrobić z poszczególnymi witrynami, których właściwości są dziedziczone z usługi WWW. Teraz dowiemy się jak ustawiać właściwości konkretnych folderów i plików witryny. Dostęp do właściwości uzyskuje się klikając dany folder prawym przyciskiem i wybierając Właściwości (Properties). Powinieneś wtedy ujrzeć okno dialogowe pokazane na rysunku 2.29.
Rysunek 2.29. Właściwości folderu
Właściwości folderu są dziedziczone przez właściwości witryny WWW, dlatego zwykle nie trzeba ich ustawiać. Dzięki nim jednak masz możliwość precyzyjnej konfiguracji twojej witryny. Możesz na przykład przeznaczyć jeden folder na przechowywanie skryptów. W takim wypadku ustalisz dla niego uprawnienia skryptu. Jeśli chcesz rejestrować dostęp do pojedynczego folderu, zrobisz to poprzez Właściwości folderu.
Każdy plik folderu również posiada swoje właściwości. Są one pokazane na rysunku 2.30. Właściwości pliku są dziedziczone z właściwości folderu, tak więc hierarchia dziedziczenia przedstawia się następująco: usługa WWW, witryna WWW, folder, a na końcu plik.
Aplikacja ASP to wymyślna nazwa, która określa po prostu grupę stron ASP ulokowanych w jednej strukturze katalogu, z którymi pracować możesz podobnie jak z aplikacją.
Sama strona ASP jest jednostką oddzielną, podobną do wyspy, która nie dzieli się informacjami zapamiętanymi w zmiennych z innymi stronami ASP. Strona będąca częścią aplikacji ASP może współużytkować i przetrzymywać zmienne trwałe poza pojedynczą stroną oraz zapamiętywać dane zakresowe poza nią. Przez zmienne trwałe rozumiemy takie zmienne, które pozostają dostępne po wyłączeniu strony. Zmienne zakresowe to takie zmienne, które są widoczne również poza tą stroną, która z nich korzysta. Tak więc przy użyciu aplikacji ASP możesz stworzyć zmienne, które będą istniały po opuszczeniu strony przez odwiedzającego oraz zmienne widoczne dla innych stron aplikacji.
Załóżmy, że masz dobrze zabezpieczoną stronę i chcesz, aby odwiedzający logowali się na witrynie, zanim będą mogli zobaczyć którąkolwiek ze stron. Mają logować się na pojedynczej stronie, a ty musisz być powiadomiony przez inne strony o fakcie logowania. Zrealizujesz to przy użyciu aplikacji ASP, ponieważ możesz w niej stworzyć zmienną UserID zapamiętującą numer identyfikacyjny użytkownika. Jeśli numer znajdzie się w zmiennej, będziesz wiedział jaki użytkownik logował się na witrynie.
W rozdziale pierwszym przyjrzeliśmy się stronie quizu. Strona pozwalała gościom odpowiadać na kolejne pytania, a my otrzymywaliśmy ich wyniki. Było to realizowane przez pojedynczą stronę. Jeśli chcielibyśmy rozwinąć to narzędzie, potrzebowalibyśmy dodatkowych stron w celu ewentualnego formatowania pytania. Być może pozwolilibyśmy przeglądać odpowiedzi na innej stronie. Strony musiałyby wtedy przekazywać sobie informacje dotyczące testu, jego wyników itd. Aby to osiągnąć, potrzebujemy aplikacji ASP.
Może chcesz stworzyć program usługowy, który pozwalałby na śledzenie poczynań odwiedzającego witrynę, jego przejścia pomiędzy stronami. Będziesz wtedy musiał w jakiś sposób identyfikować danego odwiedzającego, aby odpowiedni zapis umieścić w jakiejś tabeli wykorzystania witryny. Taka zmienna identyfikacji, która mogłaby się nazywać ConnectionID, byłaby przekazywana pomiędzy stronami. Aplikacja ASP pozwoli na realizację tego typu zadania.
Zdarzeniami nazywa się kody, które stanowią odpowiedź na podejmowane na stronie działania. Na przykład, w Visual Basic kliknięciu przycisku odpowiada zdarzenie Click; kiedy użytkownik nie wypełni pola tekstowego, uruchamiane jest zdarzenie Lost Focus. Konkretne działanie użytkownika pociąga za sobą wystąpienie zdarzenia.
Możesz napisać kod, który zostanie uruchomiony po wywołaniu zdarzenia. Kiedy odwiedzający kliknie przycisk, być może zamknie się formularz lub kiedy zostawi puste pole tekstowe, możliwe, że wtedy zostanie uruchomiony kod zatwierdzający jego wejście.
Jak się dowiemy szerzej z rozdziału ósmego przy okazji omawiania pliku global.asa, używając aplikacji ASP dysponujesz czterema zdarzeniami, po wystąpieniu których możesz uruchomić napisany przez siebie kod.
Możesz napisać kod dla zdarzenia Application_OnStart. Kod tej procedury działa za każdym razem, kiedy twoja aplikacja ASP jest uruchamiana. Uruchomienie aplikacji następuje w chwili, kiedy pierwszy odwiedzający uzyskuje dostęp do strony ASP.
Możesz stworzyć kod dla zdarzenia Session_OnStart. To zdarzenie działa, kiedy odwiedzający przegląda pierwszą stronę ASP. Różni się ono tym od Application_OnStart, że jest uruchamiane dla wszystkich gości strony, a nie jedynie dla pierwszego z nich.
Kolejnym zdarzeniem jest Session_OnEnd. Uruchamiane jest w chwili, gdy połączenie odwiedzającego z twoją witryną kończy się. Zdarza się to szczególnie wtedy, gdy czas sesji odwiedzającego upływa lub kiedy ustawiłeś koniec sesji programowo.
Ostatnim zdarzeniem dostępnym w aplikacji ASP to zdarzenie Application_OnEnd. Kod procedury uruchamiany jest w chwili, kiedy praca witryny WWW, której część stanowi aplikacja ASP, zostaje zatrzymana.
Teraz, kiedy już wiesz po co tworzy się aplikacje ASP, przyjrzyjmy się jak zrealizować to zadanie przy użyciu serwera IIS. Jak wspomniano wcześniej, aplikacje ASP składają się z katalogów oraz wszystkich znajdujących się w nich podkatalogów. Katalog może być częścią jednej tylko aplikacji ASP, tak więc jeśli katalog główny jest składnikiem innej aplikacji, a ty tworzysz nową aplikację przy użyciu tego katalogu, staje się on jej częścią.
Używając konsoli MMC, kliknij prawym przyciskiem myszy katalog zawierający pliki, które mają stanowić aplikację ASP i wybierz Właściwości (Properties). Upewnij się, czy poruszasz się po zakładce Katalogi (Directories), powinna ona wyglądać tak jak ta na rysunku 2.31.
Rysunek 2.31. Właściwości katalogu
Obszarem, który będziemy wykorzystywać znajduje się w dolnej części okna pod nazwą Ustawienia aplikacji (Application Settings). Kliknij przycisk Utwórz (Create), a wtedy uaktywnione zostanie pole nazwy aplikacji (Rysunek 2.32).
Rysunek 2.32. Okno właściwości katalogu z uaktywnionym polem nazwy
Wpisz nazwę twojej aplikacji ASP w polu tekstowym Nazwa (Name). Podana nazwa będzie służyła twojej własnej identyfikacji. Po naciśnięciu OK aplikacja ASP zostaje stworzona. Zauważ, że ikona katalogu zmieniła się z folderu na pole z małym, zielonym iksem w środku.
Aby usunąć aplikację ASP, po prostu wróć do właściwości katalogu i naciśnij przycisk Usuń (Remove).
Zwróć uwagę na pole wyboru Uruchom w osobnej przestrzeni pamięci (proces izolowany) (Run in separate memory space (isolated process)). Jeśli jest ono zaznaczone, twoja aplikacja ASP będzie działała poza serwerem IIS. Kiedy więc twoja aplikacja spowoduje jakiś poważny problem i będzie musiała być zamknięta, nie spowoduje to zawieszenia działania innych aplikacji czy samego serwera IIS. Negatywnym aspektem zaznaczenia tego pola jest konieczność wykorzystania dodatkowych zasobów.
Aby przejrzeć inne opcje konfiguracyjne dla aplikacji, kliknij przycisk Konfiguracja (Configuration) znajdujący się we właściwościach katalogu, a wtedy zobaczysz okno dialogowe, które prezentuje rysunek 2.33.
Rysunek 2.33. Odwzorowania aplikacji
Pierwsza zakładka zawiera Odwzorowania aplikacji (App Mappings). Te odwzorowania informują IIS o tym, jakie programy wspierające uruchomić, kiedy strona o określonym rozszerzeniu zostaje wywoływana. Kliknij na przykład rozszerzenie .asp znajdujące się na liście i wybierz Edytuj (Edit). Powinieneś wtedy ujrzeć okno ustawień pokazane na rysunku 2.34.
Rysunek 2.34. Odwzorowanie rozszerzenia aplikacji
Pierwsze pole okna zawiera nazwę programu, który będzie przetwarzał stronę. W drugim polu znajduje się rozszerzenie, które musi mieć strona, aby mogła zostać przetworzona przez określony program wykonywalny. W trzecim polu możesz wpisać dowolną metodę HTTP, której nie chcesz uruchamiać wraz z programem wykonywalnym. Dla ASP będziesz mógł zaznaczyć w polu wyboru, że jest to moduł skryptu. Pole wyboru Sprawdź czy plik istnieje (Check that file exist) nie jest potrzebna przy ASP.
Przypis
Jeśli kiedykolwiek znajdziesz się w takiej sytuacji, że podczas próby wyświetlenia strony ASP ujrzysz jedynie sam kod ASP, prawdopodobnie brak jest odpowiedniego zapisu w oknie pokazanym na rysunku 2.34. Musisz go dodać do twoich Odwzorowań aplikacji.
Przejdź teraz do drugiej zakładki okna - Opcji aplikacji (App Options), pokazanego na rysunku 2.35.
Rysunek 2.35. Opcje aplikacji
Pierwszą rzeczą, jaką możesz zrobić w tej zakładce to uaktywnienie stanu sesji. Jak wspomniano we wcześniejszym podrozdziale, pojęcie stanu odnosi się do możliwości zapamiętywania zmiennych, które są widoczne dla wszystkich stron poza bieżącą stroną aplikacji. Aby na to zezwolić, musisz uaktywnić stan sesji. Wtedy będziesz mógł ustalić czas trwania sesji. Ta wartość przedstawia w minutach czas, po upłynięciu którego sesja odwiedzającego uważana jest za zakończoną. Jeśli wartość ta będzie wynosić 20 minut, to przed upływem tego czasu odwiedzający będzie musiał przejść do następnej strony. W przeciwnym razie wszystkie informacje sesji zostaną utracone.
Jeśli zaznaczono pole Uaktywnij buforowanie (Enable buffering), strona ASP będzie musiała zakończyć całe przetwarzanie przed wysłaniem wyniku w postaci HTML do przeglądarki. Zaznaczenie pola wyboru Uaktywnij ścieżki nadrzędne (Enable parent paths) pozwala na adresowanie względne katalogu nadrzędnego. Pole Domyślnego języka ASP (Default ASP language) określa skrypt, z którego korzysta twoja strona ASP. Pole Czas trwania skryptu ASP (ASP Script timeout) zapamiętuje czas w sekundach, w którym strona musi wykonać cały swój kod, inaczej nastąpi jej wyłączenie. Może tak się zdarzyć z wielu powodów: serwer może być zbyt zajęty, ilość danych zwracanych jest zbyt duża lub kod natrafił na nie kończącą się pętlę.
Trzecia zakładka zawiera opcje usuwania błędów (Rysunek 2.36).
Rysunek 2.36. Opcje usuwania błędów aplikacji ASP
Jeśli zaznaczysz opcję Usuwanie błędów skryptu po stronie serwera (Server-Side Script Debugging), możesz ustawić punkty kontrolne dla twojego kodu i zatrzymać jego wykonywanie, a wtedy debugger przystąpi do jego analizy. Usuwanie błędów zostało omówione szerzej w rozdziale 12. Opcja Usuwanie błędów skryptu po stronie klienta (Client-Side Script Debugging) nie ma w tej chwili znaczenia. Późniejsze wersje serwera IIS mogą korzystać z tej opcji.
Kiedy w twoim kodzie pojawi się błąd, przeglądarce wysyłana jest wiadomość. Może ona zawierać dokładne informacje obejmujące numer błędu, opis oraz linię kodu, w której wystąpił. Aby skorzystać z tej funkcji, zaznacz pole Szczegółowa wiadomość o błędzie (Detailed error message). Drugą możliwością jest tutaj wyświetlenie ogólnej wiadomości tekstowej.
Oprócz witryn WWW, na serwerze IIS mogą również znajdować się witryny FTP, które umożliwiają łatwe pobieranie i przekazywanie plików serwera. Domyślna witryna FTP jest instalowana wraz z serwerem IIS. Aby zainstalować nową witrynę FTP kliknij prawym przyciskiem myszy ikonę komputera, na którym ma się ona znaleźć, a następnie wybierz Nowy (New) i Witryna FTP (FTP Site).
Konfiguracji nowej witryny FTP dokonuje się poprzez okno Właściwości (Properties), które pojawi się, kiedy klikniesz ikonę witryny prawym przyciskiem myszy. Wygląd okna prezentuje rysunek 2.37.
Rysunek 2.37. Właściwości witryny FTP
Zauważ, że podobnie jak to było w wypadku właściwości usługi WWW, również właściwości usługi FTP są dziedziczone przez witryny FTP. W tej pierwszej zakładce ustalasz informacje służące identyfikacji witryny. Możesz ustalić również maksymalną liczbę połączeń, a także czas rozłączenia. Czas rozłączenia (Timeout) określa w sekundach, kiedy nastąpi rozłączenie użytkownika, który pozostaje nieaktywny.
Tak jak w wypadku witryn WWW, możesz monitorować korzystanie z witryny FTP. Jeśli klikniesz przycisk Bieżące sesje (Current Sessions), ujrzysz listę aktualnych użytkowników witryny. W zakładce Konta bezpieczeństwa (Security Accounts), pokazanej na rysunku 2.38 określisz, kto będzie mógł uzyskiwać dostęp do witryny FTP.
Rysunek 2.38. Konta bezpieczeństwa FTP
Jeśli wybierzesz Dostęp anonimowy (Anonymous Access), każdy będzie mógł korzystać z twojej witryny FTP. Prawdopodobnie zezwolisz na dostęp do witryny jedynie niektórym odwiedzającym. Możesz to zrobić w dolnej części zakładki.
Inne właściwości witryny FTP pozwalają na określenie powitania i pożegnania, które będą widoczne dla odwiedzających witrynę. Możesz również określić nazwę fizycznego katalogu, który będzie pełnił rolę punktu wejścia. Ponadto możesz odrzucić bądź zaakceptować niektóre adresy IP.
|