Artykuł pobrano ze strony
eioba.pl
Instalacja i konfiguracja Apache 2.2 z PHP 5.x pod Windows
XP
Instalowanie PHP 5 pod Apache 2.0 do bardzo trudnych nie należy. W związku z tym, iż moje
biurko dopalał Indianin 2.0 z Tresowanym Słoniem czwartej generacji, postanowiłem trochę
odświeżyć paczki, bo chyba się trochę zastałem.
OK, pora na meritum. Najpierw musimy zaopatrzyć się w niezbędne paczki:
Apache
PHP 5.2
W przypadku Apache’a ściągamy najnowsze dostępne binarki dla Windows (plik .msi; na stronie
dostępne jest stabilne wydanie). PHP ściągamy w postaci paczki ZIP.
Zaloguj się jako administrator (no, można jeszcze na ograniczonym, ale nie jest to takie
wygodne) i… instalujemy.
Zapraszamy Indianina do tipi
Zaczynamy od Apache’a. Po ściągnięciu pliku apache_2.2.x-win32-x86-no_ssl.msi (albo -ssl; w
naszym przypadku będzie to wersja bez SSL-a) uruchamiamy go dwuklikiem. Instruujemy
instalatora najczęściej za pomocą przycisku next/install, z dwoma wyjątkami: przy wpisywaniu
danych serwera (w “domowych” warunkach wpisujesz cokolwiek) oraz… przy zakończeniu
(przecież tam next już nie ma ;P).
Podczas instalacji będziemy mieli możliwość zmiany katalogu, w którym zostaną umieszczone
pliki serwera. Ustawmy ścieżkę na np. C:\serwer\apache. Potem popychamy tylko instalatora
przyciskiem next. “Mrugnie” parę okienek (oznaczają one startowanie usługi serwera) i w
międzyczasie firewall spyta (mam nadzieję, że masz :P), czy zezwolić na nasłuchiwanie na
porcie :80. Odpowiadamy twierdząco.
Otwieramy swoją ulubioną przeglądarkę (mam nadzieję, że jest to
Opera
;)) i wpisujemy
127.0.0.1. Powinna otworzyć nam się strona informująca o poprawnej instalacji Indianina.
UWAGA: może się zdarzyć, iż firewall nie zapyta o zezwolenie na nasłuch i nie uda się otworzyć
strony w przeglądarce. Taka sytuacja występuje dosyć często przy włączonym Skype podczas
instalacji. Wystarczy go wyłączyć i uruchomić usługę poprzez komendę net start apache2
wpisaną w Start-Uruchom. Jeśli pomimo to strona nie chce się otworzyć, może to oznaczać, że
jakaś inna aplikacja blokuje port. Wówczas musisz sprawdzić ustawienia wszystkich aplikacji,
które mogą blokować port. Pomocne może się przydać polecenie netstat -ab.
…sprowadzamy Słonia
Zakładam, że wszystko jest w porządku. Zatrzymujemy Apache za pomocą polecenia net stop
apache2. Pora teraz rozpakować pliki z PHP. Utwórz sobie folder C:\serwer\php i rozpakuj tam
ZIP-a. Do C:\Windows\system32\ skopiuj następujące pliki:
php5ts.dll
ntwdblib.dll (jeśli chcesz korzystać z MSSQL; w przypadku wersji 2005 Express musisz
skopiować
nowszą wersję
)
Następnie zmień nazwę pliku php.ini-recommended na php.ini.
Tresujemy Słonia
Teoretycznie moglibyśmy już przystąpić do podpięcia PHP w Apache’u jednak wcześniej
zatrzymam się na konfiguracji Słonika. W tym celu dwuklikiem edytujemy plik php.ini, o
którym już wspomniałem
Plik jest dosyć dobrze opisany, więc osoby obeznane z technicznym angielskim nie będą miały
problemów z jego edycją. Dla pozostałych omówię najważniejsze, moim zdaniem, sekcje:
display_errors = Off
Dyrektywa ta odpowiada za wyświetlanie błędów przy parsowaniu skryptów. Domyślnie jest
ustawiona na ukrywanie (ze względów bezpieczeństwa), ale uniemożliwi nam poprawianie
błędów. Zapewne będziesz tworzyć własne skrypty, więc utrudni to tylko pracę. Zmień Off
na On.
;error_log = filename
Opcja ta umożliwia zapisywanie wszystkich komunikatów o błędach do pliku. Wbrew
pozorom, naprawdę ułatwia życie, ponieważ w niektórych wypadkach w ogóle nie
zobaczymy błędów (np. podczas przekierowań). Usuń średnik na początku linijki i zamień
filename na ścieżkę do pliku, w którym mają być zapisywane “buraki” (np. “C:/serwer
/bledy.php.log”)
extension_dir = “./”
Ważne, o ile najważniejsze ustawienie. Definiuje ono, w którym katalogu znajdują się
rozszerzenia. Zazwyczaj domyślna ścieżka nie będzie zgadzała się z tym, co mamy na
dysku, więc zmień ją na “C:/serwer/php/ext/”
;extension=php_mbstring.dll…
Wpisy te określają, które rozszerzenia są włączone. Domyślnie, wszystkie są wyłączone. Nie
ma sensu włączania wszystkich, ponieważ są one ładowane przy startowaniu kompa.
Włączymy tylko kilka z nich: php_mbstring, php_bz2, php_gd2, php_imap (jeśli chcesz
obsługiwać odbieranie poczty e-mail w swoich skryptach), php_mysql (jeśli będziesz
korzystać z
MySQL
; wymagane jest również zainstalowanie samej bazy). Każde
rozszerzenie aktywujesz poprzez usunięcie średnika na początku linijki.
Zapisz zmiany w pliku.
Sprowadzamy Słonia do tipi
Możemy to zrobić na dwa sposoby: w trybie ISAPI bądź CGI. Upraszczając, ISAPI oznacza
załadowanie PHP jako wątek Apache’a. W trybie CGIPHP działa jako osobna aplikacja. Ma to
znaczenie dla bezpieczeństwa, które w przypadku CGI jest większe (proces nie zawiesi całego
serwera). Natomiast, w przypadku ISAPI generowanie stron jest dużo szybsze. W
zastosowaniach “domowych” polecam użycie trybu ISAPI. Opiszę oba:
ISAPI
Najpierw skopiuj plik php5apache2_2.dll z katalogu PHP do folderu bin Apache’a. Wejdź do
katalogu conf i zapomocą notatnika otwórz plik httpd.conf
Musimy teraz nakazać Apache’owi przetwarzanie plików z rozszerzeniem .php przez odpowiedni
moduł. W celu zachowania porządku, znajdź sekcję zaczynającą się od:
#
1.
# Dynamic Shared Object (DSO) Support
2.
#
3.
i na jej końcu dopisz:
LoadModule php5_module "bin/php5apache2_2.dll"
1.
AddType application/x-httpd-php .php
2.
CGI
Wpisz w tym samym miejscu, co dla ISAPI linijki:
ScriptAlias /php/ "c:/serwer/php/"
1.
AddType application/x-httpd-php .php
2.
Action application/x-httpd-php "/php/php-cgi.exe"
3.
Następnie znajdź linię:
Options Indexes FollowSymLinks
1.
i dopisz na jej końcu ExecCGI
Options Indexes FollowSymLinks ExecCGI
1.
Zmieniamy toporek
Właściwie, to by było na tyle - można by było już wystartować Apache’a, ale domyślne opcje są
trochę “niewygodne”.
Mając otwarty plik httpd.conf szukamy:
Listen 80, ServerName <nazwa>:80
Tym ustawiamy port, na którym Apache ma oczekiwać na połączenia. Jeśli coś nam nie
pasuje, to zmieniamy 80 na inną liczbę. W większości wypadków nie będzie to jednak
potrzebne.
#LoadModule rewrite_module modules/mod_rewrite.so
Od tego wpisu zależy, czy będziemy mogli skorzystać z tzw. “Przyjaznych URL-i”, np.
http://serwer/strona/dzial-86. To temat na osobny wpis, więcej
na stronie projektu Apache
i po polsku
na home.pl
. Usuń # rozpoczynający linijkę.
DocumentRoot “C:/serwer/apache/htdocs”
Tutaj ustawiamy, w którym katalogu mają znajdować się tworzone przez nas strony. IMHO,
lokalizacja niewygodna, więc zmieniamy, np. C:/serwer/strony.
DirectoryIndex index.html
Dyrektywa określa, które pliki mogą być stronami głównymi. Domyślna wartość
uniemożliwi nam otwieranie stron napisanych w PHP bez wklepywania index.php na pasku
adresu. Proponuję ustawić: DirectoryIndex index.html index.htm default.html default.htm
index.php
Zapisz zmiany i umieść pliki swojej strony w odpowiednim folderze (w naszym przypadku,
C:\serwer\strony). Na koniec budzimy Indianina (net start apache2) i odwiedzamy
127.0.0.1
.
PS. Razem z Apache dostajemy program służący do monitorowania stanu serwera. Za jego
pomocą możemy wystartować/zatrzymać/zrestartować usługę poprzez “wyklikanie”. Cały czas
rezyduje obok zegarka w postaci ikonki Apache.
Przełożyłem na chłopski rozum z
manuala
i dodałem coś od siebie.
Autor: Przemysław "eRiZ" Pawliczuk
Przedruk ze strony:
http://eriz.pc-inside.org/weblog/instalacja-i-konfiguracja-apache-22-z-php-
5x-pod-windows-xp-87.html
Artykuł pobrano ze strony
eioba.pl