Darmowy fragment publikacji:
Apache 2.
Leksykon kieszonkowy
Autor: Andrew Ford
T³umaczenie: Grzegorz Werner
ISBN: 978-83-246-2179-8
Tytu³ orygina³u: Apache 2 Pocket Reference:
For Apache Programmers Administrators
Format: 115×170, stron: 224
Podrêczne Ÿród³o informacji na temat Apache!
(cid:129) Jak wykorzystaæ mechanizm mod_rewrite?
(cid:129) Jak kontrolowaæ dostêp do zasobów?
(cid:129) Jak stosowaæ bezpieczny protokó³ SSL?
Apache jest jednym z najpopularniejszych serwerów HTTP. Jego zalety to niezawodnoœæ,
wydajnoœæ i elastycznoœæ. Mo¿na go uruchomiæ praktycznie w dowolnym systemie.
Istotny jest równie¿ fakt, ¿e Apache to rozwi¹zanie ca³kowicie bezp³atne! Pierwsza
oficjalna wersja tego serwera ukaza³a siê w 1995 roku. Oznaczono j¹ numerem 0.6.2.
Po blisko piêtnastu latach rozwi¹zanie to zyska³o ogromn¹ rzeszê u¿ytkowników.
Spo³ecznoœæ zwi¹zana z tym narzêdziem jest niezwykle chêtna do pomocy, co
niew¹tpliwie stanowi jeszcze jeden niezmiernie wa¿ny atut, przemawiaj¹cy na korzyœæ
Apache.
Niniejszy leksykon jest œwietn¹ pozycj¹ dla tych osób, które mia³y ju¿ stycznoœæ
z serwerem Apache lub chc¹ szybko opanowaæ konkretne zagadnienia zwi¹zane z jego
konfiguracj¹. Dziêki tej ksi¹¿ce poznasz wszystkie dyrektywy, które mog¹ byæ przydatne
w codziennej pracy. Dowiesz siê, jak skonfigurowaæ œrodowisko serwera, oraz poznasz
zasady odwzorowywania adresów URL. Ponadto nauczysz siê zapewniaæ odpowiedni¹
kontrolê dostêpu do poszczególnych zasobów i korzystaæ z takich mechanizmów, jak
filtry, metadane lub procedury obs³ugi. Wiele cennych informacji, zawartych w tej
porêcznej ksi¹¿ce, sprawi, ¿e codzienna praca z serwerem Apache bêdzie dla Ciebie
przyjemnoœci¹!
(cid:129) Ogólne zagadnienia zwi¹zane z prac¹ i konfiguracj¹ Apache
(cid:129) Konfiguracja wirtualnych hostów (VirtualHost)
(cid:129) Zarz¹dzanie procesami
(cid:129) Odwzorowanie adresów URL
(cid:129) Przekszta³canie adresów z wykorzystaniem mod_rewrite
(cid:129) Kontrola dostêpu
(cid:129) Uwierzytelnianie z u¿yciem mechanizmów HTTP Basic, HTTP Digest
(cid:129) Zastosowanie metadanych dokumentów
(cid:129) Manipulowanie nag³ówkami HTTP
(cid:129) Wykorzystanie skryptów CGI
(cid:129) Zastosowanie WebDAV
(cid:129) U¿ywanie filtrów
(cid:129) Buforowanie treœci
(cid:129) Konfiguracja i wykorzystanie bezpiecznego protoko³u SSL
(cid:129) Logowanie zdarzeñ
Skonfiguruj Apache zgodnie ze swoimi potrzebami!
Spis treļci
Przedmowa ...................................................................................7
1. Wprowadzenie ........................................................................... 10
10
13
14
17
Przeglñd architektoniczny
Jak uzyskaè Apache’a?
Uruchamianie i zatrzymywanie Apache’a
Pliki konfiguracyjne
2. Ļrodowisko serwera ...................................................................28
28
32
37
42
50
53
Gäówny serwer i hosty wirtualne
Konfiguracja sieci
Zarzñdzanie procesami
Ogólne dyrektywy konfiguracyjne
Szkielet DBD
Szkielet LDAP
3. Odwzorowywanie adresów URL ..................................................58
58
61
62
65
Wstöpna konfiguracja Ĉrodowiska
Podstawowa translacja adresów URL
Aliasy i przekierowania
ēñdania katalogów
Przeksztaäcanie adresów URL
z wykorzystaniem moduäu mod_rewrite
Dokumenty z negocjacjñ treĈci
66
72
3
Katalogi uĔytkowników
Poprawianie bäödnie wpisanych adresów URL
Mapy obrazkowe
Masowy hosting wirtualny
73
74
75
78
4. Kontrola dostýpu ....................................................................... 80
80
82
86
91
95
Kontrola dostöpu niezwiñzana z kontami uĔytkowników
Uwierzytelnianie
Dostawcy usäug uwierzytelniania
Autoryzacja
Uwierzytelnianie i autoryzacja LDAP
5. Metadane dokumentu ..............................................................100
100
105
106
107
110
111
112
Standardowe atrybuty dokumentu
Automatyczne okreĈlanie typu
Wygasanie dokumentów
Manipulowanie nagäówkami HTTP
Metapliki CERN
ćledzenie uĔytkowników
Zmienne Ĉrodowiskowe
6. Procedury obsĥugi ..................................................................... 114
115
116
116
122
124
126
127
128
Konfiguracja procedur obsäugi
Pliki statyczne
Automatycznie generowane indeksy katalogów
Skrypty CGI
API rozszerzeþ serwera internetowego
WebDAV
Strony statusu generowane przez serwer
Dostosowane komunikaty o bäödach
4
_
Spis treļci
7. Filtry ..........................................................................................130
130
132
135
137
139
143
Proste konfiguracje filtrów
Dynamiczna konfiguracja filtrów
Filtry zewnötrzne
Dyrektywy moduäu mod_deflate
Server-Side Includes (SSI)
Zastöpowanie danych w treĈci odpowiedzi
8. Buforowanie .............................................................................144
144
145
148
150
Proste buforowanie zorientowane na pliki
Buforowanie inteligentne
Buforowanie danych w pamiöci
Buforowanie danych na dysku
9. Poļredniczenie .......................................................................... 152
152
157
159
160
165
Podstawowa konfiguracja poĈredniczenia
ãaþcuchy poĈredniczenia
Zwykäy serwer poĈredniczñcy
Odwrotny serwer poĈredniczñcy
RównowaĔenie obciñĔenia
10. Obsĥuga SSL/TLS ......................................................................166
166
169
172
174
178
Opcje zabezpieczonego serwera
Certyfikaty
Buforowanie sesji
Kontrola dostöpu oparta na SSL
Dyrektywy zwiñzane z poĈredniczeniem
11. Rejestrowanie informacji .........................................................182
182
184
187
188
189
Rejestrowanie bäödów
Rejestrowanie Ĕñdaþ
Rejestrowanie skryptów
Rejestrowanie ruchu SSL
Rejestrowanie Ĉledcze
Spis treļci
_
5
A Programy i moduĥy ...................................................................190
190
191
Narzödzia pomocnicze
Moduäy
B Zmienne ļrodowiskowe CGI .................................................... 195
195
197
Standardowe zmienne CGI
Dodatkowe zmienne SSL
C Formaty czasu strftime() ..........................................................201
D Kody stanu HTTP .......................................................................203
E Pola nagĥówka HTTP .................................................................205
Skorowidz .................................................................................209
6
_
Spis treļci
Rozdziaĥ 1. Wprowadzenie
W tym rozdziale krótko opisano architekturö Apache’a, pobieranie
oprogramowania, uruchamianie i zatrzymywanie serwera oraz
podstawy pliku konfiguracyjnego.
Przegléd architektoniczny
Apache zwykle dziaäa jako usäuga systemowa, tak zwany demon,
z procesem lub wñtkiem macierzystym, który nadzoruje procesy
lub wñtki potomne przetwarzajñce Ĕñdania klientów. Pominñwszy
pewne rdzenne mechanizmy, wiökszoĈè funkcji jest realizowana
przez moduäy, które mogñ byè statycznie poäñczone z serwerem
albo wczytywane dynamicznie podczas rozruchu.
Systemy operacyjne róĔniñ siö pod wzglödem implementacji funkcji
takich jak äñcznoĈè sieciowa i wieloprzetwarzanie. W wersji 2.0
Apache’a wprowadzono moduäy MPM (MultiProcessing Module),
które obsäugujñ äñcznoĈè sieciowñ i szeregowanie w sposób do-
stosowany do konkretnych systemów operacyjnych i wzorców
uĔycia. Sñ one wymienione w tabeli 1.1. Moduäy MPM uĔywajñ
natywnych mechanizmów systemu operacyjnego i zapewniajñ
szeregowanie z wykorzystaniem procesów, wñtków albo ich kom-
binacji. Apache w danym momencie uĔywa tylko jednego moduäu
MPM, który musi byè statycznie skompilowany z serwerem.
Moduäy MPM, inne moduäy oraz rdzeþ serwera WWW wykorzy-
stujñ Ĉrodowisko uruchomieniowe Apache Portable Runtime (APR),
które zapewnia spójny, niezaleĔny od platformy interfejs do ba-
zowego systemu operacyjnego. APR zawiera wywoäania API za-
pewniajñce dostöp do baz danych SQL i serwerów LDAP; sñ one
uĔywane w moduäach mod_dbd i mod_ldap, które udostöpniajñ
standardowe mechanizmy wykorzystywane przez inne moduäy.
10
_ Apache 2. Leksykon kieszonkowy
Tabela 1.1. Moduäy MPM
Moduĥ
beos
event
mpm_netware
mpm_winnt
mpmt_os2
prefork
worker
Opis
Wielowétkowy moduĥ MPM dla systemu operacyjnego BeOS.
Eksperymentalny wariant moduĥu MPM worker.
Wétkowy moduĥ MPM dla systemu Novell Netware.
Dwuprocesowy, wielowétkowy moduĥ MPM dla systemu
Windows.
Hybrydowy wieloprocesowy, wielowétkowy moduĥ MPM dla
systemu O/S2.
Tradycyjny bezwétkowy moduĥ MPM ze wstýpnym
rozwidlaniem procesu.
Hybrydowy wieloprocesowy, wielowétkowy moduĥ MPM.
Przegléd operacyjny
Podczas rozruchu Apache przechodzi fazö inicjalizacyjnñ, zanim
wejdzie w stan operacyjny. Podczas tej fazy Apache odczytuje
i weryfikuje pliki konfiguracyjne, otwiera poäñczenia sieciowe
i pliki dziennika, pozyskuje zasoby systemowe i tworzy pulö
procesów potomnych lub wñtków, które bödñ obsäugiwaè Ĕñdania.
Apache jest zwykle uruchamiany z przywilejami uĔytkownika
root, ale zrzeka siö ich przed wejĈciem w stan operacyjny.
Po wejĈciu w stan operacyjny procesy potomne lub wñtki Apache’a
zaczynajñ obsäugiwaè przychodzñce Ĕñdania. ēñdania sñ przetwa-
rzanie w kilku etapach, a na kaĔdym z nich dostöpne sñ punkty
wejĈcia, dziöki którym moduäy mogñ wziñè udziaä w przetwa-
rzaniu. Dla kaĔdego punktu wejĈcia Apache kolejno wywoäuje
zarejestrowane funkcje, dopóki jedna z nich nie zasygnalizuje, Ĕe
przetwarzanie dobiegäo koþca albo Ĕe wystñpiä bäñd.
Moduäy rejestrujñ procedury obsäugi dla faz, w których muszñ
wpäynñè na przetwarzanie Ĕñdania. Ogólnie rzecz biorñc, moduä
rejestruje procedury obsäugi tylko dla jednej lub dwóch faz.
Rozdziaĥ 1. Wprowadzenie
_
11
KolejnoĈè faz jest nastöpujñca:
Analiza skäadniowa Ĕñdania
Adres URL Ĕñdania jest odwzorowywany na przestrzeþ nazw
systemu plików.
Kontrola bezpieczeþstwa
Kontrola dostöpu, uwierzytelnianie i autoryzacja.
Przygotowanie Ĕñdania
Adres URL Ĕñdania i odwzorowana ĈcieĔka do pliku sñ do-
pasowywane do konfiguracji, aby ustaliè odpowiedniñ pro-
cedurö obsäugi treĈci oraz filtry i ustawiè inne metadane.
Generowanie treĈci
Wykonanie wybranej procedury obsäugi z ewentualnymi
filtrami.
Rejestrowanie Ĕñdania
Zapisywanie Ĕñdania w dzienniku.
Obraz ten komplikuje nieco to, Ĕe moduäy mogñ wykonywaè kolej-
ne Ĕñdania, aby zwróciè dokument inny od pierwotnie Ĕñdanego
albo sprawdziè, jaka byäaby odpowiedĒ, gdyby zaĔñdano innego
zasobu.
BieŜéce wersje Apache’a
Kiedy powstawaäa ta ksiñĔka (latem 2008 roku), w powszechnym
uĔytku byäy trzy podstawowe wersje Apache’a: 1.3, 2.0 i 2.2.
Apache 1.3 zostaä wydany w czerwcu 1998 roku i przez wiele
lat byä najpopularniejszym serwerem WWW. W 2000 roku roz-
poczöto prace nad nowñ architekturñ Apache’a; pierwsze wy-
danie produkcyjne nowej wersji, Apache 2.0, zostaäo udostöp-
nione w kwietniu 2002 roku. JednoczeĈnie wprowadzono nowy
12
_ Apache 2. Leksykon kieszonkowy
sposób numerowania wersji: wersje poboczne oznaczone nume-
rami nieparzystymi, takie jak 2.1 lub 2.3, to wersje rozwojowe;
wersje poboczne oznaczone numerami parzystymi, takie jak 2.0
lub 2.4, to wersje stabilne. Pierwsze wydanie wersji 2.2 pojawiäo
siö w 2005 roku, a najnowsze udostöpniono w lipcu 2008 roku.
W witrynie WWW Apache’a znajduje siö dokumentacja zmian
wprowadzonych w poszczególnych wersjach oraz notatki dotyczñ-
ce aktualizacji.
Jak uzyskaë Apache’a?
Serwer Apache jest dostöpny w wersjach dla wiökszoĈci wspóä-
czesnych platform komputerowych — wiökszoĈè dystrybucji
Linuksa i BSD oferuje go jako standardowy pakiet, jest on równieĔ
doäñczony do systemu Mac OS X. Wersjö dla systemu Microsoft
Windows, a takĔe pakiety Ēródäowe i inne pakiety binarne, moĔna
pobraè z witryny Apache’a i serwerów lustrzanych. Warto zapo-
znaè siö ze specyfikñ uĔywanej dystrybucji, poniewaĔ twórcy pa-
kietów zmieniajñ pewne szczegóäy, aby dostosowaè siö do kon-
wencji obowiñzujñcych na docelowej platformie.
MoĔna równieĔ doĈè äatwo skompilowaè Apache’a z kodu Ēró-
däowego, co ma tö zaletö, Ĕe zapewnia peänñ kontrolö nad bu-
dowñ serwera, statycznie doäñczanymi moduäami itd. Dystrybucja
Ēródäowa zawiera szczegóäowe instrukcje dotyczñce procesu
kompilacji.
Dystrybucja Ēródäowa domyĈlnie instaluje serwer w podkatalogach
katalogu /usr/local/apache2, które sñ wymienione w tabeli 1.2. Twór-
cy wiökszoĈci innych dystrybucji zmieniajñ ten ukäad.
Dystrybucje Apache’a zawierajñ kilka moduäów i programów na-
rzödziowych; sñ one wymienione w dodatku A.
Rozdziaĥ 1. Wprowadzenie
_
13
Tabela 1.2. Ukäad standardowych katalogów Apache’a
Katalog
bin
build
cgi-bin
conf
error
htdocs
icons
include
logs
man
manual
modules
Zawartoļë
Pliki programów (pliki programów administracyjnych sé czýsto
umieszczane w katalogu sbin).
Pliki uŜywane przez program narzýdziowy aspx.
Skrypty CGI.
Pliki konfiguracyjne (czýsto przechowywane w hierarchii katalogów /etc).
Komunikaty o bĥýdach HTTP w wielu jýzykach.
Dokumenty HTML.
Pliki ikon.
Pliki nagĥówkowe C wymagane do kompilacji zewnýtrznych moduĥów.
Pliki dziennika i pliki stanu, na przykĥad plik PID; pliki stanu sé czýsto
przechowywane w katalogu run.
Strony podrýcznika systemowego (czýsto przechowywane w systemowych
katalogach man).
Lokalna kopia podrýcznika Apache’a.
Doĥéczane moduĥy.
Uruchamianie i zatrzymywanie Apache’a
WiökszoĈè dystrybucyjnych pakietów Apache’a konfiguruje serwer
tak, aby byä uruchamiany podczas startu systemu i zatrzymywany
podczas jego zamykania.
W systemach uniksowych Apache zwykle dziaäa jako demon. Do
Apache’a doäñczony jest skrypt powäoki, apachectl, który automaty-
zuje proces uruchamiania i zatrzymywania demona. Skrypt ten jest
zwykle wywoäywany przez systemowy skrypt rozruchowy. Apa-
che reaguje na nastöpujñce sygnaäy wysäane do procesu macie-
rzystego (którego identyfikator jest zapisany w pliku PID):
TERM
Zatrzymuje serwer, nakazujñc procesowi macierzystemu usu-
niöcie wszystkich procesów potomnych i zakoþczenie dziaäania.
14
_ Apache 2. Leksykon kieszonkowy
HUP
USR1
Ponownie uruchamia serwer, nakazujñc procesowi macierzy-
stemu usuniöcie wszystkich procesów potomnych, ponowne
odczytanie plików konfiguracyjnych i uruchomienie nowych
procesów potomnych. Podczas restartu statystyki serwera sñ
zerowane.
Inicjuje äagodny restart. Procesy potomne koþczñ dziaäanie
po przetworzeniu bieĔñcego Ĕñdania albo natychmiast, jeĈli
obecnie nie obsäugujñ Ĕadnego Ĕñdania. Proces macierzysty
ponownie odczytuje pliki konfiguracyjne i zaczyna urucha-
miaè nowe procesy potomne, aby utrzymaè odpowiedniñ
liczbö procesów serwera. Podczas äagodnego restartu staty-
styki serwera nie sñ zerowane.
WINCH
Inicjuje äagodne zatrzymanie. Procesy potomne koþczñ dzia-
äanie po przetworzeniu bieĔñcego Ĕñdania albo natychmiast,
jeĈli nie obsäugujñ Ĕadnego innego Ĕñdania. Proces macierzysty
usuwa plik PID i przestaje nasäuchiwaè Ĕñdaþ we wszystkich
portach, ale kontynuuje monitorowanie, aĔ pozostaäe procesy
potomne zakoþczñ dziaäanie albo upäynie limit czasu.
JeĈli Apache w systemie Windows zostaä zainstalowany jako usäuga,
moĔna uruchamiaè i zatrzymywaè go za pomocñ poleceþ NET
START i NET STOP albo programu Apache Service Monitor.
Opcje wiersza polecenia
W przypadku röcznego uruchamiania Apache’a program serwera
przyjmuje nastöpujñce opcje wiersza polecenia:
-C dyrektywa
Przetwarza dyrektywö przed odczytaniem plików konfigu-
racyjnych.
Rozdziaĥ 1. Wprowadzenie
_
15
-c dyrektywa
Przetwarza dyrektywö po odczytaniu plików konfiguracyj-
nych.
-d katalog
Ustawia poczñtkowñ wartoĈè dyrektywy ServerRoot.
-D parametr
Definiuje parametr, którego moĔna uĔywaè w sekcjach
IfDefine . Niektóre opcje rozruchowe przywoäuje siö przez
ustawianie parametrów (DEBUG, FOREGROUND, NO_DETACH,
ONE_PROCESS).
-E nazwa_pliku
OkreĈla plik dziennika bäödów na czas rozruchu serwera.
-e poziom
OkreĈla poziom rejestrowania zdarzeþ na czas rozruchu
serwera.
-f plik
OkreĈla gäówny plik konfiguracyjny (domyĈlnie conf/httpd.conf).
-h
WyĈwietla krótkie podsumowanie dostöpnych opcji wiersza
polecenia.
-k polecenie
Wykonuje jedno z nastöpujñcych poleceþ: start, restart,
graceful, stop lub graceful-stop. Ponadto, tylko w syste-
mie Windows: install, uninstall.
-L
-l
WyĈwietla listö dostöpnych dyrektyw konfiguracyjnych (udo-
stöpnianych przez wkompilowane moduäy) i koþczy dziaäa-
nie programu.
WyĈwietla listö wkompilowanych moduäów i koþczy dziaäa-
nie programu.
16
_ Apache 2. Leksykon kieszonkowy
-M
WyĈwietla listö wkompilowanych oraz wspóädzielonych
moduäów i koþczy dziaäanie programu (odpowiednik -D
DUMP_MODULES).
-n nazwa
Tylko w Windows: nazwa usäugi Apache’a.
-S
-t
-v
-V
-w
-X
Pokazuje ustawienia wirtualnego hosta (odpowiednik -D
DUMP_VHOSTS).
Testuje skäadniö plików konfiguracyjnych, sprawdza, czy
istniejñ gäówne katalogi dokumentów, i koþczy dziaäanie
programu.
WyĈwietla numer wersji oraz datö kompilacji i koþczy dzia-
äanie programu.
Pokazuje ustawienia kompilacji i koþczy dziaäanie programu.
Tylko w Windows: pozostawia otwarte okno konsoli po uru-
chomieniu Apache’a.
Uruchamia serwer w jednoprocesowym trybie diagnostycz-
nym (odpowiednik -D DEBUG).
Pliki konfiguracyjne
KaĔdy aspekt dziaäania Apache’a jest kontrolowany przez dyrek-
tywy zawarte w plikach konfiguracyjnych. Kiedy Apache urucha-
mia siö, najpierw odczytuje gäówny plik konfiguracyjny z lokalizacji
Rozdziaĥ 1. Wprowadzenie
_
17
domyĈlnej albo z lokalizacji okreĈlonej przez opcjö -f wiersza
polecenia. Dodatkowe pliki konfiguracyjne mogñ zostaè doäñczone
za pomocñ dyrektywy Include.
Pliki konfiguracyjne to zwykäe pliki tekstowe, które zawierajñ
dyrektywy, puste wiersze i komentarze. Poczñtkowe znaki odstöpu
w wierszu sñ ignorowane, podobnie jak puste wiersze. Wiersze
zaczynajñce siö od znaku hash (#) sñ uwaĔane za komentarze.
Format dyrektyw konfiguracyjnych
Dyrektywy konfiguracyjne Apache’a sñ opisywane w standardo-
wym formacie pokazanym poniĔej.
DirectorySlash
mod_dir (B)
DirectorySlash { ON | OFF }
ZgodnoĈè: 2.0.51 i nowsze wersje
SVDH (Indexes)
ON
JeĈli jest ustawiona na ON, Ĕñdania katalogu, które nie sñ zakoþczone
znakiem ukoĈnika, zostanñ przekierowane pod ten sam adres URL
z doäñczonym ukoĈnikiem, aby automatyczne indeksy katalogów
i wzglödne adresy URL dziaäaäy poprawnie.
Górny wiersz zawiera po lewej stronie nazwö dyrektywy, a po
prawej listö kontekstów, w których moĔna uĔywaè dyrektywy.
Konteksty oznaczono skrótami opisanymi w tabeli 1.3. JeĈli dy-
rektywa moĔe byè uĔywana w pliku konfiguracyjnym katalogu
i jest kontrolowana przez kategoriö dyrektywy AllowOverride, to
säowo kluczowe kategorii jest wymienione w nawiasie po skrótach
kontekstu.
18
_ Apache 2. Leksykon kieszonkowy
Tabela 1.3. Skróty kontekstu
Kontekst
S
V
D
H
*
Opis
Dyrektywy moŜna uŜywaë w kontekļcie globalnym, tzn. w pliku
konfiguracyjnym serwera poza sekcjami wirtualnego hosta albo
kontenera systemu plików.
Dyrektywy moŜna uŜywaë w sekcjach wirtualnego hosta.
Dyrektywy moŜna uŜywaë w sekcjach kontenera systemu plików
( Directory , Files , Location i warianty *Match).
Dyrektywy moŜna uŜywaë w plikach konfiguracyjnych dotyczécych
poszczególnych katalogów (domyļlnie o nazwie .htaccess).
Wskazuje, Ŝe dyrektywy moŜna uŜywaë wiýcej niŜ raz w danym
kontekļcie.
Drugi wiersz podaje nazwö moduäu Apache’a, który implementuje
dyrektywö wymienionñ po lewej stronie (lista moduäów doäñczo-
nych do dystrybucji Apache’a znajduje siö w dodatku A). Status
moduäu znajduje siö w nawiasie i jest oznaczony skrótami z tabeli
1.4. Moduä moĔe byè oznaczony jako „MPM” (w takim przypadku
zostanñ odnotowane moduäy MPM implementujñce dyrektywö)
albo jako „rdzenny”, co oznacza, Ĕe dyrektywa jest implementowa-
na przez rdzenny moduä Apache’a. DomyĈlna wartoĈè dyrektywy
jest podana po prawej stronie.
Tabela 1.4. Kody statusu moduäów
Status
B
E
X
Opis
Moduĥ podstawowy — doĥéczony do dystrybucji Apache’a i
domyļlnie wkompilowany.
Moduĥ rozszerzenia — doĥéczony do dystrybucji Apache’a, ale domyļlnie
niewkompilowany.
Moduĥ eksperymentalny — doĥéczony do dystrybucji Apache’a,
ale domyļlnie niewkompilowany.
Rozdziaĥ 1. Wprowadzenie
_
19
Nastöpny wiersz okreĈla skäadniö dyrektywy, po czym nastöpujñ
informacje o zgodnoĈci (jeĈli majñ zastosowanie). WielkoĈè liter
w dyrektywach nie jest rozróĔniana, podobnie jak w wiökszoĈci
argumentów, które nie odnoszñ siö do obiektów wraĔliwych na
wielkoĈè liter, takich jak nazwy plików.
Podstawowe dyrektywy w pliku konfiguracyjnym
Te dyrektywy okreĈlajñ poäoĔenie plików konfiguracyjnych, nazwy
dodatkowych plików wczytywanych podczas rozruchu serwera,
nazwy plików konfiguracyjnych, dotyczñcych poszczególnych ka-
talogów, oraz dyrektywy, które moĔna stosowaè w tych plikach.
Dyrektywy konfiguracyjne Apache’a sñ opisywane w standardo-
wym formacie pokazanym poniĔej.
S
zaleĔnie od ustawieþ kompilacyjnych
ServerRoot
rdzenny
ServerRoot katalog
Gäówny katalog serwera. MoĔe zostaè zmieniony za pomocñ opcji
-d wiersza polecenia. ćcieĔki wzglödne w innych dyrektywach,
takich jak Include i LockFile, sñ interpretowane jako odnoszñce
siö do tego katalogu. Pakiety binarne czösto majñ inne ustawienia
domyĈlne niĔ w standardowym ukäadzie katalogów Apache’a.
Include
rdzenny
Include { Łcieška_do_pliku | katalog }
SVD*
ZgodnoĈè: dopasowywanie symboli wieloznacznych dostöpne
w wersji 2.0.41 i nowszych
Odczytuje i przetwarza zawartoĈè okreĈlonego pliku konfiguracyj-
nego, który jest logicznie wstawiany w miejscu dyrektywy. Nazwa
20
_ Apache 2. Leksykon kieszonkowy
pliku moĔe zawieraè symbole wieloznaczne w stylu powäoki;
w takim przypadku zostanñ doäñczone wszystkie pasujñce pliki
w kolejnoĈci leksykograficznej. W razie podania katalogu zostanñ
doäñczone wszystkie pliki znajdujñce siö w tym katalogu i wszyst-
kich jego podkatalogach, co nie jest zalecane, poniewaĔ moĔe
doprowadziè do wczytania niepoĔñdanych plików.
AccessFileName
rdzenny
AccessFileName nazwa_pliku ...
SV*
.htaccess
OkreĈla nazwö pliku stosowanego do konfigurowania poszczegól-
nych katalogów. Choè nazwa dyrektywy oraz jej wartoĈè domyĈlna
sugerujñ co innego, w pliku tym moĔna stosowaè nie tylko dyrek-
tywy kontroli dostöpu. Kategorie dozwolonych dyrektyw sñ okre-
Ĉlone przez dyrektywö AllowOverride.
AllowOverride
rdzenny
AllowOverride kategoria ...
D
All
Dyrektywa AllowOverride jest dozwolona tylko w sekcjach
Directory , które nie uĔywajñ wyraĔenia regularnego. OkreĈla
ona, czy z katalogów naleĔñcych do danej sekcji bödñ odczytywane
pliki konfiguracyjne, a jeĈli tak, to które kategorie dyrektyw
wymienione w tabeli 1.5 bödñ dozwolone w tych plikach. JeĈli
plik konfiguracyjny katalogu bödzie zawieraè niedozwolone dy-
rektywy, zostanie wygenerowany wewnötrzny bäñd serwera.
Dyrektywa AllowOverride zastöpuje ustawienia zdefiniowane
dla katalogów wyĔszego poziomu. Säowa kluczowe All i None
sñ interpretowane tak samo jak inne, co pozwala na pewne dziwne,
ale poprawne kombinacje.
Rozdziaĥ 1. Wprowadzenie
_
21
Tabela 1.5. Kategorie dyrektyw w plikach konfiguracyjnych dotyczñcych
poszczególnych katalogów
Kategoria
None
All
AuthConfig
FileInfo
Indexes
Limit
Options
Opis
Pliki konfiguracyjne dotyczéce poszczególnych katalogów w ogóle
nie sé odczytywane.
W plikach konfiguracyjnych dotyczécych poszczególnych katalogów
moŜna uŜywaë wszystkich dyrektyw.
Dyrektywy zwiézane z uwierzytelnianiem i autoryzacjé.
Dyrektywy kontrolujéce atrybuty dokumentów.
Dyrektywy zwiézane z indeksowaniem katalogów.
Dyrektywy kontroli dostýpu.
Opcje katalogów.
Sekcje warunkowe
Sekcje warunkowe zawierajñ zbiory dyrektyw, które Apache po-
winien zignorowaè podczas analizy skäadniowej pliku konfigura-
cyjnego, jeĈli nie jest speäniony warunek okreĈlony w dyrektywie
rozpoczynajñcej sekcjö. Sekcje warunkowe moĔna zagnieĔdĔaè.
IfDefine
rdzenny
IfDefine [!]parametr
...
/IfDefine
SVDH*
Dyrektywy zawarte w sekcji sñ odczytywane tylko wtedy, gdy
okreĈlony parametr jest zdefiniowany za pomocñ opcji -d wiersza
polecenia — albo kiedy nie jest zdefiniowany, jeĈli poprzedzono
go znakiem wykrzyknika (!).
22
_ Apache 2. Leksykon kieszonkowy
IfModule
rdzenny
IfModule [!]moduĪ
...
/IfModule
SVDH*
Dyrektywy zawarte w sekcji sñ odczytywane tylko wtedy, gdy
okreĈlony moduä jest aktywny — albo kiedy nie jest aktywny, jeĈli
poprzedzono go znakiem wykrzyknika (!). Moduäy moĔna okre-
Ĉlaè za pomocñ identyfikatora lub nazwy, äñcznie z koþcowñ literñ
.c, która jest wyĈwietlana przez opcjö -1 wiersza polecenia. MoĔli-
woĈè uĔycia identyfikatorów moduäów wprowadzono w wersji
2.0. Dyrektywy tej moĔna uĔyè do odróĔnienia wersji 1.3 od
nowszych wersji, poniewaĔ w serwerach 2.0 moduä rdzenny
nosi nazwö core.c, a w serwerach 1.3 nosiä nazwö http_core.c.
IfVersion
mod_version (E)
IfVersion [[!]operator] wersja_gĪówna[.wersja_poboczna
´[.poprawka]]
...
/IfVersion
SVDH*
ZgodnoĈè: 2.0.56 i nowsze wersje
Dyrektywy zawarte w sekcji sñ odczytywane tylko wtedy, gdy
wersja Apache’a speänia okreĈlone kryteria. JeĈli numery poprawki
i wersji pobocznej zostanñ pominiöte, bödñ potraktowane tak, jakby
byäy ustawione na zero. Operatorem porównania moĔe byè jeden
z nastöpujñcych symboli: =, , =, lub = (== to synonim =).
Obsäugiwane sñ równieĔ wyraĔenia regularne; moĔna uĔyè ope-
ratora ~ i okreĈliè wersjö za pomocñ äaþcucha albo uĔyè operatora
= i okreĈliè wersjö za pomocñ /wyrašenia_regularnego/.
Wszystkie operatory mogñ byè poprzedzone znakiem wykrzyknika
(!), który odwraca ich znaczenie.
Rozdziaĥ 1. Wprowadzenie
_
23
Sekcje kontenerowe
Sekcje kontenerowe pozwalajñ ograniczyè zasiög dyrektyw do ka-
talogu, nazwy pliku, adresu URL albo metody Ĕñdania. Dyrektywy
Directory , DirectoryMatch , Files oraz FilesMatch
rozpoczynajñ kontenery systemu plików, a dyrektywy Location
i LocationMatch rozpoczynajñ kontenery przestrzeni WWW.
Dyrektywy Limit i LimitExcept rozpoczynajñ sekcje kontene-
rowe ograniczone do okreĈlonej metody Ĕñdania.
Dyrektywy kontenerowe systemu plików i przestrzeni WWW
inne niĔ *Match przyjmujñ argument w postaci wieloznacznego
wzorca w stylu powäoki. Majñ one alternatywnñ postaè, w której
pierwszy argument jest tyldñ (~), a drugi jest interpretowany jako
wyraĔenie regularne. Postaè ta jest równowaĔna odpowiedniej
dyrektywie *Match, która powinna byè preferowana, poniewaĔ
tyldö moĔna äatwo przeoczyè.
Wzorce wieloznaczne w stylu powäoki mogñ zawieraè metaznaki
i wyraĔenia w nawiasach kwadratowych: ? dopasowuje pojedynczy
znak, * dopasowuje dowolnñ liczbö znaków, a [wyrašenie] dopa-
sowuje dowolny ze znaków albo zakresów znaków okreĈlonych
w nawiasie.
Podczas przetwarzania Ĕñdania dyrektywy zawarte w sekcjach
systemu plików i przestrzeni WWW sñ stosowane w nastöpujñ-
cej sekwencji:
1. Sekcje Directory bez wyraĔeþ regularnych oraz pliki kon-
figuracyjne dotyczñce poszczególnych katalogów, od najkrót-
szej do najdäuĔszej ĈcieĔki do pliku. Pliki konfiguracyjne
dotyczñce poszczególnych katalogów majñ pierwszeþstwo
przed sekcjami Directory .
2. Sekcje DirectoryMatch .
3. Sekcje Files i FilesMatch .
4. Sekcje Location i LocationMatch .
24
_ Apache 2. Leksykon kieszonkowy
Dyrektywy w sekcjach Directory i DirectoryMatch oraz pliki
konfiguracyjne katalogów obowiñzujñ równieĔ w podkatalogach,
chyba Ĕe zostanñ póĒniej przesäoniöte.
Sekcje kontenerowe dotyczñce wirtualnych hostów sñ stosowane
po sekcjach dotyczñcych gäównego serwera.
Directory
rdzenny
Directory wzorzec
...
/Directory
SV*
Kontener na dyrektywy, które dotyczñ tylko katalogów pasujñcych
do okreĈlonego wzorca (i ich podkatalogów).
DirectoryMatch
rdzenny
DirectoryMatch wyrašenie_regularne
...
/DirectoryMatch
SV*
Dyrektywy zawarte w tej sekcji dotyczñ tylko katalogów (i ich
podkatalogów), które pasujñ do okreĈlonego wyraĔenia regularnego.
Files
rdzenny
Files wzorzec
...
/Files
SVDH*
Dyrektywy zawarte w tej sekcji dotyczñ tylko plików, które pasujñ
do okreĈlonego wzorca.
Rozdziaĥ 1. Wprowadzenie
_
25
FilesMatch
rdzenny
FilesMatch wyrašenie_regularne
...
/FilesMatch
SVDH*
Dyrektywy zawarte w tej sekcji dotyczñ tylko plików, które pasujñ
do okreĈlonego wyraĔenia regularnego.
Location
rdzenny
Location wzorzec
...
/Location
SV*
Dyrektywy zawarte w tej sekcji dotyczñ tylko adresów URL, które
pasujñ do okreĈlonego wzorca.
LocationMatch
rdzenny
LocationMatch wyrašenie_regularne
...
/LocationMatch
SV*
Dyrektywy zawarte w tej sekcji dotyczñ tylko adresów URL, które
pasujñ do okreĈlonego wyraĔenia regularnego.
Limit
rdzenny
Limit metoda ...
...
/Limit
SVDH*
Dyrektywy zawarte w tej sekcji dotyczñ tylko pasujñcych metod.
26
_ Apache 2. Leksykon kieszonkowy
LimitExcept
rdzenny
LimitExcept metoda ...
...
/LimitExcept
SVDH*
Dyrektywy zawarte w tej sekcji dotyczñ tylko niepasujñcych metod.
Rozdziaĥ 1. Wprowadzenie
_
27
Pobierz darmowy fragment (pdf)