informatyka apache receptury wydanie ii rich bowen ebook

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 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 modu1ó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

background image

4

Spis tre%ci

3. Rejestracja zdarze4 .....................................................................................................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

background image

Spis tre%ci

5

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. Bezpiecze4stwo ......................................................................................................... 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

background image

6

Spis tre%ci

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

background image

Spis tre%ci

7

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. Obs1uga b1Ddó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

background image

8

Spis tre%ci

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

background image

Spis tre%ci

9

13. Pozosta1e 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 UHycie wyraHe4 regularnych ..................................................................................... 291

B RozwiJzywanie problemów ..................................................................................... 297

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

background image

43

ROZDZIAL 2.

Instalacja modu1ó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.

background image

44

Rozdzia1 2. Instalacja modu1ów

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 wersj7 2.0 serwera Apache

Nazwa modu1u

Obs1uga w systemie Windows

Obs1uga 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 modu1u

Problem

Nale(y zainstalowa) posiadany modu#, którego instalacja nie zosta#a omówiona osobno w tym
rozdziale.

RozwiJzanie

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ównieH

" Strony podr'cznika man dotycz%ce programu apxs, przewa(nie ServerRoot/man/man8/apxs.8.

background image

2.2. Instalacja modu1u mod_dav w systemie uniksowym

45

2.2. Instalacja modu1u 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.

RozwiJzanie

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>

background image

46

Rozdzia1 2. Instalacja modu1ów

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ównieH

" Receptura 6.18.

" http://webdav.org/mod_dav/.

" http://webdav.org/cadaver/.

background image

2.3. Instalacja modu1u mod_dav w systemie Windows

47

2.3. Instalacja modu1u 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.

RozwiJzanie

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:\Apache\modules
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

background image

48

Rozdzia1 2. Instalacja modu1ów

<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 htdocs\dav-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 modu1u mod_dav za pomocJ programu Eksplorator Windows

Po przeznaczeniu katalogu htdocs\dav-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 sieciowe

1

.

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.

background image

2.4. Instalacja modu1u mod_perl w systemie uniksowym

49

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 htdocs\dav-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ównieH

" Receptura 6.18.

" http://webdav.org/mod_dav/.

2.4. Instalacja modu1u 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.

RozwiJzanie

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.*

background image

50

Rozdzia1 2. Instalacja modu1ów

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 Ywiecie! Pozdrowienia od moduZu 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.”.

background image

2.5. Instalacja modu1u mod_php w systemie uniksowym

51

Zobacz równieH

" http://perl.apache.org/.

" Ksi%(ka Writing Apache Modules with Perl and C, autorzy Doug MacEachern oraz Lincoln

Stein, wydawnictwo O'Reilly.

" Ksi%(ka mod_perl Developer's Cookbook, autorzy Geoffrey Young, Paul Lindner oraz Randy

Kobes wydawnictwo Sams

2

.

2.5. Instalacja modu1u mod_php

w systemie uniksowym

Problem

Do dzia#aj%cego serwera WWW Apache nale(y doda) modu# obs#ugi skryptów mod_php.

RozwiJzanie

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.

background image

52

Rozdzia1 2. Instalacja modu1ów

Zobacz równieH

" Receptura 8.16.

" Receptura 8.17.

" http://php.net/.

2.6. Instalacja modu1u 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.

RozwiJzanie

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 PHP4\SAPI\php4apache.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 PHP4\extensions. Gdy, na przyk#ad, plik .zip zosta# rozpakowany do katalogu
C:\PHP4

, wiersz ten powinien wygl%da) nast'puj%co:

extension_dir = C:\PHP4\extensions

6.

Nast'pnie trzeba otworzy) do edycji plik conf\httpd.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>

background image

2.7. Instalacja modu1u mod_ssl

53

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ównieH

" http://php.net/.

2.7. Instalacja modu1u 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.

RozwiJzanie

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:

background image

54

Rozdzia1 2. Instalacja modu1ó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# 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ównieH

" Receptura 7.3.

" http://www.modssl.org/.

2.8. Wyszukiwanie modu1ó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.

background image

Czytaj dalej...

2.9. Instalacja modu1u mod_security

55

RozwiJzanie

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ównieH

" http://sourceforge.net.

" http://freshmeat.net.

2.9. Instalacja modu1u 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.

RozwiJzanie

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


Wyszukiwarka

Podobne podstrony:
informatyka php receptury wydanie ii adam trachtenberg ebook(1)
informatyka android w akcji wydanie ii frank ableson ebook
Apache Receptury Wydanie II apare2 2
informatyka wojownik sieci wydanie ii gary a donahue ebook
informatyka excel 2007 pl leksykon kieszonkowy wydanie ii curt frye ebook
informatyka budowa robotow dla srednio zaawansowanych wydanie ii david cook ebook
informatyka e biznes poradnik praktyka wydanie ii maciej dutko ebook
informatyka godzina dziennie z seo wejdz na szczyty wyszukiwarek wydanie ii jennifer grappone ebook
informatyka html xhtml i css praktyczne projekty wydanie ii wlodzimierz gajda ebook
informatyka metoda running lean iteracja od planu a do planu ktory da ci sukces wydanie ii ash maury
informatyka praktyczny kurs asemblera wydanie ii eugeniusz wrobel ebook

więcej podobnych podstron