Serwer WWW
WAMP
WAMP (Windows - Apache - MySQL - PHP) to zestaw oprogramowania stanowiący kompletną platformę serwerową WWW (dla systemu Linux - LAMP). Jednym z pakietów typu WAMP jest VertrigoServ. Ostatnia wersja (2.29) pochodzi z października 2012 roku. VertrigoServ zawiera aktualne komponenty i na tle innych zestawów (np. XAMPP, WebServ, Krasnal) jest bardzo pozytywnie oceniany przez użytkowników. Z witryny tego pakietu pobierz (np. na Pulpit) plik Vertrigo_229.exe (ok. 13 MB) i uruchom. Na komputerze zostanie zainstalowany lokalny serwer WWW, a w istocie kompletny zestaw składajacy się z serwera Apache, bazy danych MySQL i środowiska języka PHP (nie tylko - będzie także jeszcze kilka innych, przydatnych narzędzi).
Po uruchomieniu przy pomocy ikony 'VertrigoServ' na pulpicie, zestaw jest gotowy do pracy i w
podstawowych zastosowaniach nie wymaga żadnych zmian konfiguracji. Tak, czyli bez problemów,
będzie zapewne w Windows XP. W systemie Vista może się pojawić komunikat: "Serwer
bazy danych MySQL nie działa poprawnie. Sprawdź czy port na którym pracuje serwer (3306) jest wolny,
poprawność plików konfiguracyjnych, ustawienia firewalla" i zestaw będzie działać, ale bez
MySQL. Najprostszym rozwiązaniem jest trochę mniej wygodne uruchamianie pakietu: ikonę 'VertrigoServ'
trzeba kliknąć prawym klawiszem myszki i wybrać "Uruchom jako administrator". Jednak gdyby to nie
rozwiązywało problemu, nie ma rady, przez 'Panel sterowania' i 'Centrum zabezpieczeń' trzeba
się dostać do 'Zapory systemu Windows' i tam, w karcie 'Wyjątki' dodać program v_mysqld,
znajdujący się w lokacji
'C:\Program Files\VertrigoServ\Mysql\bin\v_mysqld.exe'
W przypadku Windows 7, przy pierwszym uruchomieniu Vertrigo Serv, zapora systemu sama
wygeneruje dwa okna 'Alert zabezpieczeń systemu Windows' dla zablokowanych programów 'v_apache.exe'
(Apache HTTP Server) i 'v_mysqld.exe' (MySQL), pozwalając jednocześnie na zdjęcie tej blokady.
Trzeba pamiętać że uruchomienie serwera może się okazać niemożliwe jeśli w systemie działa już
popularny komunikator Skype. Serwer Apache pracuje na porcie 80, a Skype często ma
włączoną opcję korzystania z tego portu jako alternatywnego. Trzeba to "odznaczyć" w konfiguracji
połączeń programu Skype.
W przypadku standardowej instalacji VertrigoServ (a rozsądnie jest taką zachować) katalogiem "domowym"
dla plików .html (.php) jest katalog 'www':
C:\Program Files\VertrigoServ\www
Jeli Vertrigo pracuje w Windows 7 w wersji 64-bitowej, będzie to lokacja w folderze przeznaczonym dla
programów 32-bitowych:
C:\Program Files (x86)\VertrigoServ\www
Adresem lokalnego serwera jest:
http://127.0.0.1/
lub:
http://localhost/
Po wpisaniu tego adresu w przeglądarce WWW zostanie uruchomiona startowa strona serwera
(index.php), jaka po instalacji znajduje się w katalogu 'www'. Można później zmienić nazwę
tego pliku aby w katalogu 'www' umieścić własny dokument startowy, lub utworzyć podkatalog dla
własnych plików.
Po uruchomieniu VertrigoServ, w pasku zadań pojawia się ikonka serwera otwierająca panel, który pozwala uruchamiać różne funkcje i moduły zestawu, oraz dostarcza bardzo wielu informacji o stanie programów pakietu i umożliwia wprowadzanie zmian w ich konfiguracji. Przejrzyj dokładnie wszystkie opcje tego panelu, dostępne ustawienia, pliki konfiguracyjne i informacje widoczne po wybraniu opcji "Pomoc". Z tego miejsca można też ("Strona lokalna") otworzyć w przeglądarce startową stronę "powitalną" (jeśli nie została zmieniona). Na stronie tej, w oknie "Narzędzia i linki" wybierz "Zobacz stronę phpinfo()".
Funkcja phpinfo() wyświetla
wszystkie szczegóły konfiguracyjne środowiska PHP oraz wiele informacji dotyczących samego
serwera WWW. Przeglądnij udostępnione informacje, zwróć szczególną uwagę na sekcję PHP
Variables. W pasku adresu przeglądarki zmodyfikuj wywołanie skryptu 'phpinfo.php' tak,
by odbyło się ono z dowolnymi parametrami, np.:
http://127.0.0.1/inc/phpinfo.php?imie=Jan&Nazwisko=Kowalski&id=12345
Będzie to równoważne przekazaniu do skryptu (metodą GET) trzech danych tekstowych. Sprawdź
nowe pozycje, które pojawiły się w sekcji PHP Variables.
Przy pomocy Web Developera wyłącz pamięć podręczną przeglądarki. Włącz okno narzędzia
Firebug, a następnie wybierz opcję Sieć i włącz panel sieci, jeśli jest wyłączony.
Z tego miejsca także można manipulować pamięcią podręczną (bufor przeglądarki). Otwórz ponownie
stronę startową VertrigoServ (http://127.0.0.1/). Przeanalizuj wszystkie udostępnione informacje
o kolejnych żądaniach wysłanych do serwera. Dodatkowe szczegóły dotyczące czasów stają się widoczne
po ustawieniu kursora myszki na paskach w obszarze Oś czasu. Sprawdź prezentowane informacje
po odświeżaniu strony, także w przypadku włączonej pamięci podręcznej. Włączenie przycisku
Trwałość pozwala zachować kolejne rezultaty. W podobny sposób zbadaj wywołanie 'phpinfo.php'
bez parametrów i z parametrami. Jeśli niepokoisz się dziwnymi parametrami przy odwołaniach do
obrazków (logo PHP i logo Zend), spróbuj uruchomić 'phpinfo' z parametrem np. takim:
.../phpinfo.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
To "Easter Egg", a właściwie jedno z możliwych "wielkanocnych jaj" - żart autorów PHP, który
normalnie ujawnia się 1 kwietnia (obok jest link "Easter Egg w PHP").
AJAX - Podstawy
Sprawdź przykłady
Sprawdź funkcjonowanie kolejnych przykładów ajax1.html ... ajax9.html. Przeanalizuj ich działanie posługując się narzędziem Firebug i jego panelem Sieć, przy wyłączonym buforze (pamięci podręcznej) przeglądarki. Zauważ że w widoku Wszystko pojawiaja się wszystkie wysłane żądania, ale teraz można obserwować osobno żądania HTML (widok HTML) i żądania AJAX (widok XHR). Sprawdź szczegóły wszystkich żądań, a przede wszystkim ich rezultaty, pokazane w karcie Odpowiedź.
Wykorzystaj Firebuga w inny jeszcze sposób. Otwórz panel HTML i badaj strukturę dokumentów, obserwując jej zmiany po otrzymaniu danych z serwera.
Przekonaj się na własne oczy, dlaczego twórcy serwisów bazujących na intensywnie wykorzystywanej technice AJAX mają niespokojny sen. Przy pomocy Web Developera wyłącz chwilowo obsługę JavaScript w przeglądarce i sprawdź działanie przykładowych stron.
Zmieniaj i testuj...
Pobierz Pliki Cw3 i rozpakuj. Pliki w katalogu ajax ulokuj tak, aby były dostępne dla
lokalnego serwera VertrigoServ, a więc najlepiej w .../www/ajax, czyli pod adresem:
http://127.0.0.1/ajax/
Sprawdź działanie ajaksowych stron z lokalnym serwerem. Dla wybranych przykładów wprowadzaj dowolne
modyfikacje i obserwuj rezultaty, wykorzystując także możliwości Firebuga.
Zadanie 3
Stronę ajax9.html (albo jeszcze lepiej - jakąś jej modyfikację lub bardziej zaawansowane rozwinięcie według własnego pomysłu) należy przebudować do postaci dokumentu o sensownej strukturze opartej na blokach (<div>). Jako wstępny szablon można wykorzystać dostępny tutaj dokument test.html, lub inną, własną konstrukcję podobnego typu. Stworzona strona powinna być poprawnym dokumentem w języku XHTML 1.0 Strict, z optymalnym wykorzystaniem stylów CSS. Celowe jest usunięcie kodu JavaScript z dokumentu, na rzecz odwołania do tego kodu zapisanego w zewnętrznym pliku.