Z myślą o początkujących webmasterach pokaże dziś jak uruchomić serwer WWW z obsługą języka PHP i bazami danych MySQL. Platforma taka jest potrzebna zarówno do testowania czy modyfikowania znanych systemów CMS (z ang. Content Management System – System Zarządzania Treścią), jak i do prac nad własnymi skryptami PHP. Może ona także posłużyć jako w pełni funkcjonalny serwer WWW podłączony do sieci (jednakże ze względów bezpieczeństwa zalecałbym większe zagłębienie się w temat – tutaj natomiast będziemy trzymać się podstaw).

Istnieją gotowe pakiety pod system Windows typu krasnal, ale z czasem może się okazać, że przyniosą nam więcej problemów niż korzyści. Dla przykładu MySQL wbudowany w znany pakiet WebServ ma duże opory, gdy chcemy nim zarządzać spod windowsowej konsoli, sama zaś konsola tegoż pakietu w standardowej konfiguracji nie ma w ogóle przyjemności łączyć się ze zdalnym hostem. Z tych i innych powodów zalecam stosowanie oryginalnych pakietów, tym bardziej, iż są one darmowe i można je bez problemu pobrać ze strony producenta.

apache-http-server-logo

Pierwszym krokiem będzie instalacja serwera Apache. Jest to zdecydowanie najpopularniejszy serwer WWW, a jego instalacja w systemie Windows jest chyba nawet prostsza od instalacji choćby popularnego komunikatora Gadu Gadu. Pakiety instalacyjne pobrać można ze strony producenta httpd.apache.org Wybieramy paczkę dla systemu Windows – początkującym polecam wybranie paczki o rozszerzeniu .msi (no mod_ssl) – i rozpoczynamy instalację, tak jak w przypadku każdego innego programu w Windows. Po drodze instalator zapyta nas o kilka szczegółów, więc wypełniamy:

apache

Instalator zapyta nas jeszcze o lokalizację. Domyślnie to C:\Program Files\Apache Software Foundation. Aby nie utrudniać sobie życia, ja osobiście polecam wybrać C:\apache

Po zakończeniu instalacji możemy zarządzać naszym Apache jak każdym innym programem w Windows. Wybierając Start -> wszystkie programy -> Apache HTTP Server z menu Control Apache Server możemy wystartować nasz serwer. Gdy serwer ruszy, powinna pokazać nam się dodatkowa ikonka w trayu. Wypadałoby teraz sprawdzić, czy wszystko działa. W tym celu w naszej przeglądarce internetowej wywołujemy adres http://localhost/. Jeśli Twoim oczom ukaże się tekst „It works!”, oznacza to, że wszystko działa 🙂 Teraz, gdy sprawdziliśmy działanie, możemy wejść do katalogu, w którym znajduje się plik index.html, czyli htdocs (jeżeli zainstalowałeś tak jak ja, będzie to C:\apache\htdocs) i usunąć go. W tym katalogu też publikujemy swoje pliki. Jak łatwo zauważyć, posiada on wiele opcji, jednak nie będę ich tu omawiał.

Jako ciekawostkę dodam, że osobiście Apache wykorzystuję do ułatwiania sobie życia: gdy trzeba wysłać coś znajomym, np. zdjęcia i filmiki z wczorajszej imprezy, które nierzadko zajmują 500 MB lub więcej. Wysyłanie takich plików pocztą e-mail z wiadomych przyczyn nie wchodzi w grę, z kolei wysyłanie na serwisy typu rapidshare wiąże się niejednokrotnie z koniecznością dzielenia ich na części, a od strony pobierającego pojawiają się problemy wynikające z konieczności oczekiwania. Rozwiązanie jest proste: w katalogu htdocs tworzymy sobie kolejny katalog, np. pliki i w nim umieszczamy paczkę, którą chcemy udostępnić innym. Powiedzmy, że będzie to paczka o nazwie zdjecia.zip. Adresem docelowym tej paczki będzie http://localhost/pliki/zjecia.zip, ale jako że localhost, jak sama nazwa mówi, to host lokalny, naszym odbiorcom musimy podać adres naszego komputera w sieci, czyli krótko mówiąc: adres IP. W przypadku, gdy nie znasz swojego adresu IP, wystarczy go sprawdzić, chociażby za pośrednictwem strony twojeip.wp.pl. Następnie w miejsce localhost wstawiamy nasz adres, czyli http://nasz_adres_IP/pliki/zjecia.zip. Wystarczy wysłać ten link wszystkim, którym chcemy udostępnić plik i nie wyłączać komputera. Oczywiście „wrażliwi” w tym miejscu stwierdzają, że takie praktyki są niebezpieczne, bo plik jest ogólnodostępny w sieci i rzeczywiście nie powinno się w ten sposób publikować poufnych danych, ale pomyślmy logicznie: kto wpadnie na pomysł, żeby wpisać właśnie taki adres w pasku przeglądarki? Jeśli nawet ktoś obcy poogląda sobie nasze wygłupy, to co się stanie, skoro i tak później sami umieszczamy te zdjęcia na stronach, blogach czy portalach społecznościowych. Wszystko zależy od tego, co taką metodą chcemy przesłać. Należy też zwrócić uwagę, że przy standardowych ustawieniach Apache podanie adresu konkretnego katalogu, np. http://nasz_adres_IP/pliki/, spowoduje wylistowanie katalogu pliki. Aby temu zapobiec, wystarczy umieścić w nim pusty plik index.html lub wyłączyć listowanie katalogów w opcjach Apache.

UWAGA: Aby serwer mógł być widoczny w internecie, konieczne jest posiadanie publicznego adresu IP. W przeciwnym razie pozostaje tylko alternatywa, jaką są serwisy typu NO-IP.

mysql Instalacja serwera MySQL, podobnie jak serwera Apache, nie powinna sprawić jakichkolwiek problemów, gdyż sprowadza się ona do pobrania instalatora [Windows (x86] ze strony http://dev.mysql.com/downloads/. Polecam stosowanie pakietów stabilnych, ponieważ wersje beta publikowane są z myślą o zaawansowanych użytkownikach i mogą zdarzać się nieoczekiwane problemy. Proces instalacji sprowadza się praktycznie do klikania next, jednak polecam dokładne czytanie opcji instalatora. Ja osobiście, dla zachowania porządku w plikach, instaluję MySQL w katalogu C:\mysql. System MySQL powinien być dodany do autostartu i uruchamiać się podczas każdego startu systemu Windows. Wersji systemu MySQL jest kilka, tak samo jak i sposobów zarządzania bazami, jednak aby nie przedłużać, nie będę się tutaj zagłębiał w temat. Mi osobiście wystarcza konsola do tworzenia nowych baz i zarządzania nimi, ale jeśli ktoś chce, może zawsze sobie doinstalować najnowszego phpMyAdmin’a 😉

php_logo Następnym krokiem, jaki poczynimy, będzie doinstalowanie języka PHP. Na zainstalowanie php w środowisku Windows są zasadniczo dwa sposoby. Pierwszy: za pomocą instalera (nie zalecam). I drugi: że tak go nazwę, manualny 😀 Wszystkie potrzebne pliki, a właściwie gotową paczkę zip, możemy pobrać ze strony producenta http://www.php.net/downloads.php. Wypakowujemy pliki do dowolnego katalogu. Przykładowo tworzymy sobie na dysku C katalog php i wypakowujemy zawartość paczki do C:\php. W naszym katalogu odnajdujemy plik php5st.dll (zaznaczę, że w chwili pisania tego posta stabilna wersja to 5.2.x-x ) i ładujemy go do katalogu systemowego system32 (dla Windows XP będzie to C:\WINDOWS\system32). Analogicznie odszukujemy plik php.ini-dist, po czym kopiujemy go do katalogu C:\WINDOWS i zmieniamy jego nazwę na php.ini. Kolejnym krokiem, jaki będziemy musieli wykonać, jest edycja tegoż pliku. Jako edytor stanowczo nie polecam systemowego notatnika, gdyż edytowanie nim często kończy się problemami (do edytowania wszelkich plików polecam Notepad++). Definiujemy ścieżkę do katalogu rozszerzeń, znajdujemy opcję extension_dir i przypisujemy ścieżkę do katalogu ext, czyli extension_dir = „C:\php\ext”. Jeśli zainstalowaliśmy MySQL, musimy zdefiniować dodatkowe rozszerzenie, aby język ten mógł się komunikować z językiem PHP, a mianowicie sprawa jest prosta – musimy odnaleźć wiersze, które definiują dodatkowe rozszerzenia, czyli ;extension= a dokładnie będzie to ;extension=php_mysql.dll. Aby uruchomić rozszerzenie, usuwamy znak średnika z przodu „;” i gotowe 😀 Przydałoby się jeszcze przypisać ścieżkę do katalogu tymczasowego TEMP: znajdujemy session.save_patch i przypisujemy, dla Windows XP będzie to coś takiego session.save_patch = C:\WINDOWS\Temp. Nie będę tutaj pisał o dodatkowych opcjach, bo w końcu miało być o podstawowej instalacji. Tak więc zapisujemy wyedytowany plik. Ostatnim warunkiem, aby język php działał na naszym serwerze, jest dopisanie go do Apache poprzez edycję pliku konfiguracyjnego httpd.conf. Możemy to zrobić z poziomu menu start, ale prościej chyba jest odwiedzić odpowiedni katalog, czyli C:\apache\conf. Na końcu pliku dopisujemy:

LoadModule php5_module c:/php/php5apache2.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Znajdźmy wiersz DirectoryIndex informujący nasz serwer o domyślnej nazwie plików które mają być traktowane jako strona główna w danym katalogu. Domyślnie wygląda to tak: DirectoryIndex index.html. Dodaj tutaj index.php, zapisz, zamknij i gotowe 😀 Aby wszystko zaczęło działać, należy zrestartować serwer Apache.

Możemy teraz pisać własne skrypty lub modyfikować inne (zależy co kto lubi) na swoim lokalnym, że tak powiem, warsztacie, bez potrzeby wysyłania po każdej modyfikacji plików klientem ftp, a nawet i bez potrzeby połączenia z jakakolwiek siecią.

Jeśli moja praca przydała Ci się, czekam na komentarze 🙂