Apache Receptury Wydanie II apare2 2

background image

Wydawnictwo Helion

ul. Koœciuszki 1c

44-100 Gliwice

tel. 032 230 98 63

e-mail: helion@helion.pl

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!

background image

3

Spis treci

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ódowych serwera Apache

27

1.5.

Budowa serwera Apache z kodu ródowego

29

1.6.

Instalacja serwera Apache za pomoc programu ApacheToolbox

30

1.7. Uruchamianie,

zatrzymywanie oraz ponowne uruchamianie serwera Apache

32

1.8.

Usunicie serwera Apache

34

1.9.

Której wersji serwera Apache uy

35

1.10. Uaktualnienie serwera przy uyciu 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 moduu

44

2.2.

Instalacja moduu mod_dav w systemie uniksowym

45

2.3.

Instalacja moduu mod_dav w systemie Windows

47

2.4.

Instalacja moduu mod_perl w systemie uniksowym

49

2.5.

Instalacja moduu mod_php w systemie uniksowym

51

2.6.

Instalacja moduu mod_php w systemie Windows

52

2.7.

Instalacja moduu mod_ssl

53

2.8.

Wyszukiwanie moduów na witrynie modules.apache.org

54

2.9.

Instalacja moduu mod_security

55

2.10. Dlaczego ten modu nie dziaa?

57

background image

4

_

Spis treci

3. Rejestracja

zdarze .....................................................................................................59

3.1.

Zwikszenie szczegóowoci zapisów dziennika zdarze

62

3.2.

Zwikszenie liczby komunikatów o bdach

63

3.3.

Rejestracja zawartoci POST

65

3.4.

Rejestracja adresu IP klienta czcego 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 pochodzcych
ze stron lokalnych

69

3.8.

Zmiana pliku dziennika zdarze o okrelonej porze

70

3.9.

Zmiana pliku dziennika zdarze pierwszego dnia miesica

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 bdach

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 uywanych przegldarek

79

3.17. Rejestracja dowolnych pól nagówka dania

79

3.18. Rejestracja dowolnych pól nagówka odpowiedzi

80

3.19. Rejestracja aktywnoci serwera w bazie danych MySQL

81

3.20. Rejestracja zdarze w dzienniku systemowym

82

3.21. Rejestracja katalogów uytkownikó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 domylnego

90

4.3.

Konfiguracja serwerów wirtualnych opartych na adresach

91

4.4.

Konfiguracja jednego z serwerów wirtualnych
opartych na adresach jako serwera domylnego

92

4.5.

Jednoczesne uycie serwerów wirtualnych
opartych na adresach oraz na nazwach

93

4.6.

Liczne serwery wirtualne obsugiwane
za pomoc moduu mod_vhost_alias

94

4.7.

Liczne serwery wirtualne obsugiwane 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 dostpna pod kilkoma adresami IP

99

4.12. Definiowanie serwerów wirtualnych w bazie danych

100

background image

Spis treci

_

5

5. Aliasy, przekierowania oraz przepisania ................................................................. 103

5.1.

Przyporzdkowanie adresu URL do katalogu

103

5.2.

Tworzenie dodatkowego adresu URL dla istniejcej zawartoci

105

5.3.

Przydzielenie uytkownikom ich wasnych adresów URL

106

5.4.

Utosamienie kilku adresów URL za pomoc pojedynczej dyrektywy

109

5.5.

Przyporzdkowanie kilku adresów URL do tego samego katalogu CGI

110

5.6.

Tworzenie katalogów CGI dla kadego uytkownika

110

5.7.

Przekierowanie do innego miejsca

111

5.8.

Przekierowanie kilku adresów URL w to samo miejsce

113

5.9.

Nierozrónianie wielkoci liter w adresach URL

114

5.10. Wyrónianie skadni kodu ródowego PHP

bez uycia dowiza symbolicznych

115

5.11. Wymiana cigów znaków w danych adresach URL

117

5.12. Zamiana informacji o ciece na argumenty CGI

117

5.13. Odmowa dostpu daniom pochodzcym z obcych stron

118

5.14. Przekierowanie da pochodzcych z obcych stron do strony z informacjami

119

5.15. Przepisanie na podstawie acucha zapytania

120

5.16. Przekierowanie caego lub czci 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 cieki do cigu zapytania i odwrotnie

124

5.21. Przepisywanie nazwy serwera na nazw katalogu

125

5.22. Przeksztacanie segmentów adresu URL w argumenty zapytania

126

5.23. Uywanie dyrektyw AliasMatch, ScriptAliasMatch i RedirectMatch

126

6. Bezpieczestwo ......................................................................................................... 129

6.1.

Wykorzystanie kont uytkowników
do uwierzytelnienia dostpu do zasobów WWW

130

6.2.

Konfiguracja hase jednorazowych

132

6.3. Wygasajce

hasa

133

6.4.

Ograniczanie wielkoci umieszczanych na serwerze plików

135

6.5.

Ograniczenie pobierania obrazków ze stron znajdujcych si
na innych serwerach

137

6.6.

danie zarówno sabego, jak i silnego uwierzytelnienia

138

6.7.

Zarzdzanie plikami .htpasswd

139

6.8.

Przygotowanie plików hase uwierzytelniania typu Digest

141

6.9.

Rozlunienie ochrony w podkatalogu

142

6.10. Wybiórcze zniesienie ochrony

144

6.11. Autoryzacja za pomoc informacji o wacicielu pliku

146

6.12. Przechowywanie powiadcze uytkownika w bazie danych MySQL

147

background image

6

_

Spis treci

6.13. Dostp do nazwy uytkownika uwierzytelnionego

148

6.14. Uzyskanie hasa uytego do uwierzytelnienia

149

6.15. Ochrona przed atakami na hasa typu brute-force 150
6.16. Uwierzytelnianie typu Digest i uwierzytelnianie typu Basic

151

6.17. Dostp do powiadcze osadzonych w adresach URL

153

6.18. Zabezpieczenie

usugi

WebDAV

153

6.19. Uruchomienie usugi WebDAV bez udzielenia zezwolenia na zapisywanie

do plików uytkownikowi, z uprawnieniami którego dziaa serwer

154

6.20. Ograniczanie dostpu poprzez proxy do okrelonych adresów URL

156

6.21. Ochrona plików za pomoc osony

157

6.22. Ochrona plików serwera przed zoliwymi skryptami

159

6.23. Nadanie

prawidowych

uprawnie

do

plików

160

6.24. Uruchomienie serwera z minimaln liczb moduów

163

6.25. Ograniczenie dostpu do plików znajdujcych si

poza katalogiem gównym WWW

165

6.26. Ograniczenie metod dostpnych dla uytkowników

166

6.27. Ograniczanie

da

zakresów

167

6.28. Obrona przed atakami DoS przy uyciu moduu mod_evasive

168

6.29. Zmiana katalogu gównego serwera Apache

przy uyciu moduu mod_security

170

6.30. Migracja do mechanizmów uwierzytelniania w wersji 2.2

171

6.31. Blokowanie dziaania robaków przy uyciu moduu mod_security

172

6.32. Uprawnienia tylko do odczytu i do zapisu w repozytorium Subversion

173

6.33. Uywanie staych 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 orodka certyfikacyjnego

183

7.5.

Udostpnianie czci 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 domylnego w katalogu CGI

194

8.4.

Wykorzystanie rozszerze plików systemu Windows
do uruchamiana skryptów CGI

195

background image

Spis treci

_

7

8.5.

Identyfikacja skryptów CGI na podstawie ich rozszerze

197

8.6.

Sprawdzenie, czy obsuga programów CGI
jest skonfigurowana poprawnie

198

8.7.

Odczyt wartoci z formularza

200

8.8.

Uruchamianie programu CGI dla pewnych rodzajów treci

203

8.9. Uycie

SSI

204

8.10. Przedstawienie daty ostatniej modyfikacji

206

8.11. Doczenie standardowego nagówka

207

8.12. Doczanie wyniku dziaania programu CGI

208

8.13. Uruchamianie

za

pomoc

programu suexec skryptów CGI

z uprawnieniami innego uytkownika

208

8.14. Instalacja programu obsugi moduu mod_perl z serwisu CPAN

210

8.15. Pisanie programów obsugi moduu mod_perl

212

8.16. Uruchomienie obsugi skryptów PHP

213

8.17. Weryfikacja instalacji PHP

214

8.18. Parsowanie danych wynikowych CGI

z uwzgldnieniem dyrektyw Server Side Includes

215

8.19. Parsowanie danych wynikowych skryptów ScriptAlias

z uwzgldnieniem dyrektyw Server Side Includes

216

8.20. Wyznaczenie mod_perl do obsugi wszystkich skryptów w jzyku Perl

216

8.21. Wczenie obsugi skryptów jzyka Python

217

9. Obsuga

bdów ........................................................................................................ 219

9.1.

Obsuga przypadku brakujcego pola Host

219

9.2.

Zmiana kodu stanu odpowiedzi za pomoc skryptu CGI 220

9.3.

Wasne komunikaty o bdach

221

9.4.

Komunikaty o bdach w rónych jzykach

222

9.5. Przekierowanie

odwoa

do niepoprawnych adresów URL do innych stron

223

9.6.

Prawidowa strona komunikatu o bdzie w programie Internet Explorer

224

9.7.

Powiadamianie o bdach

225

10. Proxy .......................................................................................................................... 227

10.1. Zabezpieczenie serwera proxy

227

10.2. Zabezpieczenie serwera proxy przed uyciem

go jako otwartego przekanika poczty

229

10.3. Przekazywanie da do innego serwera

230

10.4. Blokowanie da proxy do okrelonych miejsc

231

10.5. Przeniesienie da obsugiwanych przez mod_perl na inny serwer

232

10.6. Konfiguracja buforujcego serwera proxy

233

10.7. Filtrowanie treci przekazywanych przez serwer proxy

234

10.8. Wymaganie uwierzytelnienia si na serwerze dostpnym poprzez proxy

235

background image

8

_

Spis treci

10.9. Równowaenie obcienia przy uyciu mod_proxy_balancer

235

10.10. Przekazywanie wywoa z serwera wirtualnego

237

10.11. Blokowanie przekazywania wywoa FTP

237

11. Wydajno ..................................................................................................................239

11.1. Okrelenie iloci potrzebnej pamici RAM

239

11.2. Testowanie wydajnoci serwera Apache za pomoc programu ab

240

11.3. Dobór ustawie dostpu keepalive

242

11.4. Okrelenie stanu aktywnoci witryny WWW

243

11.5. Unikanie wyszukiwania w DNS

244

11.6. Optymalizacja dowiza symbolicznych

246

11.7. Ograniczanie wpywu uycia plików .htaccess na wydajno serwera

247

11.8. Wyczenie negocjacji treci

249

11.9. Optymalizacja tworzenia procesów

250

11.10. Dobór parametrów tworzenia wtków

251

11.11. Buforowanie najczciej przegldanych plików

253

11.12. Równomierne rozoenie obcienia midzy kilka serwerów

254

11.13. Buforowanie list zawartoci katalogu

256

11.14. Przypieszenie pracy programów Perl CGI za pomoc moduu mod_perl

257

11.15. Buforowanie treci dynamicznych

258

12. Zawarto

katalogów ................................................................................................ 261

12.1. Generowanie listy zawartoci katalogu lub folderu

261

12.2. Wywietlanie standardowego nagówka i stopki dla listy zawartoci katalogu

263

12.3. Wykorzystanie arkusza stylów

263

12.4. Ukrywanie wybranych elementów na licie zawartoci

264

12.5. Wyszukiwanie konkretnych plików na licie zawartoci katalogu

265

12.6. Sortowanie listy zawartoci

265

12.7. Sortowanie listy zawartoci w sposób wskazany przez klienta

266

12.8. Definiowanie sposobu formatowania listy zawartoci

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 zawartoci

270

12.13. Wywietlanie katalogów na pocztku listy

271

12.14. Porzdkowanie wzgldem numeru wersji

272

12.15. Wczanie sortowania wzgldem numeru wersji przez uytkownika

273

12.16. Przydzielenie uytkownikowi penej kontroli nad formatem listy zawartoci 273
12.17. Wyczenie moliwoci modyfikowania listy zawartoci przez uytkownika 274
12.18. Pomijanie wybranych kolumn na licie zawartoci

275

12.19. Wywietlanie plików chronionych hasem

276

12.20. Wywietlanie aliasów na licie zawartoci

277

background image

Spis treci

_

9

13. Pozostae

zagadnienia .............................................................................................. 279

13.1. Poprawne

umieszczanie

dyrektyw

279

13.2. Zmiana nazw plików .htaccess

281

13.3. Tworzenie listy zawartoci katalogu

282

13.4. Rozwizanie „problemu kocowego ukonika”

283

13.5. Ustalenie zawartoci pola Content-Type

w zalenoci od moliwoci przegldarki

285

13.6. Obsuga brakujcego pola Host nagówka

285

13.7. Inny domylny dokument

286

13.8. Konfiguracja domylnej „ulubionej ikony”

287

13.9. Wywietlanie listy zawartoci katalogów ScriptAlias

287

13.10. Wczanie obsugi plików .htaccess

289

13.11. Przeksztacanie dyrektyw Server Side Includes

z serwerów IBM lub Lotus do serwera Apache

290

A Uycie wyrae regularnych ..................................................................................... 291

B Rozwizywanie problemów ..................................................................................... 297

Skorowidz ............................................................................................................................ 307

background image

43

ROZDZIA 2.

Instalacja moduów

W pakiecie podstawowej dystrybucji serwera WWW Apache nie ma bardzo wielu popular-
nych moduów. Wikszo z nich nie trafia do dystrybucji podstawowej z powodów licen-
cyjnych lub z powodów zwizanych z obsug techniczn, inne nie s dystrybuowane przez
Apache Software Foundation, gdy tak decyzj podjli twórcy serwera, a jeszcze inne s in-
tegraln czci innych projektów. Na przykad modu mod_ssl dla serwera Apache 1.3 jest
tworzony i rozwijany oddzielnie, nie tylko z powodu amerykaskich ogranicze eksportowych
(które byy znacznie bardziej rygorystyczne w czasie, gdy pakiet powstawa), ale gównie
dlatego, e wymaga on wprowadzenia zmian do jdra serwera, na które nie zdecydowali si
jego twórcy.

W niniejszym rozdziale przedstawiono receptury omawiajce instalacj niektórych najbar-
dziej popularnych moduów pochodzcych spoza oficjalnej dystrybucji. Jeeli zachodzi taka
potrzeba, przedstawione s osobne receptury omawiajce 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 moduy s tak popularne lub
s tak zoone, e powicono im cae strony internetowe. Tak jest na przykad w przypadku
moduów omówionych w tym rozdziale.

Wielu twórców moduów zajmuje si tworzeniem tylko jednego moduu. Oznacza to, e poten-
cjalnie moe istnie tyle sposobów instalacji moduów, ile jest samych moduów. Pierwsza re-
ceptura tego rozdziau opisuje proces instalacji, który powinien by odpowiedni dla wielu
moduów wersji 1.3 serwera Apache. Jednak w przypadku kadego moduu, naley sprawdzi
w jego dokumentacji, czy jego instalacja nie przebiega w inny sposób.

Wiele z tych moduów mona otrzyma od firm, które tworz pakiety i dystrybuuj opro-
gramowanie Apache — na przykad w postaci moduów RPM firm Mandrake czy Red Hat.
Jednak takie pakiety budowane s przy pewnych zaoeniach poczynionych przez tworzc
je firm. Mówic inaczej — jeeli serwer zosta zbudowany z plików ródowych, a jego pliki
znajduj si w miejscach innych ni standardowe, nie naley si dziwi, gdy instalacja jakie-
go moduu si nie powiedzie.

background image

44

_

Rozdzia 2. Instalacja moduów

Wszystkie moduy opisane w tym rozdziale s obsugiwane przez wersj 1.3 serwera Apache
dziaajc 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. Obsuga moduów w systemie Windows oraz przez wersj 2.0 serwera Apache

Nazwa moduu

Obsuga w systemie Windows

Obsuga przez serwer Apache 2.0

mod_dav

Tak

Modu doczony do serwera
— nie ma potrzeby instalowania.

mod_perl

Tak

Tak

mod_php

Tak

Tak

mod_ssl

Nie

Modu doczony do serwera
— nie ma potrzeby instalowania.

2.1. Instalacja typowego moduu

Problem

Naley zainstalowa posiadany modu, którego instalacja nie zostaa omówiona osobno w tym
rozdziale.

Rozwizanie

W katalogu, w którym znajduje si plik ródowy moduu, naley wyda polecenie:

% /cieka/do/serwera/apache/bin/apxs -cia modu.c

Analiza

Gdy modu skada si z pojedynczego pliku o rozszerzeniu .c, istnieje due prawdopodobie-
stwo, e modu uda si zbudowa i zainstalowa za pomoc powyszego rozwizania. Mo-
duom skadajcym si z kilku plików ródowych powinny towarzyszy instrukcje instalacji.

Opcje

-cia

powoduj kolejno kompilacj, instalacj, a nastpnie aktywacj moduu. Pierwsza

czynno jest oczywista, instalacja polega na umieszczeniu pliku .so w miejscu, w którym bdzie
go poszukiwa serwer Apache, a aktywacja polega na umieszczeniu odpowiedniego wpisu
w pliku httpd.conf.

Zobacz równie

x Strony podrcznika man dotyczce programu apxs, przewanie ServerRoot/man/man8/apxs.8.

background image

2.2. Instalacja moduu mod_dav w systemie uniksowym

_

45

2.2. Instalacja moduu mod_dav

w systemie uniksowym

Problem

Na serwerze WWW naley uruchomi usug WebDAV. Dziki usudze WebDAV zdalni uyt-
kownicy mog dodawa, usuwa i uaktualnia pliki znajdujce si na serwerze w sposób
niezawodny i bezpieczny, bez potrzeby korzystania z usugi FTP.

Rozwizanie

Modu mod_dav jest doczony do wersji 2.0 serwera Apache, wystarczy go tylko uaktywni za
pomoc opcji kompilacji

--enable-dav

.

W przypadku serwera Apache 1.3 pakiet ródowy moduu mod_dav naley pobra ze strony
http://webdav.org/mod_dav/, rozpakowa, a nastpnie wyda polecenia:

% cd mod_dav-1.0.3-1.3.6
% ./configure --with-apxs=/usr/local/apache/bin/apxs
% make
# make install

Nastpnie naley 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 wczy do dziaajce-
go serwera. Aby sprawdzi, czy modu zosta zainstalowany poprawnie, trzeba na potrzeby
usugi WebDAV przeznaczy na serwerze jaki katalog i sprawdzi dostp do niego za po-
moc narzdzia wspomagajcego WebDAV. Polecamy uycie do tego celu programu cadaver
— korzystajcego z wiersza polece narzdzia typu open source. (Adres strony, z której mo-
na pobra program cadaver, znajduje si na kocu receptury).

Aby uaktywni na serwerze WWW usug WebDAV, naley do pliku httpd.conf doda co
najmniej dwie dyrektywy. Pierwsza wskazuje pooenie bazy blokad plików, wykorzysty-
wanej przez mod_dav po to, by operacje wykonywane przez WebDAV wzajemnie ze sob nie
kolidoway. Baza musi znajdowa si katalogu, do którego serwer ma prawo zapisu. Na
przykad:

# cd /usr/local/apache
# mkdir var
# chgrp nobody var
# chmod g+w var

Nastpnie w pliku httpd.conf, poza wszystkimi kontenerami, naley umieci wiersze:

<IfModule mod_dav.c>
DAVLockDB /usr/local/apache/var/DAVlock
</IfModule>

background image

46

_

Rozdzia 2. Instalacja moduów

Baza DAVLockDB nie moe znajdowa si w systemie plików typu NFS, gdy NFS
nie obsuguje wymaganego przez modu mod_dav sposobu blokowania plików.
Umieszczenie bazy blokad plików w systemie plików typu NFS moe doprowadzi
do nieprzewidywalnych skutków.

Nastpnie naley utworzy tymczasowy katalog sucy do przetestowania dziaania usugi
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 naley doda sekcj przeznaczajc utworzony katalog na potrzeby
usugi WebDAV:

<Directory "/usr/local/apache/htdocs/dav-test">
DAV On
</Directory>

Nastpnie naley zatrzyma i ponownie uruchomi serwer, który po uruchomieniu powinien
rozpocz obsug operacji WebDAV kierowanych pod lokalny identyfikator URI /dav-test.
Aby przetestowa dziaanie WebDAV za pomoc programu cadaver, naley wyda przedsta-
wione polecenia, w wyniku czego powinno si otrzyma wyniki podobne do poniszych:

% cd /tmp
% echo "Zwyky 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 waciwoci (ang. properties) s atrybutami zasobów WebDAV. Niektóry-
mi z nich (na przykad rozmiarem zasobu) zarzdza system, a inne mog by dowolnie do-
dawane, zmieniane i usuwane przez uytkownika.

Po sprawdzeniu poprawnoci dziaania moduu mod_dav katalog htdocs/dav-test naley usun,
podobnie jak zwizan z nim sekcj

<Directory>

pliku httpd.conf, a nastpnie naley 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/.

background image

2.3. Instalacja moduu mod_dav w systemie Windows

_

47

2.3. Instalacja moduu mod_dav w systemie Windows

Problem

Na serwerze WWW Apache 1.3 dziaajcym w systemie Windows naley za pomoc moduu
mod_dav uruchomi usug WebDAV.

Rozwizanie

Modu mod_dav w wersji 2.0 serwera Apache znajduje si standardowo, nie ma wic w takim
przypadku koniecznoci pobierania go i instalowania.

Ze strony http://webdav.org/mod_dav/win32/ naley pobra i rozpakowa pakiet moduu mod_dav
przeznaczony dla systemu Windows. Nastpnie naley sprawdzi, czy w katalogu

ServerRoot

(w katalogu gównym serwera Apache) znajduj si pliki xmlparse.dll oraz xmltok.dll. Jeeli ich
tam nie ma, naley odnale je w innych katalogach serwera Apache, a nastpnie skopiowa
je do katalogu

ServerRoot

. Do pracy modu mod_dav potrzebuje pakietu Expat, który jest

doczany do serwera Apache poczwszy od wersji 1.3.9. Poszukiwane pliki pochodz z pa-
kietu Expat.

Plik DLL moduu mod_dav naley przekopiowa do katalogu, w którym znajduj si moduy
serwera Apache:

C:\>cd mod_dav-1.0.3-dev
C:\mod_dav-1.0.3-dev>copy mod_dav.dll C:\Apache\modules
C:\mod_dav-1.0.3-dev>cd \Apache

W pliku httpd.conf naley umieci nastpujcy wiersz:

LoadModule dav_module modules/mod_dav.dll

Jeeli plik httpd.conf zawiera dyrektyw

ClearModuleList

i dodaje wszystkie moduy, naley

równie doda wiersz

AddModule

. Mona te wiersz

LoadModule

dotyczcy moduu mod_dav

umieci po dyrektywie

ClearModuleList

.

Analiza

Modu mod_dav zachowuje si poprawnie i atwo daje si zbudowa i wczy do dziaajce-
go serwera. Aby sprawdzi, czy modu zosta zainstalowany poprawnie, trzeba na potrzeby
usugi WebDAV przeznaczy na serwerze jaki katalog i sprawdzi dostp do niego za po-
moc narzdzia wspomagajcego WebDAV lub otworzy go programem Eksplorator Windows
(poczwszy od systemu Windows 2000). Mona te uzyska do niego dostp z innego kom-
putera za pomoc programu cadaver lub innego narzdzia wspomagajcego WebDAV.

Aby uaktywni na serwerze WWW usug WebDAV, naley do pliku ServerRoot/conf/httpd.conf
doda co najmniej dwie dyrektywy. Pierwsza wskazuje pooenie bazy blokad plików wyko-
rzystywanej przez mod_dav po to, by operacje wykonywane przez WebDAV wzajemnie nie
kolidoway ze sob. Baza musi znajdowa si w katalogu, do którego serwer ma prawo do za-
pisu. Na przykad:

C:\Apache-1.3>mkdir var

background image

48

_

Rozdzia 2. Instalacja moduów

eby uruchomi usug WebDAV, do pliku httpd.conf naley doda nastpujce wiersze:

<IfModule mod_dav.c>
DAVLockDB "C:/Apache-1.3/var/dav-lock"
</IfModule>

eby przetestowa prac moduu mod_dav, naley utworzy tymczasowy katalog:

C:\Apache-1.3>mkdir htdocs\dav-test

Nastpnie, po to, by usuga WebDAV rozpocza udostpnianie katalogu testowego, naley
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 naley zatrzyma serwer i uruchomi go ponownie, a nastpnie spróbowa otworzy
katalog /dav-test za pomoc klienta WebDAV. W przypadku zastosowania jako klienta Web-
DAV dziaajcego w innym komputerze programu cadaver, przykad jego uycia mona znale
w recepturze 2.2. Poniej przedstawiono sposób testowania pracy moduu mod_dav za pomoc
programu Eksplorator Windows.

Testowania pracy moduu mod_dav za pomoc programu Eksplorator Windows

Po przeznaczeniu katalogu htdocs\dav-test na potrzeby usugi WebDAV i ponownym urucho-
mieniu serwera WWW Apache naley uruchomi program Eksplorator Windows. Aby uzyska
dostp do katalogu usugi WebDAV, naley wykona niej opisane czynnoci. Mona to zrobi
na komputerze, na którym uruchomiono usug WebDAV lub na innym komputerze z systemem
Windows, który ma dostp do tego komputera.

1.

W programie Eksplorator Windows naley klikn pozycj Moje miejsca sieciowe

1

.

2.

Nastpnie w prawym oknie programu Eksplorator Windows naley klikn dwukrotnie
ikon Dodaj miejsce sieciowe.

3.

Jako lokalizacj nowego miejsca sieciowego naley wpisa:

http://127.0.0.1/dav-test/

Gdy czynnoci te wykonywane s w innym komputerze ni ten, w którym uruchomiono
usug WebDAV, zamiast adresu

127.0.0.1

naley wpisa nazw serwera, w którym

uruchomiono modu mod_dav.

4.

Po naciniciu przycisku Dalej naley 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 naley przej do dowolnego katalogu
zawierajcego pliki.

1

Ponisza procedura dotyczy systemów Windows 2000 lub Windows Me. W systemie Windows XP naley
klikn dwukrotnie znajdujc si na pulpicie ikon Moje miejsca sieciowe, a nastpnie ze znajdujcego si
po lewej stronie panela Zadania sieciowe wybra Dodaj miejsce sieciowe — przyp. tum.

background image

2.4. Instalacja moduu mod_perl w systemie uniksowym

_

49

7.

Przytrzymujc wcinity przycisk Ctrl, naley przecign do okna otwartego w punkcie 5.
dowolny plik lub pliki.

8.

System Windows powinien na krótko pokaza okno informujce o postpie procesu ko-
piowania, po czym kopiowany plik powinien znale si w oknie docelowym.

Gratulacje! Plik zosta skopiowany do serwera za pomoc usugi WebDAV.

Po zakoczeniu testowania naley usun katalog htdocs\dav-test, a take usun z pliku konfigu-
racyjnego wiersz

<Directory "C:/Apache-1.3/htdocs/dav-test">

. W przeciwnym razie swoje

pliki bdzie móg umieszcza tam kady.

Zobacz równie

x Receptura 6.18.
x http://webdav.org/mod_dav/.

2.4. Instalacja moduu mod_perl

w systemie uniksowym

Problem

Aby skrypty Perla byy wykonywane szybciej i byy lepiej obsugiwane przez serwer WWW,
naley zainstalowa modu mod_perl.

Rozwizanie

W przypadku serwera Apache 1.3 ze strony http://perl.apache.org/ naley pobra pakiet ró-
dowy moduu mod_perl 1.0, rozpakowa go, a nastpnie wyda nastpujce polecenia:

% perl Makefile.PL \
> USE_APXS=1 \
> WITH_APXS=/usr/local/apache/bin/apxs \
> EVERYTHING=1 \
> PERL_USELARGEFILES=0
% make
% make install

Nastpnie naley uruchomi serwer ponownie.

Dla serwera Apache 2.0 i wersji póniejszych proces przebiega analogicznie. Naley pobra
i rozpakowa pakiet ródowy mod_perl 2.0, a nastpnie wykona nastpujce polecenie:

% perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs

Analiza

Modu mod_perl jest moduem do zoonym. Na serwerze Apache mona zainstalowa go na
kilka sposobów. W recepturze przedstawiono sposób najszybszy i najprostszy. Jeeli z jakich
powodów sposób ten jest nieodpowiedni, naley zapozna si z rónymi plikami README.*

background image

50

_

Rozdzia 2. Instalacja moduów

znajdujcymi si w katalogu pakietu. Poniewa podstawowym jzykiem moduu jest Perl,
a nie C, instrukcja instalacji róni si zdecydowanie od stosowanych w przypadku wikszoci
innych moduów.

Gdy po instalacji moduu serwer uruchomi si poprawnie, modu mod_perl rozpoczyna dziaa-
nie i jest skonfigurowany. Dziaanie moduu mona przetestowa, dokonujc zmian w pliku
httpd.conf, dodajc kilka skryptów i obserwujc, czy serwer obsuguje je poprawnie. Oto
przykad testowania dziaania moduu mod_perl.

1.

Na potrzeby skryptów moduu mod_perl naley utworzy nowy folder:

# cd ServerRoot
# mkdir lib lib/perl lib/perl/Apache

2.

W katalogu conf/ serwera naley utworzy plik startup.pl zawierajcy instrukcje urucho-
mieniowe dla moduu 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.

Nastpnie naley utworzy wykorzystywany w tecie 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 moduu mod_perl.\n");
return OK;
}
1;

4.

Teraz trzeba otworzy do edycji plik konfiguracyjny serwera i umieci w nim dyrekty-
wy umoliwiajce moduowi mod_perl odnalezienie potrzebnych mu skadników oraz in-
formujce go, kiedy ma uruchomi skrypt testowy. Do pliku httpd.conf naley doda na-
stpujce wiersze:

<IfModule mod_perl.c>
PerlRequire conf/startup.pl
<Location /mod_perl/howdy>
SetHandler perl-script
PerlHandler Apache::HelloWorld
</Location>
</IfModule>

5.

Teraz naley uruchomi serwer ponownie, a nastpnie uruchomi skrypt, wpisujc:
http://localhost/mod_perl/howdy.

Jeeli konfiguracja jest poprawna, pojawi si strona zawierajce zdanie: „Witaj wiecie! Po-
zdrowienia od moduu mod_perl.”.

background image

2.5. Instalacja moduu mod_php w systemie uniksowym

_

51

Zobacz równie

x http://perl.apache.org/.
x Ksika Writing Apache Modules with Perl and C, autorzy Doug MacEachern oraz Lincoln

Stein, wydawnictwo O'Reilly.

x Ksika mod_perl Developer's Cookbook, autorzy Geoffrey Young, Paul Lindner oraz Randy

Kobes wydawnictwo Sams

2

.

2.5. Instalacja moduu mod_php

w systemie uniksowym

Problem

Do dziaajcego serwera WWW Apache naley doda modu obsugi skryptów mod_php.

Rozwizanie

Pakiet ródowy moduu mod_php naley pobra ze strony http://php.net/, rozpakowa go, a na-
stpnie wyda nastpujce polecenia:

% cd php-5.2.3
% ./configure \
> --with-apxs=/usr/local/apache/bin/apxs
% make
# make install

Nastpnie naley uruchomi serwer ponownie.

Analiza

Aby przekona si, e instalacja zakoczya si powodzeniem, w katalogu

DocumentRoot

ser-

wera WWW naley utworzy skadajcy si z jednego wiersza plik info.php:

<?php phpinfo( ); ?>

Do pliku konfiguracyjnego httpd.conf naley doda ponisze wiersze:

<IfModule mod_php4.c>
AddHandler application/x-httpd-php .php
</IfModule>

Po ponownym uruchomieniu serwera WWW naley za pomoc przegldarki spróbowa
otworzy dokument info.php. W wyniku tego powinien pojawi si szczegóowy opis aktyw-
nych opcji PHP. Jeeli opis rzeczywicie si pojawi, bdzie to wskazywa, e instalacja zako-
czya si pomylnie i plik info.php mona usun.

Podczas instalacji PHP mona zastosowa wiele opcji i rozszerze, w tej recepturze omówio-
no tylko najprostszy sposób instalacji moduu.

2

Polskie wydanie: mod_perl. Podrcznik programisty, Helion 2003 — przyp. red.

background image

52

_

Rozdzia 2. Instalacja moduów

Zobacz równie

x Receptura 8.16.
x Receptura 8.17.
x http://php.net/.

2.6. Instalacja moduu mod_php w systemie Windows

Problem

Do dziaajcego w systemie Windows serwera WWW Apache naley doda modu obsugi
skryptów mod_php.

Rozwizanie

W tej recepturze zamiast podawania szczegóowych polece czynnoci, które naley wyko-
na, przedstawione zostan w sposób opisowy.

1.

Ze strony http://php.net/ naley pobra plik binarny .zip (a nie plik .exe) PHP dla systemu
Windows zawierajcego rozszerzenia API.

2.

Plik .zip naley rozpakowa do katalogu, w którym zawarto pliku moe pozosta na
zawsze (na przykad do katalogu C:\PHP4). W przypadku uycia programu WinZip na-
ley zaznaczy pole wyboru Use folder names, aby utworzona zostaa taka struktura pli-
ków jak umieszczona w pliku .zip.

3.

Do katalogu \modules\ znajdujcego si w katalogu

ServerRoot

serwera Apache naley

przekopiowa plik PHP4\SAPI\php4apache.dll.

4.

W oknie wiersza polecenia naley przej do katalogu PHP4, do którego zosta rozpako-
wany plik .zip, a nastpnie 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%

naley

uy

%WINDOWS%

).

5.

Nastpnie naley otworzy do edycji plik %SYSTEMROOT%\php.ini, odnale w nim
wiersz zaczynajcy si od

extension_dir

i zmieni jego warto tak, by wskazywaa na

katalog PHP4\extensions. Gdy, na przykad, plik .zip zosta rozpakowany do katalogu
C:\PHP4, wiersz ten powinien wyglda nastpujco:

extension_dir = C:\PHP4\extensions

6.

Nastpnie trzeba otworzy do edycji plik conf\httpd.conf znajdujcy si w katalogu

ServerRoot

i w pobliu innych wierszy

LoadModule

naley doda wiersz:

LoadModule php4_module modules/php4apache.dll

W pobliu naley umieci równie wiersze dotyczce plików .php:

<IfModule mod_php4.c>
AddType application/x-httpd-php .php
</IfModule>

background image

2.7. Instalacja moduu mod_ssl

_

53

7.

Na koniec naley zrestartowa serwer Apache, w wyniku czego modu PHP powinien si
uaktywni.

Analiza

Aby zainstalowa modu PHP w systemie Windows, naley wykona wiele drobiazgowych
czynnoci. eby przekona si, e proces instalacji zakoczy si powodzeniem, w katalogu

DocumentRoot

serwera naley utworzy skadajcy si z jednego wiersza plik info.php:

<?php phpinfo( ); ?>

Po ponownym uruchomieniu si serwera WWW naley za pomoc przegldarki spróbowa
otworzy dokument info.php. W wyniku tego powinien pojawi si szczegóowy opis aktyw-
nych opcji PHP.

W czasie instalacji PHP mona zastosowa wiele opcji i rozszerze, w tej recepturze omó-
wiono tylko najprostszy sposób instalacji moduu. Wicej szczegóów na ten temat mona
znale w pliku install.txt znajdujcym si w katalogu PHP4 oraz w dokumentacji znajdujcej
si na stronach WWW.

Zobacz równie

x http://php.net/.

2.7. Instalacja moduu mod_ssl

Problem

Do dziaajcego serwera WWW Apache naley doda obsug SSL, instalujc w nim mod_ssl
— modu bezpiecznego HTTP.

Rozwizanie

Windows

Sposób instalacji protokou SSL w systemie Windows jest tematem receptury 7.2. Mówic
w najwikszym skrócie, najlepiej jest pobra XAMPP z witryny ApacheFriends.org, chyba
e posiada si odpowiednie dowiadczenie w budowaniu kodu ródowego w systemie
Microsoft Windows.

Apache 2.0

Modu mod_ssl zosta wczony do wersji 2.0 serwera Apache, ale w przypadku budowy
serwera z kodu ródowego, modu nie jest automatycznie kompilowany ani instalowany.
Aby w takim przypadku zainstalowa modu mod_ssl, naley 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/
naley pobra i rozpakowa archiwum tar moduu, a nastpnie wyda polecenia:

background image

54

_

Rozdzia 2. Instalacja moduów

% cd mod_ssl-2.8.14-1.3.27

3

% ./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 dziaa, kod ródowy serwera Apache musi zosta zmodyfikowany.
Dziki temu mona zainstalowa tylko tak wersj pakietu mod_ssl, która odpowiada wersji po-
siadanej dystrybucji serwera Apache. Jeeli instalacja serwera Apache nie zawiera plików ró-
dowych (co ma miejsce na przykad w przypadku instalacji serwera z pakietu RPM czy z innej
tego typu dystrybucji) — instalacja moduu mod_ssl nie powiedzie si.

Poza kodami ródowymi serwera Apache do zainstalowania moduu mod_ssl potrzebne s
jeszcze Perl oraz biblioteki OpenSSL. Ich pooenie okrela si za pomoc opcji

--with-ssl

.

Jeeli biblioteki znajduj si w katalogu utworzonym przez ich dostawc, sowo kluczowe

SYSTEM

poinformuje, e naley ich szuka wanie tam, dziki czemu nie trzeba bdzie ich

szuka samemu.

W przeciwiestwie do wikszoci innych moduów serwera Apache, aby zainstalowa modu
mod_ssl, naley uruchomi skrypt ./configure znajdujcy si w katalogu moduu mod_ssl, a nie
w katalogu plików ródowych serwera Apache. Skrypt moduu wprowadza odpowiednie
zmiany do skryptu serwera, a nastpnie uruchamia go.

W tej recepturze omówiono jedynie podstawowy sposób instalacji moduu mod_ssl. W czasie
konfiguracji moduu mod_ssl mona zleci moduowi wykorzystanie wielu dodatkowych
skadników oraz funkcji. Wicej informacji na ten temat mona znale w plikach README
oraz INSTALL znajdujcych w katalogu plików ródowych moduu 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 moduy serwera Apache udostpniajce okrelone funkcje lub noszce okre-
lone nazwy. Wiadomo jednoczenie, e istnieje rejestr moduów serwera Apache.

3

Nazwa katalogu zalena jest od instalowanej wersji mod_ssl. — przyp. red.

background image

2.9. Instalacja moduu mod_security

_

55

Rozwizanie

Na witrynie http://modules.apache.org naley poda sowa kluczowe odnoszce si do poszu-
kiwanych funkcji lub fragment nazwy moduu i przeprowadzi wyszukiwanie.

Analiza

Rejestr moduów serwera Apache to nieoficjalna witryna internetowa, na której autorzy mo-
duów z wasnej inicjatywy mog zarejestrowa efekty swoich prac, aby udostpni je innym
uytkownikom.

Wspomniana witryna w adnym wypadku nie zawiera wszystkich moduów serwe-
ra Apache; wiele z nich jest dostpnych na witrynie SourceForge albo na domowych
witrynach ich autorów. Jeeli poszukiwany modu nie zostanie znaleziony na
http://modules.apache.org, mona spróbowa go poszuka na witrynie SourceForge
(pod adresem http://sourceforge.net), FreshMeat (http://freshmeat.net) albo po prostu
przeszuka internet przy uyciu Google lub innej wyszukiwarki internetowej.

Zobacz równie

x http://sourceforge.net.
x http://freshmeat.net.

2.9. Instalacja moduu mod_security

Problem

Trzeba zainstalowa modu mod_security, aby skorzysta z udostpnianych przez niego pro-
stych, a jednoczenie rozbudowanych mechanizmów filtrujcych.

Rozwizanie

Naley wykona nastpujce czynnoci:

1.

Pobra modu mod_security oraz gówne reguy moduu z witryny http://modules.apache.org.
Aby znale modu do pobrania na podanej stronie WWW, naley skorzysta z pozycji
menu Browse lub Search.

Po pobraniu moduu warto sprawdzi jego sygnatur PGP, aby upewni si, e plik
nie uleg zmianie. Wicej informacji na ten temat znajduje si na witrynie internetowej
moduu mod_security.

2.

Rozpakowa zestaw (bez regu) do katalogu roboczego:

% cd /usr/local/build
% tar xzf /usr/local/kits/modsecurity-apache_2.1.1

background image

56

_

Rozdzia 2. Instalacja moduów

3.

Przej do rozpakowanego katalogu i zbudowa pakiet, wykorzystujc 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 zewntrznych mod_security trzeba
budowa przy uyciu jego wasnych mechanizmów, a nie przez zwyke wywoanie
narzdzia apxs serwera Apache.

4.

Rozpakowa gówne reguy 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 nastpujce wiersze:

LoadModule security_module modules/mod_security2.so
Include conf/mod_security/*.conf

6.

Zrestartowa serwer.

Analiza

Skrypt Makefile doczony do pakietu mod_security zbuduje modu i umieci go w odpowied-
niej lokalizacji, lecz ponowne wczenie serwera jest ju powinnoci samego uytkownika.
Najnowsze wersje pakietu zawieraj zestaw gównych regu obsugujcych przypadki takie
jak spamowanie blogów czy najczciej spotykane ataki. Reguy s równie dostpne w od-
dzielnym archiwum tar, które moe by uaktualniane niezalenie od regu doczanych do
samego moduu.

Aktualna wersja moduu mod_security obsuguje wycznie serwer Apache w wersji 2. Dostpna
jest równie starsza wersja obsugujca wersj 1.3 serwera, lecz jest mao prawdopodobne, by
bya utrzymywana przez duszy czas.

Zobacz równie

x Witryna internetowa moduu mod_security pod adresem http://modsecurity.org.

background image

2.10. Dlaczego ten modu nie dziaa?

_

57

2.10. Dlaczego ten modu nie dziaa?

Problem

Pomimo próby zainstalowania moduu pochodzcego od dostawcy zewntrznego serwer WWW
Apache nie rozpoznaje go.

Rozwizanie

Naley sprawdzi kod ródowy moduu, jego dokumentacj albo zwróci si bezporednio
do autora moduu, aby ustali wersj serwera Apache obsugiwan przez modu.

Analiza

W miar wprowadzania do serwera Apache kolejnych znaczcych zmian moe si zdarzy,
e zmiana w API serwera doprowadzi do powstania niezgodnoci jego moduów. Wpraw-
dzie twórcy rozwijajcy serwer d do tego, by podobne niezgodnoci zdarzay si jak naj-
rzadziej, lecz czasami jest to po prostu nieuniknione.

Aby zapobiec adowaniu niezgodnego moduu i unikn w ten sposób zaamania serwera
WWW, zarówno w module, jak i w samym serwerze umieszczono wbudowany, „magiczny”
numer zapisywany w momencie ich budowania, wskazujcy wersj API. Gdy serwer spróbuje
zaadowa modu DSO, najpierw porówna numer wersji w module z wasnym numerem wersji
zapisanym na serwerze. Jeeli okae si, e numery wersji s niezgodne, serwer nie zaaduje
moduu.

Zespó rozwijajcy serwer dy do utrzymania zgodnoci midzy numerami wersji gównych,
lecz nie midzy rónymi numerami wersji gównych. Inaczej mówic, modu zbudowany dla
serwera Apache 1.3 powinien dziaa z praktycznie wszystkimi wersjami 1.3 serwera zbudo-
wanymi po dacie budowy moduu, natomiast na pewno nie bdzie obsugiwa serwera w wer-
sji 2.0. I odwrotnie: modu dla wersji 2.0 w adnym wypadku nie bdzie wspópracowa z ser-
werem w wersji 1.3.

Zobacz równie

x Rejestr moduów serwera Apache pod adresem http://modules.apache.org.


Wyszukiwarka

Podobne podstrony:
informatyka apache receptury wydanie ii rich bowen ebook
C Receptury Wydanie II cshre2
Perl Receptury Wydanie II
C Receptury Wydanie II
Perl Receptury Wydanie II perec2
PHP Receptury Wydanie II
C Receptury Wydanie II cshre2
C Receptury Wydanie II cshre2

więcej podobnych podstron