Académique Documents
Professionnel Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
Apache. Rozmwki
Autorzy: Daniel Lopez, Jesus Blanco
Tumaczenie: Grzegorz Werner
ISBN: 83-246-0669-6
Tytu oryginau: Apache Phrasebook
Format: B6, stron: 272
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
O autorach ......................................................................... 13
Wstp ................................................................................ 15
1 Apache podstawy ......................................................... 17
Podstawowe informacje o serwerze Apache ........................... 17
Sprawdzanie, czy Apache jest ju zainstalowany .................... 19
Instalowanie serwera Apache 1.3 w Linuksie i Uniksie ........... 21
Instalowanie serwera Apache 2.0 w Linuksie i Uniksie ........... 22
Instalowanie serwera Apache w Windows ............................. 23
Podstawowe informacje o pliku konfiguracyjnym ................... 24
Uywanie wielu plikw konfiguracyjnych ............................... 26
Uruchamianie, zatrzymywanie i restartowanie serwera Apache ... 27
Zmiana adresu i portu uywanego przez serwer Apache ........ 29
Zmiana uytkownika, z ktrego przywilejami
dziaa serwer Apache ........................................................... 30
Okrelanie nazwy serwera ..................................................... 31
Okrelanie ikony strony WWW ............................................... 32
Ustalanie dostpnych moduw serwera ................................ 32
Wczanie i wyczanie pojedynczych moduw ..................... 33
Dodawanie moduw bez rekompilowania serwera Apache ... 34
Publikowanie treci ................................................................ 36
Spis treci
Spis treci
Spis treci
Spis treci
Spis treci
7 SSL/TLS..............................................................................159
Co to jest SSL? ...................................................................... 159
Jak dziaa SSL? ..................................................................... 160
Kompilowanie pakietu OpenSSL ........................................... 162
Klucze szyfrowania ............................................................... 163
Tworzenie pary kluczy .......................................................... 163
Tworzenie pary kluczy chronionych hasem .......................... 164
Usuwanie hasa z klucza ....................................................... 165
Certyfikaty ............................................................................ 165
Tworzenie wniosku o podpisanie certyfikatu ........................ 166
Wywietlanie zawartoci wniosku o podpisanie certyfikatu .. 168
Tworzenie samodzielnie podpisanego certyfikatu ................. 168
Kompilowanie serwera Apache 1.3 z obsug SSL ................ 169
Kompilowanie serwera Apache 2.x z obsug SSL ................. 171
Minimalna konfiguracja serwera Apache .............................. 171
Uruchamianie serwera Apache z obsug SSL ....................... 172
SSLPassPhraseDialog ............................................................ 173
Zwikszanie wydajnoci SSL ................................................. 174
Realizacja wszystkich da z wykorzystaniem SSL ............... 175
SSL i hosty wirtualne oparte na nazwach .............................. 176
Uywanie moduw uwierzytelniajcych w poczeniu z SSL 177
Komunikaty ostrzegawcze wywietlane
podczas dostpu do witryny obsugujcej SSL .................... 177
Tworzenie certyfikatw klienta ............................................. 178
Uwierzytelnianie z wykorzystaniem certyfikatw klienta ....... 179
Rozwizania alternatywne ................................................... 180
Testowanie witryn SSL z wiersza polece ............................. 181
Rozwizywanie problemw
z nieprawidowymi implementacjami SSL ........................... 181
Spis treci
Spis treci
Spis treci
11
tym rozdziale zostan szczegowo opisane najczciej spotykane problemy na przykad bdne ustawienia
praw dostpu do plikw i brak moliwoci powizania
serwera z okrelonym portem oraz ich rozwizania.
Omwionych zostanie te kilka narzdzi i zasobw pozwalajcych zidentyfikowa przyczyny problemw.
ROZDZIA 2
Dziennik bdw
Dziennik bdw
ErrorLog logs/error_log
ROZWIZYWANIE PROBLEMW
42
Rejestrowanie zdarze
przez syslog
ROZDZIA 2
ErrorLog syslog
ErrorLog syslog:local7
Kontrolowanie iloci
rejestrowanych informacji
ROZWIZYWANIE PROBLEMW
LogLevel notice
43
ROZDZIA 2
Opis
Przykad
emerg
Powane bdy
system nie nadaje
si do uytku
Konieczna jest
natychmiastowa
reakcja
Zdarzenia
krytyczne
error
Bdy
Premature end of
script headers.
warn
Ostrzeenia
notice
Zwyke, ale
istotne
informacje
Informacje
httpd: caught
SIGBUS, attempting
to dump core in...
Komunikaty
diagnostyczne
Opening config
file...
ROZWIZYWANIE PROBLEMW
alert
crit
info
debug
getpwuid: couldn't
determine user name
from uid
socket: Failed to
get socket, exiting
child.
Domylny poziom bdw warn jest odpowiedni w wikszoci instalacji Apachea. Jeli jednak konieczne jest zdiagnozowanie specyficznej konfiguracji, mona obniy poziom bdw a do debug, aby uzyska znacznie bardziej
szczegowe informacje.
44
Testowanie konfiguracji
serwera Apache
ROZDZIA 2
# apachectl configtest
ROZWIZYWANIE PROBLEMW
HTTP/1.1 200 OK
Date: Sun, 04 Sep 2005 20:42:02 GMT
Server: Apache/2.0.54 (Unix) mod_ssl/2.0.54
OpenSSL/0.9.7a DAV/2 SVN/1.2.0-dev
Last-Modified: Sat, 03 Sep 2005 11:35:42 GMT
ETag: "203a8-2de2-3ffdc7a6d3f80"
Accept-Ranges: bytes
Content-Length: 11746
Cache-Control: max-age=86400
45
ROZDZIA 2
ROZWIZYWANIE PROBLEMW
albo:
GET / HTTP/1.0
W rozdziale 7. zostanie opisany modu mod_ssl, a Czytelnicy poznaj sposb czenia si z serwerem obsugujcym SSL za pomoc narzdzia openssl.
ROZDZIA 2
Sprawdzanie,
czy serwer Apache dziaa
0:00 /usr/local/www/bin/httpd
0:06 /usr/local/www/bin/httpd
0:02 /usr/local/www/bin/httpd
ROZWIZYWANIE PROBLEMW
47
ROZDZIA 2
Czasem nie mona poczy si z serwerem, ale nie wiadomo, czy to serwer nie dziaa, czy moe wystpi jaki
problem z sieci. W systemach uniksowych dostpnych
jest kilka narzdzi, ktre pozwalaj ustali przyczyn problemu. Niektre z nich pokazano w powyszym przykadzie.
ROZWIZYWANIE PROBLEMW
za pomoc polecenia kill, ktre przyjmuje dwa argumenty: wysyany sygna oraz identyfikator procesu serwera Apache (w tym przykadzie 25297). Sygna KILL
(albo TERM) zatrzymuje serwer, a sygna HUP uruchamia
go ponownie. Mona rwnie zastpi nazw sygnau jej
liczbowym odpowiednikiem, jak pokazano w powyszym
przykadzie. Wicej informacji mona znale w podrczniku systemowym pod hasem kill.
Naley jednak zachowa ostrono, poniewa jeli w systemie dziaa kilka egzemplarzy Apachea, powysze polecenie usunie je wszystkie!
Aby powysze polecenia zadziaay, uytkownik musi mie
odpowiednie uprawnienia. W niemal wszystkich przypadkach trzeba by albo superuytkownikiem, albo wacicielem procesu Apachea, eby go zatrzyma lub uruchomi ponownie.
ROZWIZYWANIE PROBLEMW
ROZDZIA 2
W systemach Windows mona wymusi zamknicie Apachea za pomoc przycisku Zakocz proces w Menederze
zada Windows.
49
ROZDZIA 2
Diagnozowanie serwera
Apache za pomoc moduw
ROZWIZYWANIE PROBLEMW
Istnieje kilka moduw Apachea, ktre mog pomc podczas rozwizywania problemw z konfiguracj serwera albo
aplikacj WWW.
Modu mod_loopback, narzdzie do diagnozowania klientw WWW, po prostu odsya do przegldarki wszystkie
odebrane informacje dotyczce dania HTTP, w tym
dane POST lub PUT. Modu jest dostpny pod adresem:
http://www.snert.com/Software/mod_loopback/
index.shtml
Moduy mod_tee oraz mod_trace_output zapisuj tre
wysyan przez serwer. Mona je znale pod nastpujcymi adresami:
http://apache.webthing.com/mod_tee/
http://trace-output.sourceforge.net/
Modu mod_logio wchodzcy w skad Apachea 2 zapisuje wszystkie dane odebrane lub zwrcone przez serwer
w dzienniku bdw.
Wszystkie te moduy zmniejszaj wydajno serwera, ale
bywaj bardzo przydatne, na przykad podczas analizowania problemw z nagwkami albo plikami cookie.
50
ROZDZIA 2
ROZWIZYWANIE PROBLEMW
Bd skadni
Zajty adres
Address already in use: make_sock: could not bind to
port
51
ROZDZIA 2
ROZWIZYWANIE PROBLEMW
52
Niewystarczajce uprawnienia
[Mon Jan 9 20:09:50 2005] [crit] (13)Permission
denied: make_sock: could not bind to port 80
Niezgodny modu
module xxx is not compatible with this version of
Apache
Odwzorowywanie nazw
Cannot determine hostname
ROZWIZYWANIE PROBLEMW
ROZDZIA 2
53
ROZDZIA 2
ROZWIZYWANIE PROBLEMW
Powyszy bd wskazuje, e uytkownik nie ma wystarczajcych uprawnie, aby odczyta plik konfiguracyjny Apachea albo zapisa dane w plikach dziennika.
Problem ten czsto pojawia si, kiedy serwer jest uruchamiany przez uytkownika innego ni ten, ktry go
skompilowa i zainstalowa. Naley albo uruchomi Apachea z konta superuytkownika, albo uy polecenia
chmod, aby zmieni waciciela pliku podanego w komunikacie o bdzie.
ROZWIZYWANIE PROBLEMW
Komunikat Directory index forbidden by rule wskazuje, e uytkownik prbowa uzyska dostp do katalogu,
w ktrym nie ma pliku indeksu. Informacje o indeksowaniu katalogw i plikach indeksu mona znale w opisie
opcji Indexes dyrektywy Options w rozdziale 6.
ROZDZIA 2
55
ROZDZIA 2
ROZWIZYWANIE PROBLEMW
Bdy segmentacji
child pid exit signal Segmentation Fault (11)
56
albo braku bibliotek, z ktrymi skonsolidowany jest program. Jak wyjaniono w rozdziale 9., w niektrych przypadkach proces moe zosta przerwany przez system operacyjny albo przez Apachea, jeli zuycie zasobw (pamici,
czasu procesora) przekroczy pewien limit.
ROZDZIA 2
le uformowane nagwki
Dodatkowe pliki
dziennika bdw
ROZWIZYWANIE PROBLEMW
RewriteLog /usr/local/apache/logs/rewrite_log
RewriteLogLevel warn
SSLLog /usr/local/apache/logs/ssl_log
SSLLogLevel warn
ScriptLog logs/cgi_log
ROZDZIA 2
ROZWIZYWANIE PROBLEMW
Jeli serwer Apache staje si niedostpny, kiedy przekierowuje danie do innej strony, moe to oznacza, e
kanoniczna nazwa hosta jest nieprawidowa albo niedostpna na zewntrz sieci.
Jeli na przykad dyrektywa ServerName jest ustawiona
na localhost, 127.0.0.1 albo prywatny adres, serwer bdzie niedostpny, gdy przekieruje uytkownika pod adres
URL oparty na tych wartociach.
eby rozwiza ten problem, naley poda prawidow
warto ServerName albo ustawi dyrektyw UseCanonicalName na off, aby samoreferencyjne adresy URL byy
konstruowane na podstawie nazwy hosta podanej przez
klienta. Problem ten wystpuje czsto w przypadku komputerw znajdujcych si za odwrotnym porednikiem
(co opisano w rozdziale 10.).
Lista diagnostyczna
W tym rozdziale podsumowano najczciej wystpujce
problemy z serwerem Apache.
58
Uruchamianie serwera
Jeli serwer nie uruchamia si, naley sprawdzi w pliku
dziennika, czym jest to spowodowane.
ROZDZIA 2
Lista diagnostyczna
czenie si z serwerem
Jeli prba dostpu do strony koczy si niepowodzeniem, najpierw trzeba ustali, czy problem jest spowodowany przez serwer, sie czy te przez przegldark.
ROZWIZYWANIE PROBLEMW
ROZDZIA 2
ROZWIZYWANIE PROBLEMW
Lista diagnostyczna
Nastpnie naley sprawdzi, czy Apache uywa prawidowej kombinacji adresu i portu. Jeli mona uzyska
dostp do serwera lokalnie, ale nie zdalnie, prawdopodobnie Apache nasuchuje pod lokalnym adresem albo w porcie niedostpnym zdalnie. Za pomoc polece netstat
lub lsof naley ustali, pod jakimi adresami nasuchuje
Apache i czy s one poprawne.
Naley te sprawdzi, czy prawidowo skonfigurowana
jest zapora sieciowa lub router. Jeli Apache nasuchuje
pod prawidowym adresem, ale jest niedostpny na zewntrz sieci, moe to oznacza, e ruch do serwera jest
blokowany. czno midzy hostami mona sprawdzi
za pomoc polecenia traceroute (tracert w Windows).
Wiele systemw operacyjnych domylnie blokuje dostp
z zewntrz z wyjtkiem kilku wybranych portw. Sposb
rozwizania tego problemu zaley od dystrybucji. Na przykad w systemach Fedora mona uy narzdzia systemconfig-securitylevel, a w Windows programu Zapora systemu Windows znajdujcego si w Panelu sterowania.
Wreszcie jeli poczenie z serwerem jest nawizywane za
porednictwem Secure Sockets Layer (SSL rozdzia 7.),
a uytkownik korzysta ze starszej przegldarki albo nietypowej konfiguracji, naley poszuka w dzienniku bdw
komunikatw wiadczcych o problemach z szyfrowaniem
danych SSL.
60
ROZWIZYWANIE PROBLEMW
Nastpnie naley sprawdzi, czy danie dotaro do serwera. W tym celu naley wyszuka w pliku access_log
dania pochodzce od okrelonego hosta. Jeli w systemie jednoczenie dziaa kilka egzemplarzy Apachea, klient
mg nawiza poczenie z niewaciwym serwerem.
ROZDZIA 2
Lista diagnostyczna
Zabroniony dostp
Jeli dokument istnieje, ale dostp do niego jest zabroniony, moe to wynika z kilku czsto popenianych pomyek.
Naley sprawdzi, czy Apache ma uprawnienia do odczytu
pliku.
Naley sprawdzi, czy waciciel procesu Apachea ma
uprawnienia do odczytu i wywietlania zawartoci wszystkich katalogw na ciece wiodcej do pliku.
61
ROZDZIA 2
Lista diagnostyczna
Naley sprawdzi, czy uytkownik prbuje uzyska dostp do katalogu bez pliku indeksu, a tworzenie indeksw katalogw jest zabronione w pliku konfiguracyjnym
Apachea.
ROZWIZYWANIE PROBLEMW
Naley upewni si, e spenione s wszystkie wymagania okrelone przez dyrektywy kontroli dostpu w pliku
konfiguracyjnym Apachea.
Jeli uytkownik prbuje uzyska dostp do skryptu CGI,
naley sprawdzi, czy skrypt ma ustawione prawa do odczytu i wykonania.
ROZWIZYWANIE PROBLEMW
http://httpd.apache.org/lists.html#http-users
ROZDZIA 2
Lista diagnostyczna
63