Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00159 013869 11052101 na godz. na dobę w sumie
Apache. Receptury. Wydanie II - książka
Apache. Receptury. Wydanie II - książka
Autor: , Liczba stron: 328
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-1549-0 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> serwery internetowe >> apache
Porównaj ceny (książka, ebook, audiobook).

Czy wiesz, jaki serwer HTTP jest najpopularniejszy w sieci? Właśnie tak, jest to Apache! W lipcu 2008 roku jego udział w rynku wynosił blisko 50% (według Netcraft). Historia tego serwera sięga roku 1995, kiedy ukazała się jego pierwsza oficjalna wersja, oznaczona numerem 0.6.2. Cechy, które zadecydowały o sukcesie tego rozwiązania, to bezpieczeństwo, skalowalność, wielowątkowość i obsługa różnorodnych języków skryptowych.

Dzięki książce 'Apache. Receptury' zapoznasz się z gotowymi przepisami na rozwiązanie ciekawych, specyficznych oraz intrygujących problemów. Nauczysz się instalować serwer z różnych źródeł oraz na różnych platformach. Dowiesz się, w jaki sposób zwiększyć jego bezpieczeństwo, jak uruchomić serwery wirtualne oraz poprawić wydajność Apache. Autorzy książki pokażą Ci, jak uruchomić obsługę języków skryptowych, tak aby serwowane strony stały się dynamiczne. Cała wiedza zostanie przedstawiona w sprawdzony w tej serii sposób: problem - rozwiązanie - analiza.

Oto książka z najlepszymi przepisami na Apache!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Apache. Receptury. Wydanie II Autor: Rich Bowen, Ken Coar ISBN: 978-83-246-1549-0 Tytu‡ orygina‡u: Apache Cookbook: Solutions and Examples for Apache Administration (Cookbook) Format: 168x237, stron: 328 Czy wiesz, jaki serwer HTTP jest najpopularniejszy w sieci? W‡a(cid:156)nie tak, jest to Apache! W lipcu 2008 roku jego udzia‡ w rynku wynosi‡ blisko 50 (wed‡ug Netcraft). Historia tego serwera siŒga roku 1995, kiedy ukaza‡a siŒ jego pierwsza oficjalna wersja, oznaczona numerem 0.6.2. Cechy, kt(cid:243)re zadecydowa‡y o sukcesie tego rozwi„zania, to bezpieczeæstwo, skalowalno(cid:156)(cid:230), wielow„tkowo(cid:156)(cid:230) i obs‡uga r(cid:243)¿norodnych jŒzyk(cid:243)w skryptowych. DziŒki ksi„¿ce (cid:132)Apache. Receptury(cid:148) zapoznasz siŒ z gotowymi przepisami na rozwi„zanie ciekawych, specyficznych oraz intryguj„cych problem(cid:243)w. Nauczysz siŒ instalowa(cid:230) serwer z r(cid:243)¿nych (cid:159)r(cid:243)de‡ oraz na r(cid:243)¿nych platformach. Dowiesz siŒ, w jaki spos(cid:243)b zwiŒkszy(cid:230) jego bezpieczeæstwo, jak uruchomi(cid:230) serwery wirtualne oraz poprawi(cid:230) wydajno(cid:156)(cid:230) Apache. Autorzy ksi„¿ki poka¿„ Ci, jak uruchomi(cid:230) obs‡ugŒ jŒzyk(cid:243)w skryptowych, tak aby serwowane strony sta‡y siŒ dynamiczne. Ca‡a wiedza zostanie przedstawiona w sprawdzony w tej serii spos(cid:243)b: problem (cid:150) rozwi„zanie (cid:150) analiza. (cid:149) Sposoby instalacji serwera Apache (cid:149) Dodawanie funkcjonalno(cid:156)ci dziŒki modu‡om (cid:149) Mo¿liwo(cid:156)ci rejestracji zdarzeæ (cid:149) Konfiguracja serwer(cid:243)w wirtualnych (cid:149) Wykorzystanie alias(cid:243)w, przekierowaæ oraz przepisaæ (mod_rewrite) (cid:149) Zarz„dzanie dostŒpem do serwowanych zasob(cid:243)w (cid:149) Bezpieczeæstwo serwera Apache (cid:149) Wykorzystanie szyfrowanej transmisji - protok(cid:243)‡ SSL (cid:149) Zapewnienie wydajno(cid:156)ci (cid:149) Wykorzystanie jŒzyk(cid:243)w skryptowychOto ksi„¿ka z najlepszymi przepisami na Apache! Wydawnictwo Helion ul. Ko(cid:156)ciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl Spis treļci Przedmowa ..............................................................................................................................11 1. 2. Instalacja serwera Apache za pomocñ programu ApacheToolbox Instalacja serwera ....................................................................................................... 19 Instalacja serwera z pakietów dystrybucji Red Hat Linux 20 1.1. Instalacja serwera z pakietów dystrybucji Debian 1.2. 21 22 1.3. Instalacja serwera Apache w systemie Windows 27 1.4. Pobieranie plików Ēródäowych serwera Apache 1.5. Budowa serwera Apache z kodu Ēródäowego 29 30 1.6. 32 1.7. Uruchamianie, zatrzymywanie oraz ponowne uruchamianie serwera Apache 34 1.8. Usuniöcie serwera Apache 1.9. Której wersji serwera Apache uĔyè 35 37 1.10. Uaktualnienie serwera przy uĔyciu config.nice 38 1.11. Uruchamianie serwera Apache w momencie startu systemu operacyjnego 39 1.12. Przydatne opcje konfiguracyjne 1.13. Odnajdywanie plików serwera Apache 41 Instalacja typowego moduäu Instalacja moduäu mod_dav w systemie uniksowym Instalacja moduäu mod_dav w systemie Windows Instalacja moduäu mod_perl w systemie uniksowym Instalacja moduäu mod_php w systemie uniksowym Instalacja moduäu mod_php w systemie Windows Instalacja moduäu mod_ssl Instalacja moduĥów .....................................................................................................43 2.1. 44 45 2.2. 47 2.3. 49 2.4. 2.5. 51 52 2.6. 53 2.7. 54 2.8. Wyszukiwanie moduäów na witrynie modules.apache.org 2.9. 55 Instalacja moduäu mod_security 57 2.10. Dlaczego ten moduä nie dziaäa? 3 3. Rejestracja zdarzeħ .....................................................................................................59 62 63 65 66 67 67 3.1. Zwiökszenie szczegóäowoĈci zapisów dziennika zdarzeþ 3.2. Zwiökszenie liczby komunikatów o bäödach 3.3. Rejestracja zawartoĈci POST 3.4. Rejestracja adresu IP klienta äñczñcego siö poprzez serwer proxy 3.5. Rejestracja adresu MAC klienta 3.6. Rejestracja Cookies 3.7. Zaniechanie rejestracji Ĕñdaþ pobierania obrazów pochodzñcych ze stron lokalnych 3.8. Zmiana pliku dziennika zdarzeþ o okreĈlonej porze 3.9. Zmiana pliku dziennika zdarzeþ pierwszego dnia miesiñca 3.10. Rejestracja nazw komputerów zamiast ich adresów IP 3.11. Oddzielne pliki dzienników zdarzeþ serwerów wirtualnych 3.12. Rejestracja Ĕñdaþ proxy 3.13. Rejestracja komunikatów o bäödach róĔnych serwerów wirtualnych w róĔnych plikach 3.14. Rejestracja adresu IP serwera 3.15. Rejestracja stron, z których nadchodzñ Ĕñdania 3.16. Rejestracja nazw uĔywanych przeglñdarek 3.17. Rejestracja dowolnych pól nagäówka Ĕñdania 3.18. Rejestracja dowolnych pól nagäówka odpowiedzi 3.19. Rejestracja aktywnoĈci serwera w bazie danych MySQL 3.20. Rejestracja zdarzeþ w dzienniku systemowym 3.21. Rejestracja katalogów uĔytkowników 69 70 71 72 73 75 76 77 78 79 79 80 81 82 84 90 91 92 93 94 96 97 98 98 99 100 4. Serwery wirtualne .......................................................................................................87 88 4.1. Konfiguracja serwerów wirtualnych opartych na nazwach 4.2. Konfiguracja jednego z serwerów wirtualnych opartych na nazwach jako serwera domyĈlnego 4.3. Konfiguracja serwerów wirtualnych opartych na adresach 4.4. Konfiguracja jednego z serwerów wirtualnych 4.5. opartych na adresach jako serwera domyĈlnego Jednoczesne uĔycie serwerów wirtualnych opartych na adresach oraz na nazwach 4.6. Liczne serwery wirtualne obsäugiwane za pomocñ moduäu mod_vhost_alias 4.7. Liczne serwery wirtualne obsäugiwane za pomocñ reguä przepisania 4.8. Rejestracja zdarzeþ wszystkich serwerów wirtualnych 4.9. Podziaä pliku dziennika zdarzeþ 4.10. Serwery wirtualne oparte na portach 4.11. Ta sama zawartoĈè dostöpna pod kilkoma adresami IP 4.12. Definiowanie serwerów wirtualnych w bazie danych 4 _ Spis treļci 5. Aliasy, przekierowania oraz przepisania ................................................................. 103 103 105 106 109 110 110 111 113 114 5.1. Przyporzñdkowanie adresu URL do katalogu 5.2. Tworzenie dodatkowego adresu URL dla istniejñcej zawartoĈci 5.3. Przydzielenie uĔytkownikom ich wäasnych adresów URL 5.4. UtoĔsamienie kilku adresów URL za pomocñ pojedynczej dyrektywy 5.5. Przyporzñdkowanie kilku adresów URL do tego samego katalogu CGI 5.6. Tworzenie katalogów CGI dla kaĔdego uĔytkownika 5.7. Przekierowanie do innego miejsca 5.8. Przekierowanie kilku adresów URL w to samo miejsce 5.9. NierozróĔnianie wielkoĈci liter w adresach URL 5.10. WyróĔnianie skäadni kodu Ēródäowego PHP bez uĔycia dowiñzaþ symbolicznych 5.11. Wymiana ciñgów znaków w Ĕñdanych adresach URL 5.12. Zamiana informacji o ĈcieĔce na argumenty CGI 5.13. Odmowa dostöpu Ĕñdaniom pochodzñcym z obcych stron 5.14. Przekierowanie Ĕñdaþ pochodzñcych z obcych stron do strony z informacjami 5.15. Przepisanie na podstawie äaþcucha zapytania 5.16. Przekierowanie caäego lub czöĈci serwera do SSL 5.17. Zamiana nazw katalogów na nazwy serwerów 5.18. Przekierowanie wszystkich Ĕñdaþ do jednego serwera 5.19. Zamiana nazw dokumentów na argumenty programu 5.20. Przepisywanie elementów ĈcieĔki do ciñgu zapytania i odwrotnie 5.21. Przepisywanie nazwy serwera na nazwö katalogu 5.22. Przeksztaäcanie segmentów adresu URL w argumenty zapytania 5.23. UĔywanie dyrektyw AliasMatch, ScriptAliasMatch i RedirectMatch 115 117 117 118 119 120 121 122 123 123 124 125 126 126 6. Bezpieczeħstwo ......................................................................................................... 129 6.1. Wykorzystanie kont uĔytkowników do uwierzytelnienia dostöpu do zasobów WWW 6.2. Konfiguracja haseä jednorazowych 6.3. Wygasajñce hasäa 6.4. Ograniczanie wielkoĈci umieszczanych na serwerze plików 6.5. Ograniczenie pobierania obrazków ze stron znajdujñcych siö na innych serwerach 6.6. ēñdanie zarówno säabego, jak i silnego uwierzytelnienia 6.7. Zarzñdzanie plikami .htpasswd 6.8. Przygotowanie plików haseä uwierzytelniania typu Digest 6.9. RozluĒnienie ochrony w podkatalogu 6.10. Wybiórcze zniesienie ochrony 6.11. Autoryzacja za pomocñ informacji o wäaĈcicielu pliku 6.12. Przechowywanie poĈwiadczeþ uĔytkownika w bazie danych MySQL 130 132 133 135 137 138 139 141 142 144 146 147 Spis treļci _ 5 6.13. Dostöp do nazwy uĔytkownika uwierzytelnionego 6.14. Uzyskanie hasäa uĔytego do uwierzytelnienia 6.15. Ochrona przed atakami na hasäa typu brute-force 6.16. Uwierzytelnianie typu Digest i uwierzytelnianie typu Basic 6.17. Dostöp do poĈwiadczeþ osadzonych w adresach URL 6.18. Zabezpieczenie usäugi WebDAV 6.19. Uruchomienie usäugi WebDAV bez udzielenia zezwolenia na zapisywanie do plików uĔytkownikowi, z uprawnieniami którego dziaäa serwer 6.20. Ograniczanie dostöpu poprzez proxy do okreĈlonych adresów URL 6.21. Ochrona plików za pomocñ osäony 6.22. Ochrona plików serwera przed zäoĈliwymi skryptami 6.23. Nadanie prawidäowych uprawnieþ do plików 6.24. Uruchomienie serwera z minimalnñ liczbñ moduäów 6.25. Ograniczenie dostöpu do plików znajdujñcych siö poza katalogiem gäównym WWW 6.26. Ograniczenie metod dostöpnych dla uĔytkowników 6.27. Ograniczanie Ĕñdaþ zakresów 6.28. Obrona przed atakami DoS przy uĔyciu moduäu mod_evasive 6.29. Zmiana katalogu gäównego serwera Apache przy uĔyciu moduäu mod_security 6.30. Migracja do mechanizmów uwierzytelniania w wersji 2.2 6.31. Blokowanie dziaäania robaków przy uĔyciu moduäu mod_security 6.32. Uprawnienia tylko do odczytu i do zapisu w repozytorium Subversion 6.33. UĔywanie staäych przekierowaþ do ukrywania zablokowanych adresów URL 148 149 150 151 153 153 154 156 157 159 160 163 165 166 167 168 170 171 172 173 174 Instalacja SSL Instalacja SSL w systemie Windows 7. SSL ...............................................................................................................................177 177 179 179 183 185 187 188 189 7.1. 7.2. 7.3. Tworzenie samodzielnie podpisanych certyfikatów SSL 7.4. Tworzenie zaufanego oĈrodka certyfikacyjnego 7.5. Udostöpnianie czöĈci witryny WWW poprzez SSL 7.6. Uwierzytelnianie za pomocñ certyfikatów klientów 7.7. Wirtualne serwery SSL 7.8. Certyfikaty wieloznaczne 8. Treļë dynamiczna .......................................................................................................191 191 8.1. Uaktywnienie katalogu CGI 8.2. Uaktywnienie skryptów CGI w katalogach niewyznaczonych za pomocñ dyrektywy ScriptAlias 8.3. Wskazywanie dokumentu domyĈlnego w katalogu CGI 8.4. Wykorzystanie rozszerzeþ plików systemu Windows do uruchamiana skryptów CGI 193 194 195 6 _ Spis treļci 8.5. 8.6. Identyfikacja skryptów CGI na podstawie ich rozszerzeþ Sprawdzenie, czy obsäuga programów CGI jest skonfigurowana poprawnie 8.7. Odczyt wartoĈci z formularza 8.8. Uruchamianie programu CGI dla pewnych rodzajów treĈci 8.9. UĔycie SSI 8.10. Przedstawienie daty ostatniej modyfikacji 8.11. Doäñczenie standardowego nagäówka 8.12. Doäñczanie wyniku dziaäania programu CGI 8.13. Uruchamianie za pomocñ programu suexec skryptów CGI z uprawnieniami innego uĔytkownika Instalacja programu obsäugi moduäu mod_perl z serwisu CPAN 8.14. 8.15. Pisanie programów obsäugi moduäu mod_perl 8.16. Uruchomienie obsäugi skryptów PHP 8.17. Weryfikacja instalacji PHP 8.18. Parsowanie danych wynikowych CGI z uwzglödnieniem dyrektyw Server Side Includes 8.19. Parsowanie danych wynikowych skryptów ScriptAlias z uwzglödnieniem dyrektyw Server Side Includes 8.20. Wyznaczenie mod_perl do obsäugi wszystkich skryptów w jözyku Perl 8.21. Wäñczenie obsäugi skryptów jözyka Python 197 198 200 203 204 206 207 208 208 210 212 213 214 215 216 216 217 9. Obsĥuga bĥýdów ........................................................................................................ 219 219 220 221 222 9.1. Obsäuga przypadku brakujñcego pola Host 9.2. Zmiana kodu stanu odpowiedzi za pomocñ skryptu CGI 9.3. Wäasne komunikaty o bäödach 9.4. Komunikaty o bäödach w róĔnych jözykach 9.5. Przekierowanie odwoäaþ do niepoprawnych adresów URL do innych stron 9.6. Prawidäowa strona komunikatu o bäödzie w programie Internet Explorer 9.7. Powiadamianie o bäödach 223 224 225 10. Proxy ..........................................................................................................................227 227 10.1. Zabezpieczenie serwera proxy 10.2. Zabezpieczenie serwera proxy przed uĔyciem go jako otwartego przekaĒnika poczty 10.3. Przekazywanie Ĕñdaþ do innego serwera 10.4. Blokowanie Ĕñdaþ proxy do okreĈlonych miejsc 10.5. Przeniesienie Ĕñdaþ obsäugiwanych przez mod_perl na inny serwer 10.6. Konfiguracja buforujñcego serwera proxy 10.7. Filtrowanie treĈci przekazywanych przez serwer proxy 10.8. Wymaganie uwierzytelnienia siö na serwerze dostöpnym poprzez proxy 229 230 231 232 233 234 235 Spis treļci _ 7 10.9. RównowaĔenie obciñĔenia przy uĔyciu mod_proxy_balancer 10.10. Przekazywanie wywoäaþ z serwera wirtualnego 10.11. Blokowanie przekazywania wywoäaþ FTP 235 237 237 11. Wydajnoļë ..................................................................................................................239 239 240 242 243 244 246 247 249 250 251 253 254 256 257 258 11.1. OkreĈlenie iloĈci potrzebnej pamiöci RAM 11.2. Testowanie wydajnoĈci serwera Apache za pomocñ programu ab 11.3. Dobór ustawieþ dostöpu keepalive 11.4. OkreĈlenie stanu aktywnoĈci witryny WWW 11.5. Unikanie wyszukiwania w DNS 11.6. Optymalizacja dowiñzaþ symbolicznych 11.7. Ograniczanie wpäywu uĔycia plików .htaccess na wydajnoĈè serwera 11.8. Wyäñczenie negocjacji treĈci 11.9. Optymalizacja tworzenia procesów 11.10. Dobór parametrów tworzenia wñtków 11.11. Buforowanie najczöĈciej przeglñdanych plików 11.12. Równomierne rozäoĔenie obciñĔenia miödzy kilka serwerów 11.13. Buforowanie list zawartoĈci katalogu 11.14. PrzyĈpieszenie pracy programów Perl CGI za pomocñ moduäu mod_perl 11.15. Buforowanie treĈci dynamicznych 12. Zawartoļë katalogów ................................................................................................ 261 261 12.1. Generowanie listy zawartoĈci katalogu lub folderu 263 12.2. WyĈwietlanie standardowego nagäówka i stopki dla listy zawartoĈci katalogu 263 12.3. Wykorzystanie arkusza stylów 264 12.4. Ukrywanie wybranych elementów na liĈcie zawartoĈci 265 12.5. Wyszukiwanie konkretnych plików na liĈcie zawartoĈci katalogu 265 12.6. Sortowanie listy zawartoĈci 266 12.7. Sortowanie listy zawartoĈci w sposób wskazany przez klienta 268 12.8. Definiowanie sposobu formatowania listy zawartoĈci 268 12.9. Definiowanie sposobu formatowania przez klienta 269 12.10. Dodawanie opisów plików 270 12.11. Automatyczne generowanie tytuäów dokumentów 270 12.12. Zmiana ikon listy zawartoĈci 271 12.13. WyĈwietlanie katalogów na poczñtku listy 272 12.14. Porzñdkowanie wzglödem numeru wersji 12.15. Wäñczanie sortowania wzglödem numeru wersji przez uĔytkownika 273 12.16. Przydzielenie uĔytkownikowi peänej kontroli nad formatem listy zawartoĈci 273 12.17. Wyäñczenie moĔliwoĈci modyfikowania listy zawartoĈci przez uĔytkownika 274 275 12.18. Pomijanie wybranych kolumn na liĈcie zawartoĈci 276 12.19. WyĈwietlanie plików chronionych hasäem 12.20. WyĈwietlanie aliasów na liĈcie zawartoĈci 277 8 _ Spis treļci 13. Pozostaĥe zagadnienia ..............................................................................................279 279 281 282 283 13.1. Poprawne umieszczanie dyrektyw 13.2. Zmiana nazw plików .htaccess 13.3. Tworzenie listy zawartoĈci katalogu 13.4. Rozwiñzanie „problemu koþcowego ukoĈnika” 13.5. Ustalenie zawartoĈci pola Content-Type Inny domyĈlny dokument w zaleĔnoĈci od moĔliwoĈci przeglñdarki 13.6. Obsäuga brakujñcego pola Host nagäówka 13.7. 13.8. Konfiguracja domyĈlnej „ulubionej ikony” 13.9. WyĈwietlanie listy zawartoĈci katalogów ScriptAlias 13.10. Wäñczanie obsäugi plików .htaccess 13.11. Przeksztaäcanie dyrektyw Server Side Includes z serwerów IBM lub Lotus do serwera Apache 285 285 286 287 287 289 290 A UŜycie wyraŜeħ regularnych ..................................................................................... 291 B Rozwiézywanie problemów .....................................................................................297 Skorowidz ............................................................................................................................307 Spis treļci _ 9 ROZDZIAĤ 2. Instalacja moduĥów W pakiecie podstawowej dystrybucji serwera WWW Apache nie ma bardzo wielu popular- nych moduäów. WiökszoĈè z nich nie trafiäa do dystrybucji podstawowej z powodów licen- cyjnych lub z powodów zwiñzanych z obsäugñ technicznñ, inne nie sñ dystrybuowane przez Apache Software Foundation, gdyĔ takñ decyzjö podjöli twórcy serwera, a jeszcze inne sñ in- tegralnñ czöĈciñ innych projektów. Na przykäad moduä mod_ssl dla serwera Apache 1.3 jest tworzony i rozwijany oddzielnie, nie tylko z powodu amerykaþskich ograniczeþ eksportowych (które byäy znacznie bardziej rygorystyczne w czasie, gdy pakiet powstawaä), ale gäównie dlatego, Ĕe wymaga on wprowadzenia zmian do jñdra serwera, na które nie zdecydowali siö jego twórcy. W niniejszym rozdziale przedstawiono receptury omawiajñce instalacjö niektórych najbar- dziej popularnych moduäów pochodzñcych spoza oficjalnej dystrybucji. JeĔeli zachodzi taka potrzeba, przedstawione sñ osobne receptury omawiajñce instalacjö moduäów w systemach uniksowych i instalacjö w systemie Windows. Najbardziej kompletna lista moduäów innych producentów znajduje siö na stronie Apache Mo- dule Registry pod adresem http://modules.apache.org/. Niektóre moduäy sñ tak popularne lub sñ tak zäoĔone, Ĕe poĈwiöcono im caäe strony internetowe. Tak jest na przykäad w przypadku moduäów omówionych w tym rozdziale. Wielu twórców moduäów zajmuje siö tworzeniem tylko jednego moduäu. Oznacza to, Ĕe poten- cjalnie moĔe istnieè tyle sposobów instalacji moduäów, ile jest samych moduäów. Pierwsza re- ceptura tego rozdziaäu opisuje proces instalacji, który powinien byè odpowiedni dla wielu moduäów wersji 1.3 serwera Apache. Jednak w przypadku kaĔdego moduäu, naleĔy sprawdziè w jego dokumentacji, czy jego instalacja nie przebiega w inny sposób. Wiele z tych moduäów moĔna otrzymaè od firm, które tworzñ pakiety i dystrybuujñ opro- gramowanie Apache — na przykäad w postaci moduäów RPM firm Mandrake czy Red Hat. Jednak takie pakiety budowane sñ przy pewnych zaäoĔeniach poczynionych przez tworzñcñ je firmö. Mówiñc inaczej — jeĔeli serwer zostaä zbudowany z plików Ēródäowych, a jego pliki znajdujñ siö w miejscach innych niĔ standardowe, nie naleĔy siö dziwiè, gdy instalacja jakie- goĈ moduäu siö nie powiedzie. 43 Wszystkie moduäy opisane w tym rozdziale sñ obsäugiwane przez wersjö 1.3 serwera Apache dziaäajñcñ w systemach uniksowych. Informacje na temat moduäów dla wersji 2.0 serwera oraz w przypadku systemu Windows zebrano w tabeli 2.1. Tabela 2.1. Obsäuga moduäów w systemie Windows oraz przez wersjö 2.0 serwera Apache Nazwa moduĥu mod_dav mod_perl mod_php mod_ssl Obsĥuga w systemie Windows Tak Tak Tak Nie Obsĥuga przez serwer Apache 2.0 Moduĥ doĥéczony do serwera — nie ma potrzeby instalowania. Tak Tak Moduĥ doĥéczony do serwera — nie ma potrzeby instalowania. 2.1. Instalacja typowego moduĥu Problem NaleĔy zainstalowaè posiadany moduä, którego instalacja nie zostaäa omówiona osobno w tym rozdziale. Rozwiézanie W katalogu, w którym znajduje siö plik Ēródäowy moduäu, naleĔy wydaè polecenie: /Łcieška/do/serwera/apache/bin/apxs -cia moduĪ.c Analiza Gdy moduä skäada siö z pojedynczego pliku o rozszerzeniu .c, istnieje duĔe prawdopodobieþ- stwo, Ĕe moduä uda siö zbudowaè i zainstalowaè za pomocñ powyĔszego rozwiñzania. Mo- duäom skäadajñcym siö z kilku plików Ēródäowych powinny towarzyszyè instrukcje instalacji. Opcje -cia powodujñ kolejno kompilacjö, instalacjö, a nastöpnie aktywacjö moduäu. Pierwsza czynnoĈè jest oczywista, instalacja polega na umieszczeniu pliku .so w miejscu, w którym bödzie go poszukiwaä serwer Apache, a aktywacja polega na umieszczeniu odpowiedniego wpisu w pliku httpd.conf. Zobacz równieŜ x Strony podröcznika man dotyczñce programu apxs, przewaĔnie ServerRoot/man/man8/apxs.8. 44 _ Rozdziaĥ 2. Instalacja moduĥów 2.2. Instalacja moduĥu mod_dav w systemie uniksowym Problem Na serwerze WWW naleĔy uruchomiè usäugö WebDAV. Dziöki usäudze WebDAV zdalni uĔyt- kownicy mogñ dodawaè, usuwaè i uaktualniaè pliki znajdujñce siö na serwerze w sposób niezawodny i bezpieczny, bez potrzeby korzystania z usäugi FTP. Rozwiézanie Moduä mod_dav jest doäñczony do wersji 2.0 serwera Apache, wystarczy go tylko uaktywniè za pomocñ opcji kompilacji --enable-dav. W przypadku serwera Apache 1.3 pakiet Ēródäowy moduäu mod_dav naleĔy pobraè ze strony http://webdav.org/mod_dav/, rozpakowaè, a nastöpnie wydaè polecenia: cd mod_dav-1.0.3-1.3.6 ./configure --with-apxs=/usr/local/apache/bin/apxs make # make install Nastöpnie naleĔy zatrzymaè i uruchomiè serwer ponownie oraz zapoznaè siö z recepturñ 6.18. Analiza Moduä mod_dav zachowuje siö poprawnie i äatwo daje siö zbudowaè i wäñczyè do dziaäajñce- go serwera. Aby sprawdziè, czy moduä zostaä zainstalowany poprawnie, trzeba na potrzeby usäugi WebDAV przeznaczyè na serwerze jakiĈ katalog i sprawdziè dostöp do niego za po- mocñ narzödzia wspomagajñcego WebDAV. Polecamy uĔycie do tego celu programu cadaver — korzystajñcego z wiersza poleceþ narzödzia typu open source. (Adres strony, z której moĔ- na pobraè program cadaver, znajduje siö na koþcu receptury). Aby uaktywniè na serwerze WWW usäugö WebDAV, naleĔy do pliku httpd.conf dodaè co najmniej dwie dyrektywy. Pierwsza wskazuje poäoĔenie bazy blokad plików, wykorzysty- wanej przez mod_dav po to, by operacje wykonywane przez WebDAV wzajemnie ze sobñ nie kolidowaäy. Baza musi znajdowaè siö katalogu, do którego serwer ma prawo zapisu. Na przykäad: # cd /usr/local/apache # mkdir var # chgrp nobody var # chmod g+w var Nastöpnie w pliku httpd.conf, poza wszystkimi kontenerami, naleĔy umieĈciè wiersze: IfModule mod_dav.c DAVLockDB /usr/local/apache/var/DAVlock /IfModule 2.2. Instalacja moduĥu mod_dav w systemie uniksowym _ 45 Baza DAVLockDB nie moĔe znajdowaè siö w systemie plików typu NFS, gdyĔ NFS nie obsäuguje wymaganego przez moduä mod_dav sposobu blokowania plików. Umieszczenie bazy blokad plików w systemie plików typu NFS moĔe doprowadziè do nieprzewidywalnych skutków. Nastöpnie naleĔy utworzyè tymczasowy katalog säuĔñcy do przetestowania dziaäania usäugi WebDAV: # cd /usr/local/apache # mkdir htdocs/dav-test # chgrp nobody htdocs/dav-test # chmod g+w htdocs/dav-test Teraz do pliku httpd.conf naleĔy dodaè sekcjö przeznaczajñcñ utworzony katalog na potrzeby usäugi WebDAV: Directory /usr/local/apache/htdocs/dav-test DAV On /Directory Nastöpnie naleĔy zatrzymaè i ponownie uruchomiè serwer, który po uruchomieniu powinien rozpoczñè obsäugö operacji WebDAV kierowanych pod lokalny identyfikator URI /dav-test. Aby przetestowaè dziaäanie WebDAV za pomocñ programu cadaver, naleĔy wydaè przedsta- wione polecenia, w wyniku czego powinno siö otrzymaè wyniki podobne do poniĔszych: cd /tmp echo ZwykĨy tekst dav-test.txt cadaver dav:! open http://localhost/dav-test Looking up hostname... Connecting to server... connected. dav:/dav-test/ put dav-test.txt Uploading dav-test.txt to /dav-test/dav-test.txt : (reconnecting...done) Progress: [= == == == == == == == == == == == == == == ] 100.0 of 11 bytes succeeded. dav:/dav-test/ propset dav-test.txt MyProp 1023 Setting property on dav-test.txt : (reconnecting...done) succeeded. dav:/dav-test/ propget dav-test.txt MyProp Fetching properties for dav-test.txt : Value of MyProp is: 1023 dav:/dav-test/ propdel dav-test.txt MyProp Deleting property on dav-test.txt : succeeded. dav:/dav-test/ close Connection to localhost closed. dav:! exit rm dav-test.txt W tym przypadku wäaĈciwoĈci (ang. properties) sñ atrybutami zasobów WebDAV. Niektóry- mi z nich (na przykäad rozmiarem zasobu) zarzñdza system, a inne mogñ byè dowolnie do- dawane, zmieniane i usuwane przez uĔytkownika. Po sprawdzeniu poprawnoĈci dziaäania moduäu mod_dav katalog htdocs/dav-test naleĔy usunñè, podobnie jak zwiñzanñ z nim sekcjö Directory pliku httpd.conf, a nastöpnie naleĔy zapo- znaè siö z recepturñ 6.18. Zobacz równieŜ x Receptura 6.18. x http://webdav.org/mod_dav/. x http://webdav.org/cadaver/. 46 _ Rozdziaĥ 2. Instalacja moduĥów 2.3. Instalacja moduĥu mod_dav w systemie Windows Problem Na serwerze WWW Apache 1.3 dziaäajñcym w systemie Windows naleĔy za pomocñ moduäu mod_dav uruchomiè usäugö WebDAV. Rozwiézanie Moduä mod_dav w wersji 2.0 serwera Apache znajduje siö standardowo, nie ma wiöc w takim przypadku koniecznoĈci pobierania go i instalowania. Ze strony http://webdav.org/mod_dav/win32/ naleĔy pobraè i rozpakowaè pakiet moduäu mod_dav przeznaczony dla systemu Windows. Nastöpnie naleĔy sprawdziè, czy w katalogu ServerRoot (w katalogu gäównym serwera Apache) znajdujñ siö pliki xmlparse.dll oraz xmltok.dll. JeĔeli ich tam nie ma, naleĔy odnaleĒè je w innych katalogach serwera Apache, a nastöpnie skopiowaè je do katalogu ServerRoot. Do pracy moduä mod_dav potrzebuje pakietu Expat, który jest doäñczany do serwera Apache poczñwszy od wersji 1.3.9. Poszukiwane pliki pochodzñ z pa- kietu Expat. Plik DLL moduäu mod_dav naleĔy przekopiowaè do katalogu, w którym znajdujñ siö moduäy serwera Apache: C: cd mod_dav-1.0.3-dev C:mod_dav-1.0.3-dev copy mod_dav.dll C:Apachemodules C:mod_dav-1.0.3-dev cd Apache W pliku httpd.conf naleĔy umieĈciè nastöpujñcy wiersz: LoadModule dav_module modules/mod_dav.dll JeĔeli plik httpd.conf zawiera dyrektywö ClearModuleList i dodaje wszystkie moduäy, naleĔy równieĔ dodaè wiersz AddModule. MoĔna teĔ wiersz LoadModule dotyczñcy moduäu mod_dav umieĈciè po dyrektywie ClearModuleList. Analiza Moduä mod_dav zachowuje siö poprawnie i äatwo daje siö zbudowaè i wäñczyè do dziaäajñce- go serwera. Aby sprawdziè, czy moduä zostaä zainstalowany poprawnie, trzeba na potrzeby usäugi WebDAV przeznaczyè na serwerze jakiĈ katalog i sprawdziè dostöp do niego za po- mocñ narzödzia wspomagajñcego WebDAV lub otworzyè go programem Eksplorator Windows (poczñwszy od systemu Windows 2000). MoĔna teĔ uzyskaè do niego dostöp z innego kom- putera za pomocñ programu cadaver lub innego narzödzia wspomagajñcego WebDAV. Aby uaktywniè na serwerze WWW usäugö WebDAV, naleĔy do pliku ServerRoot/conf/httpd.conf dodaè co najmniej dwie dyrektywy. Pierwsza wskazuje poäoĔenie bazy blokad plików wyko- rzystywanej przez mod_dav po to, by operacje wykonywane przez WebDAV wzajemnie nie kolidowaäy ze sobñ. Baza musi znajdowaè siö w katalogu, do którego serwer ma prawo do za- pisu. Na przykäad: C:Apache-1.3 mkdir var 2.3. Instalacja moduĥu mod_dav w systemie Windows _ 47 ēeby uruchomiè usäugö WebDAV, do pliku httpd.conf naleĔy dodaè nastöpujñce wiersze: IfModule mod_dav.c DAVLockDB C:/Apache-1.3/var/dav-lock /IfModule ēeby przetestowaè pracö moduäu mod_dav, naleĔy utworzyè tymczasowy katalog: C:Apache-1.3 mkdir htdocsdav-test Nastöpnie, po to, by usäuga WebDAV rozpoczöäa udostöpnianie katalogu testowego, naleĔy zmieniè zawartoĈè kontenera IfModule : IfModule mod_dav.c DAVLockDB C:/Apache-1.3/var/dav-lock Directory C:/Apache-1.3/htdocs/dav-test DAV On /Directory /IfModule Teraz naleĔy zatrzymaè serwer i uruchomiè go ponownie, a nastöpnie spróbowaè otworzyè katalog /dav-test za pomocñ klienta WebDAV. W przypadku zastosowania jako klienta Web- DAV dziaäajñcego w innym komputerze programu cadaver, przykäad jego uĔycia moĔna znaleĒè w recepturze 2.2. PoniĔej przedstawiono sposób testowania pracy moduäu mod_dav za pomocñ programu Eksplorator Windows. Testowania pracy moduĥu mod_dav za pomocé programu Eksplorator Windows Po przeznaczeniu katalogu htdocsdav-test na potrzeby usäugi WebDAV i ponownym urucho- mieniu serwera WWW Apache naleĔy uruchomiè program Eksplorator Windows. Aby uzyskaè dostöp do katalogu usäugi WebDAV, naleĔy wykonaè niĔej opisane czynnoĈci. MoĔna to zrobiè na komputerze, na którym uruchomiono usäugö WebDAV lub na innym komputerze z systemem Windows, który ma dostöp do tego komputera. 1. W programie Eksplorator Windows naleĔy kliknñè pozycjö Moje miejsca sieciowe1. 2. Nastöpnie w prawym oknie programu Eksplorator Windows naleĔy kliknñè dwukrotnie ikonö Dodaj miejsce sieciowe. 3. Jako lokalizacjö nowego miejsca sieciowego naleĔy wpisaè: http://127.0.0.1/dav-test/ Gdy czynnoĈci te wykonywane sñ w innym komputerze niĔ ten, w którym uruchomiono usäugö WebDAV, zamiast adresu 127.0.0.1 naleĔy wpisaè nazwö serwera, w którym uruchomiono moduä mod_dav. 4. Po naciĈniöciu przycisku Dalej naleĔy nadaè utworzonemu miejscu sieciowemu nowñ na- zwö lub pozostaè przy proponowanej. 5. Program Eksplorator Windows powinien teraz otworzyè okno o nazwie zdefiniowanej w po- przednim kroku. ZawartoĈè okna powinna byè pusta, gdyĔ otwarty zostaä pusty katalog. 6. W gäównym oknie programu Eksplorator Windows naleĔy przejĈè do dowolnego katalogu zawierajñcego pliki. 1 PoniĔsza procedura dotyczy systemów Windows 2000 lub Windows Me. W systemie Windows XP naleĔy kliknñè dwukrotnie znajdujñcñ siö na pulpicie ikonö Moje miejsca sieciowe, a nastöpnie ze znajdujñcego siö po lewej stronie panela Zadania sieciowe wybraè Dodaj miejsce sieciowe — przyp. täum. 48 _ Rozdziaĥ 2. Instalacja moduĥów 7. Przytrzymujñc wciĈniöty przycisk Ctrl, naleĔy przeciñgnñè do okna otwartego w punkcie 5. dowolny plik lub pliki. 8. System Windows powinien na krótko pokazaè okno informujñce o postöpie procesu ko- piowania, po czym kopiowany plik powinien znaleĒè siö w oknie docelowym. Gratulacje! Plik zostaä skopiowany do serwera za pomocñ usäugi WebDAV. Po zakoþczeniu testowania naleĔy usunñè katalog htdocsdav-test, a takĔe usunñè z pliku konfigu- racyjnego wiersz Directory C:/Apache-1.3/htdocs/dav-test . W przeciwnym razie swoje pliki bödzie mógä umieszczaè tam kaĔdy. Zobacz równieŜ x Receptura 6.18. x http://webdav.org/mod_dav/. 2.4. Instalacja moduĥu mod_perl w systemie uniksowym Problem Aby skrypty Perla byäy wykonywane szybciej i byäy lepiej obsäugiwane przez serwer WWW, naleĔy zainstalowaè moduä mod_perl. Rozwiézanie W przypadku serwera Apache 1.3 ze strony http://perl.apache.org/ naleĔy pobraè pakiet Ēró- däowy moduäu mod_perl 1.0, rozpakowaè go, a nastöpnie wydaè nastöpujñce polecenia: perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs EVERYTHING=1 PERL_USELARGEFILES=0 make make install Nastöpnie naleĔy uruchomiè serwer ponownie. Dla serwera Apache 2.0 i wersji póĒniejszych proces przebiega analogicznie. NaleĔy pobraè i rozpakowaè pakiet Ēródäowy mod_perl 2.0, a nastöpnie wykonaè nastöpujñce polecenie: perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs Analiza Moduä mod_perl jest moduäem doĈè zäoĔonym. Na serwerze Apache moĔna zainstalowaè go na kilka sposobów. W recepturze przedstawiono sposób najszybszy i najprostszy. JeĔeli z jakichĈ powodów sposób ten jest nieodpowiedni, naleĔy zapoznaè siö z róĔnymi plikami README.* 2.4. Instalacja moduĥu mod_perl w systemie uniksowym _ 49 znajdujñcymi siö w katalogu pakietu. PoniewaĔ podstawowym jözykiem moduäu jest Perl, a nie C, instrukcja instalacji róĔni siö zdecydowanie od stosowanych w przypadku wiökszoĈci innych moduäów. Gdy po instalacji moduäu serwer uruchomi siö poprawnie, moduä mod_perl rozpoczyna dziaäa- nie i jest skonfigurowany. Dziaäanie moduäu moĔna przetestowaè, dokonujñc zmian w pliku httpd.conf, dodajñc kilka skryptów i obserwujñc, czy serwer obsäuguje je poprawnie. Oto przykäad testowania dziaäania moduäu mod_perl. 1. Na potrzeby skryptów moduäu mod_perl naleĔy utworzyè nowy folder: # cd ServerRoot # mkdir lib lib/perl lib/perl/Apache 2. W katalogu conf/ serwera naleĔy utworzyè plik startup.pl zawierajñcy instrukcje urucho- mieniowe dla moduäu mod_perl: #!/usr/bin/perl BEGIN { use Apache ( ); use lib Apache- server_root_relative( lib/perl ); } use Apache::Registry ( ); use Apache::Constants ( ); use CGI qw(-compile :all); use CGI::Carp ( ); 1; 3. Nastöpnie naleĔy utworzyè wykorzystywany w teĈcie plik lib/perl/Apache/HelloWorld.pm: package Apache::HelloWorld; use strict; use Apache::Constants qw(:common); sub handler { my $r = shift; $r- content_type( text/plain; charset=ISO-8859-2 ); $r- send_http_header; $r- print( Witaj Łwiecie! Pozdrowienia od moduĪu mod_perl. ); return OK; } 1; 4. Teraz trzeba otworzyè do edycji plik konfiguracyjny serwera i umieĈciè w nim dyrekty- wy umoĔliwiajñce moduäowi mod_perl odnalezienie potrzebnych mu skäadników oraz in- formujñce go, kiedy ma uruchomiè skrypt testowy. Do pliku httpd.conf naleĔy dodaè na- stöpujñce wiersze: IfModule mod_perl.c PerlRequire conf/startup.pl Location /mod_perl/howdy SetHandler perl-script PerlHandler Apache::HelloWorld /Location /IfModule 5. Teraz naleĔy uruchomiè serwer ponownie, a nastöpnie uruchomiè skrypt, wpisujñc: http://localhost/mod_perl/howdy. JeĔeli konfiguracja jest poprawna, pojawi siö strona zawierajñce zdanie: „Witaj Ĉwiecie! Po- zdrowienia od moduäu mod_perl.”. 50 _ Rozdziaĥ 2. Instalacja moduĥów Zobacz równieŜ x http://perl.apache.org/. x KsiñĔka Writing Apache Modules with Perl and C, autorzy Doug MacEachern oraz Lincoln Stein, wydawnictwo O Reilly. x KsiñĔka mod_perl Developer s Cookbook, autorzy Geoffrey Young, Paul Lindner oraz Randy Kobes wydawnictwo Sams2. 2.5. Instalacja moduĥu mod_php w systemie uniksowym Problem Do dziaäajñcego serwera WWW Apache naleĔy dodaè moduä obsäugi skryptów mod_php. Rozwiézanie Pakiet Ēródäowy moduäu mod_php naleĔy pobraè ze strony http://php.net/, rozpakowaè go, a na- stöpnie wydaè nastöpujñce polecenia: cd php-5.2.3 ./configure --with-apxs=/usr/local/apache/bin/apxs make # make install Nastöpnie naleĔy uruchomiè serwer ponownie. Analiza Aby przekonaè siö, Ĕe instalacja zakoþczyäa siö powodzeniem, w katalogu DocumentRoot ser- wera WWW naleĔy utworzyè skäadajñcy siö z jednego wiersza plik info.php: ?php phpinfo( ); ? Do pliku konfiguracyjnego httpd.conf naleĔy dodaè poniĔsze wiersze: IfModule mod_php4.c AddHandler application/x-httpd-php .php /IfModule Po ponownym uruchomieniu serwera WWW naleĔy za pomocñ przeglñdarki spróbowaè otworzyè dokument info.php. W wyniku tego powinien pojawiè siö szczegóäowy opis aktyw- nych opcji PHP. JeĔeli opis rzeczywiĈcie siö pojawi, bödzie to wskazywaè, Ĕe instalacja zakoþ- czyäa siö pomyĈlnie i plik info.php moĔna usunñè. Podczas instalacji PHP moĔna zastosowaè wiele opcji i rozszerzeþ, w tej recepturze omówio- no tylko najprostszy sposób instalacji moduäu. 2 Polskie wydanie: mod_perl. Podröcznik programisty, Helion 2003 — przyp. red. 2.5. Instalacja moduĥu mod_php w systemie uniksowym _ 51 Zobacz równieŜ x Receptura 8.16. x Receptura 8.17. x http://php.net/. 2.6. Instalacja moduĥu mod_php w systemie Windows Problem Do dziaäajñcego w systemie Windows serwera WWW Apache naleĔy dodaè moduä obsäugi skryptów mod_php. Rozwiézanie W tej recepturze zamiast podawania szczegóäowych poleceþ czynnoĈci, które naleĔy wyko- naè, przedstawione zostanñ w sposób opisowy. 1. Ze strony http://php.net/ naleĔy pobraè plik binarny .zip (a nie plik .exe) PHP dla systemu Windows zawierajñcego rozszerzenia API. 2. Plik .zip naleĔy rozpakowaè do katalogu, w którym zawartoĈè pliku moĔe pozostaè na zawsze (na przykäad do katalogu C:PHP4). W przypadku uĔycia programu WinZip na- leĔy zaznaczyè pole wyboru Use folder names, aby utworzona zostaäa taka struktura pli- ków jak umieszczona w pliku .zip. 3. Do katalogu modules znajdujñcego siö w katalogu ServerRoot serwera Apache naleĔy przekopiowaè plik PHP4SAPIphp4apache.dll. 4. W oknie wiersza polecenia naleĔy przejĈè do katalogu PHP4, do którego zostaä rozpako- wany plik .zip, a nastöpnie wydaè polecenia: ...PHP4 copy php.ini-dist SYSTEMROOT php.ini ...PHP4 copy php4ts.dll SYSTEMROOT (W przypadku systemów Windows 95 oraz Windows 98 zamiast SYSTEMROOT naleĔy uĔyè WINDOWS ). 5. Nastöpnie naleĔy otworzyè do edycji plik SYSTEMROOT php.ini, odnaleĒè w nim wiersz zaczynajñcy siö od extension_dir i zmieniè jego wartoĈè tak, by wskazywaäa na katalog PHP4extensions. Gdy, na przykäad, plik .zip zostaä rozpakowany do katalogu C:PHP4, wiersz ten powinien wyglñdaè nastöpujñco: extension_dir = C:PHP4extensions 6. Nastöpnie trzeba otworzyè do edycji plik confhttpd.conf znajdujñcy siö w katalogu ServerRoot i w pobliĔu innych wierszy LoadModule naleĔy dodaè wiersz: LoadModule php4_module modules/php4apache.dll W pobliĔu naleĔy umieĈciè równieĔ wiersze dotyczñce plików .php: IfModule mod_php4.c AddType application/x-httpd-php .php /IfModule 52 _ Rozdziaĥ 2. Instalacja moduĥów 7. Na koniec naleĔy zrestartowaè serwer Apache, w wyniku czego moduä PHP powinien siö uaktywniè. Analiza Aby zainstalowaè moduä PHP w systemie Windows, naleĔy wykonaè wiele drobiazgowych czynnoĈci. ēeby przekonaè siö, Ĕe proces instalacji zakoþczyä siö powodzeniem, w katalogu DocumentRoot serwera naleĔy utworzyè skäadajñcy siö z jednego wiersza plik info.php: ?php phpinfo( ); ? Po ponownym uruchomieniu siö serwera WWW naleĔy za pomocñ przeglñdarki spróbowaè otworzyè dokument info.php. W wyniku tego powinien pojawiè siö szczegóäowy opis aktyw- nych opcji PHP. W czasie instalacji PHP moĔna zastosowaè wiele opcji i rozszerzeþ, w tej recepturze omó- wiono tylko najprostszy sposób instalacji moduäu. Wiöcej szczegóäów na ten temat moĔna znaleĒè w pliku install.txt znajdujñcym siö w katalogu PHP4 oraz w dokumentacji znajdujñcej siö na stronach WWW. Zobacz równieŜ x http://php.net/. 2.7. Instalacja moduĥu mod_ssl Problem Do dziaäajñcego serwera WWW Apache naleĔy dodaè obsäugö SSL, instalujñc w nim mod_ssl — moduä bezpiecznego HTTP. Rozwiézanie Windows Sposób instalacji protokoäu SSL w systemie Windows jest tematem receptury 7.2. Mówiñc w najwiökszym skrócie, najlepiej jest pobraè XAMPP z witryny ApacheFriends.org, chyba Ĕe posiada siö odpowiednie doĈwiadczenie w budowaniu kodu Ēródäowego w systemie Microsoft Windows. Apache 2.0 Moduä mod_ssl zostaä wäñczony do wersji 2.0 serwera Apache, ale w przypadku budowy serwera z kodu Ēródäowego, moduä nie jest automatycznie kompilowany ani instalowany. Aby w takim przypadku zainstalowaè moduä mod_ssl, naleĔy w poleceniu ./configure zastosowaè opcjö --enable-ssl oraz uaktywniè moduä dyrektywami LoadModule oraz AddModule. Apache 1.3 Aby zainstalowaè moduä mod_ssl w systemie uniksowym, ze strony http://www.modssl. org/ naleĔy pobraè i rozpakowaè archiwum tar moduäu, a nastöpnie wydaè polecenia: 2.7. Instalacja moduĥu mod_ssl _ 53 cd mod_ssl-2.8.14-1.3.273 ./configure --with-apache=../apache_1.3.27 --with-ssl=SYSTEM --prefix=/usr/local/apache cd ../apache_1.3.27 make make certificate Analiza ēeby moduä mod_ssl mógä dziaäaè, kod Ēródäowy serwera Apache musi zostaè zmodyfikowany. Dziöki temu moĔna zainstalowaè tylko takñ wersjö pakietu mod_ssl, która odpowiada wersji po- siadanej dystrybucji serwera Apache. JeĔeli instalacja serwera Apache nie zawiera plików Ēró- däowych (co ma miejsce na przykäad w przypadku instalacji serwera z pakietu RPM czy z innej tego typu dystrybucji) — instalacja moduäu mod_ssl nie powiedzie siö. Poza kodami Ēródäowymi serwera Apache do zainstalowania moduäu mod_ssl potrzebne sñ jeszcze Perl oraz biblioteki OpenSSL. Ich poäoĔenie okreĈla siö za pomocñ opcji --with-ssl. JeĔeli biblioteki znajdujñ siö w katalogu utworzonym przez ich dostawcö, säowo kluczowe SYSTEM poinformuje, Ĕe naleĔy ich szukaè wäaĈnie tam, dziöki czemu nie trzeba bödzie ich szukaè samemu. W przeciwieþstwie do wiökszoĈci innych moduäów serwera Apache, aby zainstalowaè moduä mod_ssl, naleĔy uruchomiè skrypt ./configure znajdujñcy siö w katalogu moduäu mod_ssl, a nie w katalogu plików Ēródäowych serwera Apache. Skrypt moduäu wprowadza odpowiednie zmiany do skryptu serwera, a nastöpnie uruchamia go. W tej recepturze omówiono jedynie podstawowy sposób instalacji moduäu mod_ssl. W czasie konfiguracji moduäu mod_ssl moĔna zleciè moduäowi wykorzystanie wielu dodatkowych skäadników oraz funkcji. Wiöcej informacji na ten temat moĔna znaleĒè w plikach README oraz INSTALL znajdujñcych w katalogu plików Ēródäowych moduäu mod_ssl lub na stronie WWW http://www.modssl.org/. Zobacz równieŜ x Receptura 7.3. x http://www.modssl.org/. 2.8. Wyszukiwanie moduĥów na witrynie modules.apache.org Problem Trzeba znaleĒè moduäy serwera Apache udostöpniajñce okreĈlone funkcje lub noszñce okre- Ĉlone nazwy. Wiadomo jednoczeĈnie, Ĕe istnieje rejestr moduäów serwera Apache. 3 Nazwa katalogu zaleĔna jest od instalowanej wersji mod_ssl. — przyp. red. 54 _ Rozdziaĥ 2. Instalacja moduĥów Rozwiézanie Na witrynie http://modules.apache.org naleĔy podaè säowa kluczowe odnoszñce siö do poszu- kiwanych funkcji lub fragment nazwy moduäu i przeprowadziè wyszukiwanie. Analiza Rejestr moduäów serwera Apache to nieoficjalna witryna internetowa, na której autorzy mo- duäów z wäasnej inicjatywy mogñ zarejestrowaè efekty swoich prac, aby udostöpniè je innym uĔytkownikom. Wspomniana witryna w Ĕadnym wypadku nie zawiera wszystkich moduäów serwe- ra Apache; wiele z nich jest dostöpnych na witrynie SourceForge albo na domowych witrynach ich autorów. JeĔeli poszukiwany moduä nie zostanie znaleziony na http://modules.apache.org, moĔna spróbowaè go poszukaè na witrynie SourceForge (pod adresem http://sourceforge.net), FreshMeat (http://freshmeat.net) albo po prostu przeszukaè internet przy uĔyciu Google lub innej wyszukiwarki internetowej. Zobacz równieŜ x http://sourceforge.net. x http://freshmeat.net. 2.9. Instalacja moduĥu mod_security Problem Trzeba zainstalowaè moduä mod_security, aby skorzystaè z udostöpnianych przez niego pro- stych, a jednoczeĈnie rozbudowanych mechanizmów filtrujñcych. Rozwiézanie NaleĔy wykonaè nastöpujñce czynnoĈci: 1. Pobraè moduä mod_security oraz gäówne reguäy moduäu z witryny http://modules.apache.org. Aby znaleĒè moduä do pobrania na podanej stronie WWW, naleĔy skorzystaè z pozycji menu Browse lub Search. Po pobraniu moduäu warto sprawdziè jego sygnaturö PGP, aby upewniè siö, Ĕe plik nie ulegä zmianie. Wiöcej informacji na ten temat znajduje siö na witrynie internetowej moduäu mod_security. 2. Rozpakowaè zestaw (bez reguä) do katalogu roboczego: cd /usr/local/build tar xzf /usr/local/kits/modsecurity-apache_2.1.1 2.9. Instalacja moduĥu mod_security _ 55 3. PrzejĈè do rozpakowanego katalogu i zbudowaè pakiet, wykorzystujñc dostarczony wraz z nim skrypt Makefile. W poleceniu make trzeba wskazaè odpowiedniñ wartoĈè ServerRoot: cd /usr/local/build/modsecurity-apache_2.1.1/apache2 make top_dir=/usr/local/apache2 # make top_dir=/usr/local/apache2 install W odróĔnieniu od innych moduäów dostawców zewnötrznych mod_security trzeba budowaè przy uĔyciu jego wäasnych mechanizmów, a nie przez zwykäe wywoäanie narzödzia apxs serwera Apache. 4. Rozpakowaè gäówne reguäy do podkatalogu katalogu wskazanego jako ServerRoot: # cd /usr/local/apache2/conf # mkdir mod_security # cd mod_security # tar xzf /tmp/modsecurity-core-rules_2.1-1.4.tar.gz 5. W odpowiednim miejscu w pliku httpd.conf dodaè nastöpujñce wiersze: LoadModule security_module modules/mod_security2.so Include conf/mod_security/*.conf 6. Zrestartowaè serwer. Analiza Skrypt Makefile doäñczony do pakietu mod_security zbuduje moduä i umieĈci go w odpowied- niej lokalizacji, lecz ponowne wäñczenie serwera jest juĔ powinnoĈciñ samego uĔytkownika. Najnowsze wersje pakietu zawierajñ zestaw gäównych reguä obsäugujñcych przypadki takie jak spamowanie blogów czy najczöĈciej spotykane ataki. Reguäy sñ równieĔ dostöpne w od- dzielnym archiwum tar, które moĔe byè uaktualniane niezaleĔnie od reguä doäñczanych do samego moduäu. Aktualna wersja moduäu mod_security obsäuguje wyäñcznie serwer Apache w wersji 2. Dostöpna jest równieĔ starsza wersja obsäugujñca wersjö 1.3 serwera, lecz jest maäo prawdopodobne, by byäa utrzymywana przez däuĔszy czas. Zobacz równieŜ x Witryna internetowa moduäu mod_security pod adresem http://modsecurity.org. 56 _ Rozdziaĥ 2. Instalacja moduĥów 2.10. Dlaczego ten moduĥ nie dziaĥa? Problem Pomimo próby zainstalowania moduäu pochodzñcego od dostawcy zewnötrznego serwer WWW Apache nie rozpoznaje go. Rozwiézanie NaleĔy sprawdziè kod Ēródäowy moduäu, jego dokumentacjö albo zwróciè siö bezpoĈrednio do autora moduäu, aby ustaliè wersjö serwera Apache obsäugiwanñ przez moduä. Analiza W miarö wprowadzania do serwera Apache kolejnych znaczñcych zmian moĔe siö zdarzyè, Ĕe zmiana w API serwera doprowadzi do powstania niezgodnoĈci jego moduäów. Wpraw- dzie twórcy rozwijajñcy serwer dñĔñ do tego, by podobne niezgodnoĈci zdarzaäy siö jak naj- rzadziej, lecz czasami jest to po prostu nieuniknione. Aby zapobiec äadowaniu niezgodnego moduäu i uniknñè w ten sposób zaäamania serwera WWW, zarówno w module, jak i w samym serwerze umieszczono wbudowany, „magiczny” numer zapisywany w momencie ich budowania, wskazujñcy wersjö API. Gdy serwer spróbuje zaäadowaè moduä DSO, najpierw porówna numer wersji w module z wäasnym numerem wersji zapisanym na serwerze. JeĔeli okaĔe siö, Ĕe numery wersji sñ niezgodne, serwer nie zaäaduje moduäu. Zespóä rozwijajñcy serwer dñĔy do utrzymania zgodnoĈci miödzy numerami wersji gäównych, lecz nie miödzy róĔnymi numerami wersji gäównych. Inaczej mówiñc, moduä zbudowany dla serwera Apache 1.3 powinien dziaäaè z praktycznie wszystkimi wersjami 1.3 serwera zbudo- wanymi po dacie budowy moduäu, natomiast na pewno nie bödzie obsäugiwaè serwera w wer- sji 2.0. I odwrotnie: moduä dla wersji 2.0 w Ĕadnym wypadku nie bödzie wspóäpracowaä z ser- werem w wersji 1.3. Zobacz równieŜ x Rejestr moduäów serwera Apache pod adresem http://modules.apache.org. 2.10. Dlaczego ten moduĥ nie dziaĥa? _ 57
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Apache. Receptury. Wydanie II
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: