Jestem zaangażowany w życie php.pl od niedawna. Zajmuje się recenzowaniem książek. Programuje w PHP od ponad dwóch lat, ostatnio pracuję również z językiem C#.
W wolnych chwilach gram na gitarze (elektryczna/akustyczna/klasyczna).
Korzystając z systemów rodziny Windows, czasem zauważamy przeróżne aplikacje i usługi, o których wcześniej nie mieliśmy pojęcia. Okazuje się, że w zarówno Windowsowi XP jak i rodzinie Server zaimplementowano usługę IIS. Być może nigdy nie zastanawialiście się, cóż to za tajemniczy skrót. Otóż są to Internetowe Usługi Informacyjne (ang. Internet Information Services), a w przełożeniu na 'nasze' - serwer WWW Microsoft'u. W tym artykule postaram się Wam przybliżyć obsługę i konfigurację zarówno IIS, jak współpracującego z nim PHP.
Na wstępie chciałem oznajmić, że jeśli jesteś szczęśliwym posiadaczem systemu Windows 2000/2003 lub XP, a nie dostrzegasz nigdzie narzędzia 'Menedżer internetowych usług informacyjnych (IIS)', to najwyraźniej nie są one zainstalowane. W tym celu wybierasz zakładkę 'Zainstaluj składniki systemu Windows' w oknie Dodaj/usuń programy. Rozwijamy element Serwer Aplikacji i wybieramy "Internetowe Usługi Informacyjne". Następnie, poproszeni przez system o włożenie płyty CD Windows, wykonujemy ową czynność i czekamy, aż instalacja dobiegnie końca.
Mając zainstalowany IIS, musimy go teraz skonfigurować. Tutaj sprawa jest bardzo prosta - wszystko się odbywa za pośrednictwem bardzo przyjaznego narzędzia "Menedżer internetowych usług informacyjnych". To właśnie to będzie teraz menadżerem naszego serwera. Po wyborze witryny sieci Web klikamy prawym klawiszem myszy na jej ikonie i wybieramy właściwości. Skoro serwer już jest, to należy go nakierować na naszą witrynę. I teraz stajemy przed wyborem - albo to nasza witryna przyjdzie do serwera, albo serwer przyjdzie do niej. Jeśli zdecydujemy się na pierwszą opcję, to pliki naszego serwisu przenieść należy do katalogu [C]:\Inetpub\wwwroot. W przeciwnym wypadku wybieramy zakładkę "Katalog macierzysty" i w pole ścieżka lokalna wpisujemy nasz katalog zawierający stronę.
Kolejnym ważnym elementem, który znajduje się w tej zakładce są uprawnienia. I bez względu na lokalizację naszej strony zaznaczamy Odczyt, Indeksuj ten zasób oraz Rejestruj wizyty. Jeśli chcemy, aby było możliwe przeglądanie struktury katalogów, w których nie ma index’u, możemy zaznaczyć także Przeglądanie katalogów.
Wiele firm hostingowych chwali się, że posiadając u nich serwer możemy używać własnych stron błędów. Mając IIS również możemy zmieniać wszelkie strony błędów. W tym celu wybieramy zakładkę Błędy niestandardowe, a tam mamy już dostęp do interesujących nas komunikatów.
Serwery te nie powinny sobie przeszkadzać, o ile nie będą pracować na tym samym porcie. Domyślnie IIS pracuje na porcie 80, czyli tak samo jak Apache. Aby zmienić port serwera, należy w oknie Właściwości naszej strony przejść do zakładki Witryna sieci Web, a następnie zmienić port, który wprowadzany jest w polu Port TCP.
Właściwie mając instalator PHP, możemy zaczynać. Podczas instalacji postępujemy zgodnie z wskazówkami. Podczas wyboru serwera wybieramy IIS 6.0. Wówczas PHP zostanie skonfigurowany pod kątem serwera firmy Microsoft.
Teraz najważniejsze, czyli integracja PHP z IIS. Dzięki naszemu menadżerowi sprawa staje się dziecinnie prosta. Wybieramy dobrze nam znaną zakładkę "Katalog macierzysty". Tam, w sekcji "Ustawienia aplikacji", w polu "Nazwa aplikacji" wpisujemy ścieżkę do pliku php-cgi.exe. Domyślnie jest to [C]:\PHP\php-cgi.exe. Bardzo ważne jest ustawienie uprawnień dla aplikacji. Z menu rozwijanego wybieramy opcję "Tylko skrypty". W przeciwnym wypadku aplikacja będzie mogła wykonywać pliki wsadowe, co jest bardzo poważnym zagrożeniem.
Pozostaje nam kwestia nazwy pliku index. Domyślnie, IIS nie obsługuje rozszerzenia .php, zatem należy go dodać. W tym celu przechodzimy do zakładki "Dokumenty", a tam zaznaczamy (o ile do tej pory było wyłączone) pole "Włącz domyślną stronę zawartości". Następnie przycisk "Dodaj" i wpisujemy index.php. Aby plik index.php miał większą siłę niż np. index.htm przenosimy go na samą górę listy.
Takie ustawienia zachowujemy i teraz możemy cieszyć się serwerem IIS współpracującym z PHP. A do wszystkiego mamy poprzez adres http://localhost(:ewentualnie_port).
Litości! Po jakiego grzyba instalować jeszcze Apache dodatkowo skoro sam IIS bez problemu jest w stanie obsłużyć jednocześnie i ASP i PHP i kupę innych rzeczy!
Sam wolę Apache, ale takie rozwiązanie jest po prostu do bani, a IIS nie jest taki zły. Stawiając to na jednym serwerze odpada nam zabawa z portami i ustawieniami dwóch serwerów.
Wyobraźcie sobie że sam Microsoft wziął się za to i zrobił "ichniejsze" FastCGI. :-)
Polecam stronkę http://php.iis.net/
Jedyne co chcialbym dodac od siebie to to iz na Win XP jest ISS 5.1 a na 2k3 Server jest 6.0 ktore sie troche roznia od siebie konfiguracja. Sam artykul strasznie po łebkach napisany i malo dokladny.
Artykuł przydatny, jednak u mnie pojawił się pewien problem.
Otóż postępowałem zgodnie z instrukcjami, a jednak nie moge wykonywać skryptu php :/
Przy wpisaniu adresu localhost/php/index.php jestem proszony o podanie nazwy uzytkownika i hasla dla "". Czy ktos moze mi powiedziec dlaczego tak sie dzieje?
Pozdrawiam
Strasznie pobieżnie napisany artykuł, który właściwie nic nie wnosi, a szkoda, bo temat ciekawy i wart szczegółowego przybliżenia.