Apache. Receptury. Wydanie II

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Apache. Receptury. Wydanie II - Presentation Transcript

    1. 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œ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. • Sposoby instalacji serwera Apache • Dodawanie funkcjonalnoœci dziêki modu³om • Mo¿liwoœci rejestracji zdarzeñ • Konfiguracja serwerów wirtualnych • Wykorzystanie aliasów, przekierowañ oraz przepisañ (mod_rewrite) • Zarz¹dzanie dostêpem do serwowanych zasobów • Bezpieczeñstwo serwera Apache • Wykorzystanie szyfrowanej transmisji - protokó³ SSL • Zapewnienie wydajnoœci • Wykorzystanie jêzyków skryptowychOto ksi¹¿ka z najlepszymi przepisami na Apache! Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl
    2. Spis tre ci Przedmowa ..............................................................................................................................11 1. Instalacja serwera ....................................................................................................... 19 1.1. Instalacja serwera z pakietów dystrybucji Red Hat Linux 20 1.2. Instalacja serwera z pakietów dystrybucji Debian 21 1.3. Instalacja serwera Apache w systemie Windows 22 1.4. Pobieranie plików ródäowych serwera Apache 27 1.5. Budowa serwera Apache z kodu ródäowego 29 1.6. Instalacja serwera Apache za pomocñ programu ApacheToolbox 30 1.7. Uruchamianie, zatrzymywanie oraz ponowne uruchamianie serwera Apache 32 1.8. Usuniöcie serwera Apache 34 1.9. Której wersji serwera Apache u yè 35 1.10. Uaktualnienie serwera przy u yciu config.nice 37 1.11. Uruchamianie serwera Apache w momencie startu systemu operacyjnego 38 1.12. Przydatne opcje konfiguracyjne 39 1.13. Odnajdywanie plików serwera Apache 41 2. Instalacja modu ów .....................................................................................................43 2.1. Instalacja typowego moduäu 44 2.2. Instalacja moduäu mod_dav w systemie uniksowym 45 2.3. Instalacja moduäu mod_dav w systemie Windows 47 2.4. Instalacja moduäu mod_perl w systemie uniksowym 49 2.5. Instalacja moduäu mod_php w systemie uniksowym 51 2.6. Instalacja moduäu mod_php w systemie Windows 52 2.7. Instalacja moduäu mod_ssl 53 2.8. Wyszukiwanie moduäów na witrynie modules.apache.org 54 2.9. Instalacja moduäu mod_security 55 2.10. Dlaczego ten moduä nie dziaäa? 57 3
    3. 3. Rejestracja zdarze .....................................................................................................59 3.1. Zwiökszenie szczegóäowo ci zapisów dziennika zdarzeþ 62 3.2. Zwiökszenie liczby komunikatów o bäödach 63 3.3. Rejestracja zawarto ci POST 65 3.4. Rejestracja adresu IP klienta äñczñcego siö poprzez serwer proxy 66 3.5. Rejestracja adresu MAC klienta 67 3.6. Rejestracja Cookies 67 3.7. Zaniechanie rejestracji ñdaþ pobierania obrazów pochodzñcych ze stron lokalnych 69 3.8. Zmiana pliku dziennika zdarzeþ o okre lonej porze 70 3.9. Zmiana pliku dziennika zdarzeþ pierwszego dnia miesiñca 71 3.10. Rejestracja nazw komputerów zamiast ich adresów IP 72 3.11. Oddzielne pliki dzienników zdarzeþ serwerów wirtualnych 73 3.12. Rejestracja ñdaþ proxy 75 3.13. Rejestracja komunikatów o bäödach ró nych serwerów wirtualnych w ró nych plikach 76 3.14. Rejestracja adresu IP serwera 77 3.15. Rejestracja stron, z których nadchodzñ ñdania 78 3.16. Rejestracja nazw u ywanych przeglñdarek 79 3.17. Rejestracja dowolnych pól nagäówka ñdania 79 3.18. Rejestracja dowolnych pól nagäówka odpowiedzi 80 3.19. Rejestracja aktywno ci serwera w bazie danych MySQL 81 3.20. Rejestracja zdarzeþ w dzienniku systemowym 82 3.21. Rejestracja katalogów u ytkowników 84 4. Serwery wirtualne ....................................................................................................... 87 4.1. Konfiguracja serwerów wirtualnych opartych na nazwach 88 4.2. Konfiguracja jednego z serwerów wirtualnych opartych na nazwach jako serwera domy lnego 90 4.3. Konfiguracja serwerów wirtualnych opartych na adresach 91 4.4. Konfiguracja jednego z serwerów wirtualnych opartych na adresach jako serwera domy lnego 92 4.5. Jednoczesne u ycie serwerów wirtualnych opartych na adresach oraz na nazwach 93 4.6. Liczne serwery wirtualne obsäugiwane za pomocñ moduäu mod_vhost_alias 94 4.7. Liczne serwery wirtualne obsäugiwane za pomocñ reguä przepisania 96 4.8. Rejestracja zdarzeþ wszystkich serwerów wirtualnych 97 4.9. Podziaä pliku dziennika zdarzeþ 98 4.10. Serwery wirtualne oparte na portach 98 4.11. Ta sama zawarto è dostöpna pod kilkoma adresami IP 99 4.12. Definiowanie serwerów wirtualnych w bazie danych 100 4 _ Spis tre ci
    4. 5. Aliasy, przekierowania oraz przepisania ................................................................. 103 5.1. Przyporzñdkowanie adresu URL do katalogu 103 5.2. Tworzenie dodatkowego adresu URL dla istniejñcej zawarto ci 105 5.3. Przydzielenie u ytkownikom ich wäasnych adresów URL 106 5.4. Uto samienie kilku adresów URL za pomocñ pojedynczej dyrektywy 109 5.5. Przyporzñdkowanie kilku adresów URL do tego samego katalogu CGI 110 5.6. Tworzenie katalogów CGI dla ka dego u ytkownika 110 5.7. Przekierowanie do innego miejsca 111 5.8. Przekierowanie kilku adresów URL w to samo miejsce 113 5.9. Nierozró nianie wielko ci liter w adresach URL 114 5.10. Wyró nianie skäadni kodu ródäowego PHP bez u ycia dowiñzaþ symbolicznych 115 5.11. Wymiana ciñgów znaków w ñdanych adresach URL 117 5.12. Zamiana informacji o cie ce na argumenty CGI 117 5.13. Odmowa dostöpu ñdaniom pochodzñcym z obcych stron 118 5.14. Przekierowanie ñdaþ pochodzñcych z obcych stron do strony z informacjami 119 5.15. Przepisanie na podstawie äaþcucha zapytania 120 5.16. Przekierowanie caäego lub czö ci serwera do SSL 121 5.17. Zamiana nazw katalogów na nazwy serwerów 122 5.18. Przekierowanie wszystkich ñdaþ do jednego serwera 123 5.19. Zamiana nazw dokumentów na argumenty programu 123 5.20. Przepisywanie elementów cie ki do ciñgu zapytania i odwrotnie 124 5.21. Przepisywanie nazwy serwera na nazwö katalogu 125 5.22. Przeksztaäcanie segmentów adresu URL w argumenty zapytania 126 5.23. U ywanie dyrektyw AliasMatch, ScriptAliasMatch i RedirectMatch 126 6. Bezpiecze stwo ......................................................................................................... 129 6.1. Wykorzystanie kont u ytkowników do uwierzytelnienia dostöpu do zasobów WWW 130 6.2. Konfiguracja haseä jednorazowych 132 6.3. Wygasajñce hasäa 133 6.4. Ograniczanie wielko ci umieszczanych na serwerze plików 135 6.5. Ograniczenie pobierania obrazków ze stron znajdujñcych siö na innych serwerach 137 6.6. ñdanie zarówno säabego, jak i silnego uwierzytelnienia 138 6.7. Zarzñdzanie plikami .htpasswd 139 6.8. Przygotowanie plików haseä uwierzytelniania typu Digest 141 6.9. Rozlu nienie ochrony w podkatalogu 142 6.10. Wybiórcze zniesienie ochrony 144 6.11. Autoryzacja za pomocñ informacji o wäa cicielu pliku 146 6.12. Przechowywanie po wiadczeþ u ytkownika w bazie danych MySQL 147 Spis tre ci _ 5
    5. 6.13. Dostöp do nazwy u ytkownika uwierzytelnionego 148 6.14. Uzyskanie hasäa u ytego do uwierzytelnienia 149 6.15. Ochrona przed atakami na hasäa typu brute-force 150 6.16. Uwierzytelnianie typu Digest i uwierzytelnianie typu Basic 151 6.17. Dostöp do po wiadczeþ osadzonych w adresach URL 153 6.18. Zabezpieczenie usäugi WebDAV 153 6.19. Uruchomienie usäugi WebDAV bez udzielenia zezwolenia na zapisywanie do plików u ytkownikowi, z uprawnieniami którego dziaäa serwer 154 6.20. Ograniczanie dostöpu poprzez proxy do okre lonych adresów URL 156 6.21. Ochrona plików za pomocñ osäony 157 6.22. Ochrona plików serwera przed zäo liwymi skryptami 159 6.23. Nadanie prawidäowych uprawnieþ do plików 160 6.24. Uruchomienie serwera z minimalnñ liczbñ moduäów 163 6.25. Ograniczenie dostöpu do plików znajdujñcych siö poza katalogiem gäównym WWW 165 6.26. Ograniczenie metod dostöpnych dla u ytkowników 166 6.27. Ograniczanie ñdaþ zakresów 167 6.28. Obrona przed atakami DoS przy u yciu moduäu mod_evasive 168 6.29. Zmiana katalogu gäównego serwera Apache przy u yciu moduäu mod_security 170 6.30. Migracja do mechanizmów uwierzytelniania w wersji 2.2 171 6.31. Blokowanie dziaäania robaków przy u yciu moduäu mod_security 172 6.32. Uprawnienia tylko do odczytu i do zapisu w repozytorium Subversion 173 6.33. U ywanie staäych przekierowaþ do ukrywania zablokowanych adresów URL 174 7. SSL ...............................................................................................................................177 7.1. Instalacja SSL 177 7.2. Instalacja SSL w systemie Windows 179 7.3. Tworzenie samodzielnie podpisanych certyfikatów SSL 179 7.4. Tworzenie zaufanego o rodka certyfikacyjnego 183 7.5. Udostöpnianie czö ci witryny WWW poprzez SSL 185 7.6. Uwierzytelnianie za pomocñ certyfikatów klientów 187 7.7. Wirtualne serwery SSL 188 7.8. Certyfikaty wieloznaczne 189 8. Tre ë dynamiczna .......................................................................................................191 8.1. Uaktywnienie katalogu CGI 191 8.2. Uaktywnienie skryptów CGI w katalogach niewyznaczonych za pomocñ dyrektywy ScriptAlias 193 8.3. Wskazywanie dokumentu domy lnego w katalogu CGI 194 8.4. Wykorzystanie rozszerzeþ plików systemu Windows do uruchamiana skryptów CGI 195 6 _ Spis tre ci
    6. 8.5. Identyfikacja skryptów CGI na podstawie ich rozszerzeþ 197 8.6. Sprawdzenie, czy obsäuga programów CGI jest skonfigurowana poprawnie 198 8.7. Odczyt warto ci z formularza 200 8.8. Uruchamianie programu CGI dla pewnych rodzajów tre ci 203 8.9. U ycie SSI 204 8.10. Przedstawienie daty ostatniej modyfikacji 206 8.11. Doäñczenie standardowego nagäówka 207 8.12. Doäñczanie wyniku dziaäania programu CGI 208 8.13. Uruchamianie za pomocñ programu suexec skryptów CGI z uprawnieniami innego u ytkownika 208 8.14. Instalacja programu obsäugi moduäu mod_perl z serwisu CPAN 210 8.15. Pisanie programów obsäugi moduäu mod_perl 212 8.16. Uruchomienie obsäugi skryptów PHP 213 8.17. Weryfikacja instalacji PHP 214 8.18. Parsowanie danych wynikowych CGI z uwzglödnieniem dyrektyw Server Side Includes 215 8.19. Parsowanie danych wynikowych skryptów ScriptAlias z uwzglödnieniem dyrektyw Server Side Includes 216 8.20. Wyznaczenie mod_perl do obsäugi wszystkich skryptów w jözyku Perl 216 8.21. Wäñczenie obsäugi skryptów jözyka Python 217 9. Obs uga b ýdów ........................................................................................................ 219 9.1. Obsäuga przypadku brakujñcego pola Host 219 9.2. Zmiana kodu stanu odpowiedzi za pomocñ skryptu CGI 220 9.3. Wäasne komunikaty o bäödach 221 9.4. Komunikaty o bäödach w ró nych jözykach 222 9.5. Przekierowanie odwoäaþ do niepoprawnych adresów URL do innych stron 223 9.6. Prawidäowa strona komunikatu o bäödzie w programie Internet Explorer 224 9.7. Powiadamianie o bäödach 225 10. Proxy .......................................................................................................................... 227 10.1. Zabezpieczenie serwera proxy 227 10.2. Zabezpieczenie serwera proxy przed u yciem go jako otwartego przeka nika poczty 229 10.3. Przekazywanie ñdaþ do innego serwera 230 10.4. Blokowanie ñdaþ proxy do okre lonych miejsc 231 10.5. Przeniesienie ñdaþ obsäugiwanych przez mod_perl na inny serwer 232 10.6. Konfiguracja buforujñcego serwera proxy 233 10.7. Filtrowanie tre ci przekazywanych przez serwer proxy 234 10.8. Wymaganie uwierzytelnienia siö na serwerze dostöpnym poprzez proxy 235 Spis tre ci _ 7
    7. 10.9. Równowa enie obciñ enia przy u yciu mod_proxy_balancer 235 10.10. Przekazywanie wywoäaþ z serwera wirtualnego 237 10.11. Blokowanie przekazywania wywoäaþ FTP 237 11. Wydajno ë ..................................................................................................................239 11.1. Okre lenie ilo ci potrzebnej pamiöci RAM 239 11.2. Testowanie wydajno ci serwera Apache za pomocñ programu ab 240 11.3. Dobór ustawieþ dostöpu keepalive 242 11.4. Okre lenie stanu aktywno ci witryny WWW 243 11.5. Unikanie wyszukiwania w DNS 244 11.6. Optymalizacja dowiñzaþ symbolicznych 246 11.7. Ograniczanie wpäywu u ycia plików .htaccess na wydajno è serwera 247 11.8. Wyäñczenie negocjacji tre ci 249 11.9. Optymalizacja tworzenia procesów 250 11.10. Dobór parametrów tworzenia wñtków 251 11.11. Buforowanie najczö ciej przeglñdanych plików 253 11.12. Równomierne rozäo enie obciñ enia miödzy kilka serwerów 254 11.13. Buforowanie list zawarto ci katalogu 256 11.14. Przy pieszenie pracy programów Perl CGI za pomocñ moduäu mod_perl 257 11.15. Buforowanie tre ci dynamicznych 258 12. Zawarto ë katalogów ................................................................................................ 261 12.1. Generowanie listy zawarto ci katalogu lub folderu 261 12.2. Wy wietlanie standardowego nagäówka i stopki dla listy zawarto ci katalogu 263 12.3. Wykorzystanie arkusza stylów 263 12.4. Ukrywanie wybranych elementów na li cie zawarto ci 264 12.5. Wyszukiwanie konkretnych plików na li cie zawarto ci katalogu 265 12.6. Sortowanie listy zawarto ci 265 12.7. Sortowanie listy zawarto ci w sposób wskazany przez klienta 266 12.8. Definiowanie sposobu formatowania listy zawarto ci 268 12.9. Definiowanie sposobu formatowania przez klienta 268 12.10. Dodawanie opisów plików 269 12.11. Automatyczne generowanie tytuäów dokumentów 270 12.12. Zmiana ikon listy zawarto ci 270 12.13. Wy wietlanie katalogów na poczñtku listy 271 12.14. Porzñdkowanie wzglödem numeru wersji 272 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 12.18. Pomijanie wybranych kolumn na li cie zawarto ci 275 12.19. Wy wietlanie plików chronionych hasäem 276 12.20. Wy wietlanie aliasów na li cie zawarto ci 277 8 _ Spis tre ci
    8. 13. Pozosta e zagadnienia .............................................................................................. 279 13.1. Poprawne umieszczanie dyrektyw 279 13.2. Zmiana nazw plików .htaccess 281 13.3. Tworzenie listy zawarto ci katalogu 282 13.4. Rozwiñzanie „problemu koþcowego uko nika” 283 13.5. Ustalenie zawarto ci pola Content-Type w zale no ci od mo liwo ci przeglñdarki 285 13.6. Obsäuga brakujñcego pola Host nagäówka 285 13.7. Inny domy lny dokument 286 13.8. Konfiguracja domy lnej „ulubionej ikony” 287 13.9. Wy wietlanie listy zawarto ci katalogów ScriptAlias 287 13.10. Wäñczanie obsäugi plików .htaccess 289 13.11. Przeksztaäcanie dyrektyw Server Side Includes z serwerów IBM lub Lotus do serwera Apache 290 A U ycie wyra e regularnych ..................................................................................... 291 B Rozwiézywanie problemów ..................................................................................... 297 Skorowidz ............................................................................................................................ 307 Spis tre ci _ 9
    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
    10. 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 Obs uga w systemie Windows Obs uga przez serwer Apache 2.0 mod_dav Tak Modu do éczony do serwera — nie ma potrzeby instalowania. mod_perl Tak Tak mod_php Tak Tak mod_ssl Nie 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
    11. 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
    12. 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
    13. 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
    14. 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
    15. 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
    16. 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.n"); 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
    17. 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
    18. 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
    19. 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
    20. % 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
    21. 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
    22. 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
    23. 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

    + Wydawnictwo HelionWydawnictwo Helion, 4 months ago

    custom

    210 views, 0 favs, 0 embeds more stats

    Czy wiesz, jaki serwer HTTP jest najpopularniejszy more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 210
      • 210 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Tags