Instalowanie i konfiguracja serwera Apache! #" $%&' Jest to podstawowy opis konfiguracji serwera Apache. Praktycznie sprawdzony na dystrybucji Mandrake 8.0. Sama instalacja z wykorzystaniem graficznego instalatora jest prosta, wystarczy wybrać pakiety, które mają być zainstalowane. Warto jednak przygotować się do instalacji od strony ustawień sieci i podać za pierwszym razem właściwe parametry. Unikniemy poźniejszego przeglądania plików konfiguracyjnych pod kątem nazwy serwera, etc.
Testowanie działania serwera WWW!"# %$&' ' ( ('! )* +,-./"# 0 *$!1 243 5 2)/6.%.!1 7 8+9! :;.=< 0.[ N5 \]! [' ' ( ^ `_A.!1./"# +)5%4)* N 5 a4)t! +7) $ b. ;\24)/! telnet < telnet 127.0.0.1 80 ( 8. c de)t; \: d;)* gf^ h/ f 59'de3 lynx 127.0.0.1 >?A@ BCD EF?GD H%I JLKAHGI%B CNMLOPKAQHSRT? UCD V D'WFJ@GI,D HGXD YLZ >2D V H@AJLijW O#k O @GOLD X'ijW OLV JGCeOLXOZ Gdzie są umieszczone pliki Apache? l)/ ])m N5 \nd; FdT]4)/')T4o* n<= 5 p^!1q4)/ he] de) $ ;.4)/7)!75 7)/ httpd < httpd -h rc)/ sẗ u4)/'otu v )Tm!"#3p)w;598;!1u 9_Gf! FdT!1=< xyde)t; "#"# 5 6z!1={7 )* N! httpd -V Server version: Apache-AdvancedExtranetServer/1.3.19 (Linux-Mandrake/3mdk) Server built: Apr 16 2001 07:50:02 Server s Module Magic Number: 19990320:10 Server compiled with... -D EAPI -D EAPI_MM -D EAPI_MM_CORE_PATH="/var/apache-mm/mm" -D HAVE_MMAP -D HAVE_SHMGET -D USE_SHMGET_SCOREBOARD -D USE_MMAP_FILES -D USE_SYSVSEM_SERIALIZED_ACCEPT -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="/var/run/httpd.pid" -D DEFAULT_SCOREBOARD="/var/run/httpd.scoreboard" -D DEFAULT_LOCKFILE="/var/run/httpd.lock" -D DEFAULT_XFERLOG="/var/log/httpd/access_log" -D DEFAULT_ERRORLOG="/var/log/httpd/error_log" -D TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" -D ACCESS_CONFIG_FILE="conf/access.conf" -D RESOURCE_CONFIG_FILE="conf/srm.conf" Janusz Bielec www.mol.uj.edu.pl/jjb strona: 2
l)/ cn " 4)5 N _G9 ()2)5 \ Fd; ;./"f! g-!1)* g ' 3p18''45=< c! N '! p. N f 5)/ ' 8;7 N5 [5 "7 ( "# de)/+!"# P< g Nfz)/ c)t he9)t' "# g,7)/hefc;\c 7 g-24)/7)!-f Fdeo* de)/ h/.%! "#8;!1=< Struktura katalogów serwera Apache l)/ ]' 3 7 \n- )5 )T4!"# de)/+!"# P{ ^ g "#' :"# 2)%{! )+- g9' ("# gü4)/'! h/o/ 8;!16dT9 )/he!1 bin sbin libexec cgi-bin include htdocs icons proxy Fd; de)/8 g Fd; de)/8 g go/ 8;!174)/7)!! ;!1])/hT 7o* P% <8'.;$ %!`< _G 5)* g :7)5.,_ 7' ' ( d' Fd;, 2_Gf! - ;59 25)de)/+!"#,7)5.,_Ao* 5)Td;.7 8 "!l$#+d_g 5 "f! ' 3 ' % '\ )/v )* g 8;!1n ' ' ( N')/xyxyx Fd; 4z Fde)/ 7 & ) "# (. g 8e{8dT9 )/h/!1)* N./"fz.v )T'+ h/)^' ' ( 4)' 5! -f! h/)%< v )Tm!"# n)7 -f!; Fdeo*ü = Fd;,de)/ h/.%! "# T< run, logs, conf ^' ' ( { Fd; 5 ;$ Niektóre programy pomocnicze )/ht 7 Fd+5)4)/7 9.7 ;5 "#)' '! P< ab apachectl apachectl --h d'5)].%.!1 7 z =-9'; g n' ' ( < /usr/sbin/apachectl {start stop restart reload/graceful update status configtest} apachectl status Apache is running. httpd: 1410 1409 1408 1407 1405 1398 927 926 Janusz Bielec www.mol.uj.edu.pl/jjb strona: 3
htdigest 925 924 916 Apache-mod_perl is running. httpd-perl: 911 910 909 908 901 Use /usr/sbin/apachectl extendedstatus for more information. -9-f 5-: FdT 7 d;)* ;7 % de)t; g 8;7 5)n.8 N `$ ndot 7, N 5)/7)' '! P< -9-f 5- FdT 7 9 d;)* ;7 P{doT - N "f : /1*$ `_G. 'de)* N Fdeo* 5)4)5 ()* ( h/).8 N < htpasswd.7)/ F N ])5% ()T 5)/7 )* ;!1pd; 8o* 4)5 N : 5% 'o* s-9 8;!1 5 Fd;.=< logresolve 9 3 5 N.7)/ F N N- +d; 3! g9 h/)z Fd;.75 FdT.% ()T :)* ( h/)%< rotatelogs "# )( d; &d' 4 )* N4)/ g "f!)/ \ 5 ;$ Fd^hT.%./"f! N 5)/7)' '! e Nhc 'o* 5 4)/'! h/o/ 8;!1]' ' ( o* N F'. 8;!1=< split-logfile suexec )/ht.7)/ F N (4! g de)/8 g gd'o* fq)/ m.%.!1 7 ]m.% N 7 &- 5 d; 9)* g h/). $ de)* N FdT =ht.%e{ "9de))! ' ' ( 0!1 T< Dodatkowe moduły serwera Apache #=! :7)5.,_Ao*ÿ5)59'de)* ;!1+. ()' ' T< #= 3(9de)* ;!177)/ `$ N5 \ de)t; "f!p 5% '. 7)5. < 9!1 T< )Th < )/ "m-*$ 7 '! - 3p7)5.,_Ao* (!1)5-f!;!1 d_g 5 5%;''.!"# z' ' ( 5)/ ' 2_Gf! - 8;!164)5! - (de)/+!"# P< de)/8')/./"# :5)/36n4)5 N c m5)/7 8m.%6 5;$ '. wd; 8< mod acces -9-f 5-n ()_ g d'o* de)t; "f!:nl$g$ l s.%67 )5%7 -f 5 =< mod actions mod alias mod auth de)/./"# 2' '!"#32 5% 'o* )T : - 5% ')* g T< )T`_A.h/./"# (.8 N ÿ)t 9!.): Fd; 1 ' 9_ÿv )T$ m! N d;)* ;q< Janusz Bielec www.mol.uj.edu.pl/jjb strona: 4
mod autoindex mod cgi mod dir dt9 )/h/o* n<.7)/ F N c.%)/m9;! N 5 d;')* g - g9')' '! -./"# :)T`_A.h/32 ()_G d'o* '< -94 N q)t`_a.h/3b4)5 ()* ;!1 )5% ()_G w5) dt9 )/h/o* )T 2!16- g9')' '! P<.7)/ F N 2 dt g n 7 8;!1 )5)* N de)* ;!1q5) d'o* '< mod env 4)/ g y)t`_a. ;\ ht! wm9u 8 ' )* g 4) ')/ 2' ' ( < mod imap mod include "! #%$ < mod log config )T`_A.h/./"# de)/8 g g4)/!.7)/ F N 7 "# '!"#3)5% ()_G 5) ' ' ( (5 %$ )* g cv )Tm9.b 'o* 5) Fdeo*ü5 FdT<.7)/ F N. 4o*ẅl$l q5)td;.7 8o* [ 4)5;$ N c)/ ' n< mod mime mod negotiation 7 8o* n< mode setenvif.7)/ F N ()T`_A.h/3(. he 5 g- g9')' '! %5)Td;.;$.7)/ F N 5 )* g 7 8;!1 )5)* N de)* ;!1 ^4)5 N c v )Tm!"#, dt g 8;!16 -f 5.$ "!! < mod userdir.5)/3 zdt9 )/h/ =m! ; :. 'de)* N Fdeo* n< Pliki konfiguracyjne n_ao* N8; Fd; de)/ h/.%! "#8;u"# httpd.conf < & Fd^de)/ h/.%! "L$ 8["# b d_ ; Fd; d;)* ;q{&dot'y7)/ 6- N \6de)/7 8*$ P m-! ; "f ' 36)5.- `< x! 3! 9dT9 F)* ( g. N ' 6f h/)t)* g T< )/ g n Fdbde)/ h/.%! "#867)/ n5!;5)* g \^)m. N `$.7d; Fd;.' 9 7 'o*ÿ ;h/)5 "# ( d; 5%]4)5 gh/)2d; FdT 7 "#';!1=<;x Fd;. httpd.conf ;9! b 5%m.7 % '! \c N ' include nazwa-pliku 9b)5% ()_G \2' 325)]. N b4)! ; )/8;!1 4)/'! h/o/ 8;!16 FdT!1=< rn d e{;dot';!16 "#)/7)' '\ "# N 43 5n) )Td % ' n4)_a)/ :h_ao* N h/)^dt9 )/h/.b' ' ( <0/c9 )/h p )* N )5 ' z5 N h/ 3 58;!1 '! dq. g 8;!1p ;$ 8;!1q5% d g!1=< ServerRoot &T@('AijWFJ,CeB'MJ*)F@ B'ijW BCeOLXB XOiFH()jC/H() OP? U HAQ,+'MLOP? BPRFXB'? UZ Janusz Bielec www.mol.uj.edu.pl/jjb strona: 5
DocumentRoot User, Group 4)_A)/ :h_ao* N h/)dt9 )/h/.b5)td;.7 8o* n< 5 8 dt9)t. 'de)* N FdT ht.%e{%dot'; g 8"# )! g' ' ( <%x[9')' '\25)/ ' 2$ < AccessConfig 8$ )Td % ' ]4)_A)/ ^ (3n Fd;.. g h/)m5)7de)/;$ ')/ 45)/3.65)]- ')T4o* n< LockFile PidFile g 44)_A)/ : Fd;.m )TdT 5%e< gq 4)_A)/ 7 Fd;. b 5 8 dt9)t Lr h_ao* N h/) )! '.q' ' ( < 4)5 "# dt9 h/)t 5% d n{=dot ])5! ]+ ) $ dt h/)( Fd;.cde)/ h/.%! "# h/)g 5% './"f. N h/ )T T< /c*$ h/)t g"9d; 27)/hefn;\z 24)56.8 g h/32)+% < ## $ $ #% # $! " e<f<f< AllowOverride g9')' '\c5)/ ',+-#.)/! -n de) $ ; : N';'d;!165)/38;!1 5% 'o* '! )* ;!1=< BindAddress $#&% '%&(*):r " Listen Port 4)T' 5% d gg4)/ g "f!-( 5 )* g \ 5% 7 '74)T'o*ü)T`_A.h/ F g c z' ' ( N0!1 T< 5)/ ' z g9')' '\0/1;{.7 (4)T'. de)t; g 8b )5% () $ _G!1 )T8;!1 243 #5+^' -. `< OPQ )FHAiTWFJ4I JLKAH76#B'YX+I H() ;.;$ 8:9 V +6*;"<>=@?%Z 5% d g^ )* g 5- "f!-^mz4)/ \ Serwery wirtualne ACB F'. )/g 5% % 4)T'2< <-< A % B F'. )/"Dc< 9 )FJLiF@('%@ C )FE#?GD Y+CeOHG*'XO MJXC/HGX'?SR '>Ì J#QJ 6XKJQJ ijwfjlifjgceolx'hsr/c NameVirtualHost L 5% % 4)T'. ] 5% '. ' ' ( b N F'. j$ QJLM +I HGXW OP? U h/)%< UD Ì H()jWFHAMijWFJGCeB'? UZ ServerAlias (*):r " ;)/ b' ' ( ^ N F'. h/)%< ServerName P g' 5)/7 )* gn g:. g c 5%!1L243 #&< )* N ^' 32 \2 r < 4)5 "# +'-9 )/6)5% ()_G 5)5)Td;.7 ;$ ' ' ( ^ N F'. h/)-^4)/7)!-fn b5)/7 )* ( "`< VirtualDocumentRoot o* VirtualDocumentRootIP ' ' ( N F'. h/)%< " n<; N)5%4)* N 5 4)^)5% ()_G.7' 3N5) Janusz Bielec www.mol.uj.edu.pl/jjb strona: 6
1^! ; Jak podpiąć dokumenty użytkowników? rc)/ ' ( 2_Gf! - 8^"# g5)^de)/+!"# 7)5.,_ mod userdir {;dot' 4)/ g z.5)/3 \NdT9 )/h/,5)/7)* ( N. 'de)* N Fdeo* n< 4m 4) $ N ]-e_a)/ )/ +de)/8b dt9 )/h/ &5)/7)* ( ) ;9! [- 5!;5)* g \ "9dp43 5fb' 3 g \dt9 )/h/ & ]')/ 7 &5)/7)* ;7 4)/'! h/o/ 8;!1. 'de)* N Fdeo* n< ^)q 95 )q ;h/)5 +)/ N f - T{ '! h/o/ 7 5. "&! g. 'de)* N Fdeo* n< c5% ()_G g5)n')/+)/')t ;!17. 'de)* N j$ deo* mn4)/ \ 18'' :%% g*$l' ' ( % de)/8) rc)/ ' gdt9 )/h/o* n{ h/5. 'de)* N!.7 '! - "f ()/"# (') $ 8b) +.%! 187.%< Jak zbudować serwer wirtualny? rc)/ ' ' ' ( b0!1 `_A.!1./"# N';'d;!1.%-f 5!1 '! )* ;!1m de)t;./"f!c4)t'c/1;< 7 ()T.b' ' ( n N F'. h/) g9')n5)5 \N5)zdT9'7'! )* ( " de)/ "#8+.7 "L )T 9!.7)n ;$.7 -{ 4) N5. "# h/) 5 e_g {.5)* g \b' ' ( ] N F'. 8e< c! N '! 7)/ c ()T;\' ' ( '] N F'. )T "f!(' 32 g!1={ 2 5%b4)/" N "fn' 32)T bn. ;! # 4)/ g 2 -f 5! ' dt9.[ ;m he7)5! m 5)/7 )* ( "c]4)/ )/-{4 *$ h_ao* d;.={%! )2"# g 7)/ F ( 4 2 N f - :4! h/)4)_gf! < < < Trochę o bezpieczeństwie /N FdTN Fdeo* n{t5)2dot';!1+5)/375 "# (. 'de)* N Fde)* N % ( 7 (.% N `$ ^! )]))TPf^)] " g "#' c Fd; 45 ^1!de o* `< /etc/passwd 8;7 & /etc/shadow Fd^g g 7 ;. 'de)* N Fdeo*ÿ %!1]1 `_G 7 ;! )* g*$ Fdsp1 `_G 7 P{ 5)/38y; Fde) 5) )5!. c; Fde) z. 'de)* N Fdeo* ) 2"Lr %' 2"Lr 5 n))t /etc/syslog.conf /etc/hosts.equiv login/.rhosts login/.bash history. 'de)* N FdT login/.bash de)/ h/.%!"^ )/h/o*ü; 7)* ;!1 2.%^ 5% 1)/m " z5 ^. 'de)* N FdT + " 8;!17.gde)/+.% o* n< -9 4)/! )/9 )y ;5 g 8;!1 5) h/) Fd;.b7)/ ^5)T \:% < 75)de)/7 5 Janusz Bielec www.mol.uj.edu.pl/jjb strona: 7
/proc/modules /var/spool/mail/konto. 'de)* N FdT< n-e_g 5)* g 8;!167)5.,_Ao* Fd,{9 sdot';!1)* g "# &4)! `$ Kontrola dostępu do zasobów L % g% 7 ' 5% d g^.7)/ F N "f!-c 5 88$ Allow dt!"#32d; 8o*.% N )/8;!15)]5)/3.=< Deny L % g% 7 ' m "fn5)/3.65)]- ')T4o* n< Order L )* n{;5 87% 5 8e{ )* %.%. j$lva.; - ^5% d rc 8b =0N )* n< AuthName P g' g)t'-9.p.%)t';-!"#.7 '! )/8;!16^; ; ' ' ( T< 5 8 dt!"]d; 8o* n{dot de)/ "#)' '\: g*$ ht.%6- ')T4o* AuthType '! %Trc h/ q7!1.b.8 N < Require 2' c g%'c)/.%qht.% % 5;$L.' 5% d g].7)/ j$ N :)Td % ' g. 'de)* N Fdeo*.%7hT.%+4)/' 5 "f!;!1] () 5)/3.65)]5 h/)]- ')T.=< Satisfy P0N % 0N8 )Td % ' '9 h/ 3z5)/3. 5 c"# 5)! '8;!1 g*$.%deo* 9.! )/8;!1+ 43g. F g 0N )* n< 0N ;)2de)/.%de!"N g*$.%deo* 9)/7 0N8 F 9 g< )Td % ' m (3] Fd;.p d;)* ( h/)%{=dot' - N m*$ n ;1 `_G. 'de)* N Fdeo* n< rc)n-9-f 5- g; Fd; `_A. n) $ ht AuthUserFile htpasswd < )Td % ' (3 24)_A)/ p Fd;. d;)* ( h/) -*$ N "f! h/)m p 4)_A.[.% N )/8;!1. 'de)* N Fdeo* n< /c 5% N 'N- N z (3NhT.%e{5% N.%d)T4 d])t c 3. 'de)* g$ Fdeo* )/ 5 )/f^!" 7 P< AuthGroupFile SSLEngine 4%' ( ( _A)* #&< SSLDisable < SSLEnable. h/)%< 2_Gf! z.%6 _Gf! z)t`_a.h/ 4)T)Tde) $ 5% d g7)/hefg ;f/ \ sde)/8 d '! g' ' ( c N F$ Janusz Bielec www.mol.uj.edu.pl/jjb strona: 8
)Td % ' (3! ' dt9.' ' ( N-9de)5)* g `$ h/)6 v )Tm! l < Fd - N b9d; 7- ';v )* g 8 d;.! ' g98p)65).%.!1)/7 +' ' ( b4)t' ^"# ^ *$ "#)/7)' '\:1 `_G< SSLCertificateFile )Td % ' (3 Fd;.s- N "f! h/)pd;.! ' g98b' ' ( ^ v )Tm! l < SSLCertificateKeyFile Jak kontrolować dostęp do zasobów? rc)/3 5)6- ')T4o* 7)/ ;\+7 3 5p 8;7 de)/8')/ )* g 8p-m4) $ 7)!-fg ^ 1 `_GN N f - h/)n f gf<! g ;!. ()T;\ )5%4)* N 5 Fd ] g 7. 'de)* N Fdeo* )T!1 1 `_G 7 &4)/ v )T$ 7)* g \q' ' ( b) N q N4)_A)/.y h/)/ q Fd;.=< rc) ()T Fd;. ' de)t; \29 3 5 htpasswd < Jak nawiązać połączenie poprzez SSL? rc)/ '!"- N 6 ')T m7)5.,_ < )/ g 6) mod ssl ^!1! 2 de)t; c4)_gf! 6. #&< Janusz Bielec www.mol.uj.edu.pl/jjb strona: 9