apache unix
TRANSCRIPT
-
8/13/2019 Apache Unix
1/72
Monter son serveur web avec
Apache 2.4.3 + PHP5.4.11 +MySQL 5.5.29
!"v"er Hoarau #o!"v"er.hoarau$%un"&.or'(
)3.4* 1 arsr 2,13
1H"stor"-ue................................................................................................................................................................32Prabu!e................................................................................................................................................................43Prsentat"on.............................................................................................................................................................44/nsta!!at"on...............................................................................................................................................................4
4.1/nsta!!at"on 0e MySQL....................................................................................................................................44.1.1op"!at"on et "nsta!!at"on.......................................................................................................................44.1.2Lanceent autoat"-ue...........................................................................................................................4.1.3M"se en p!ace 0es ut"!"sateurs..................................................................................................................4.1.4rat"on 0e tab!es..................................................................................................................................1,4.1.5Perte 0u ot 0e passe 0a0"n"strateur ys-!0.....................................................................................12
4.2/nsta!!at"on 0Apache.....................................................................................................................................124.3/nsta!!at"on 0e PHP........................................................................................................................................14
5on%"'urat"on bas"-ue...........................................................................................................................................15.1Prsentat"on 0e !arborescence 0Apache.......................................................................................................1
5.2Le %"ch"er 0e con%"'urat"on 0Apache............................................................................................................15.3 Lanceent autoat"-ue 0e !app!"cat"on......................................................................................................1
5.3.1Sous Man0r"va6Ma'e"a..........................................................................................................................15.3.2Sous ubuntu...........................................................................................................................................19
5.4Les pa'es webs ut"!"sateurs...........................................................................................................................215.5Les a!"as.........................................................................................................................................................21
on%"'urat"on avance..........................................................................................................................................21.1Protect"on 0une pa'e....................................................................................................................................21.2Les h7tes v"rtue!s...........................................................................................................................................23
8est"on 0e bases 0e 0onnes avec MySQL...........................................................................................................24.1ests 0e %onct"onneent avec MySQL.........................................................................................................24.2A0"n"strat"on 0es bases MySQL avec phpMyA0"n.................................................................................2
Scr"pts 8/............................................................................................................................................................29PHP et L:AP........................................................................................................................................................291, Scur"ser Apache et PHP 0ans un env"ronneent chroot................................................................................3,
1,.1Prsentat"on.................................................................................................................................................3,1,.2/nsta!!at"on 0e MySQL................................................................................................................................3,
1,.2.1/nsta!!at"on 0e MySQL avec !es sources.............................................................................................3,1,.2.2hrooter MySQL.................................................................................................................................311,.2.3on%"'urat"on 0e MySQL....................................................................................................................33
1,.3/nsta!!at"on 0Apache...................................................................................................................................351,.3.1/nsta!!at"on 0Apache...........................................................................................................................35
1,.4hrooter Apache.........................................................................................................................................31,.4.1on%"'urat"on 0Apache.......................................................................................................................39
1,.5/nsta!!at"on 0e PHP......................................................................................................................................411,.5.1/nsta!!at"on avec !es sources 0e PHP...................................................................................................411,.5.2hrooter PHP.......................................................................................................................................42
1,.5.3on%"'urat"on 0e PHP..........................................................................................................................43
Apache+PHP+MySQL 1 http;66www.%un"&.or'
mailto:[email protected]:[email protected] -
8/13/2019 Apache Unix
2/72
1,.Lanceent autoat"-ue..............................................................................................................................441,..1Lanceent autoat"-ue 0e Mys-!......................................................................................................441,..2Lanceent autoat"-ue 0Apache.......................................................................................................45
1,./nsta!!at"on 0un b!o' wor0press en !oca!....................................................................................................411 Ana!yser !es !o's 0t"!"sat"on............................................................................................................................................5,
11.3Ana!yser !es !o's 0Apache avec awstats....................................................................................................511.3.1Prsentat"on.........................................................................................................................................511.3.2/nsta!!at"on et con%"'urat"on.................................................................................................................511.3.3>t"!"sat"on............................................................................................................................................2
11.4Ana!yse= !es !o's 0un s"te hber' non !oca!eent...................................................................................12/nsta!!er un oteur 0e recherche avec Ht;660"'...................................................................................................
12.1Prsentat"on.................................................................................................................................................12.2/nsta!!at"on avec tarba!!...............................................................................................................................12.3on%"'urat"on..............................................................................................................................................
12.4>t"!"sat"on....................................................................................................................................................1
Apache+PHP+MySQL 2 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
3/72
1 Historique26,2613 )3.4 passa'e ? Apache 2.4.3* php 5.4.11* phpMyA0"n 3.5. et MySQL 5.5.29 et ra@out0un para'raphe sur !a perte 0u ot 0e passe a0"n"strateur 0e ys-!0
,361,61, )3.1 passa'e ? Apache 2.2.1* php 5.3.3* MySQL 5.1.5,* ra@out 0un para'raphe sur !a"se en p!ace 0un serveur web 0ans un env"ronneent chroot
passa'e ? MySQL 5.1.5,* Apache 2.2.1* PHP 5.3.3* phpMyA0"n 3.3. et weba!"=er2.21,2
26126,9 )3., passa'e ? Apache 2.2.14* php 5.3.1* MySQL 5.1.41* phpMyA0"n 3.2.4 et awstats.95
36116, )2.9 Passa'e ? Apache 2.2.9* php 5.2.* MySQL 5.,. et phpMyA0"n 2.11..1
,6,36, )2. Passa'e ? php 5.2.1* Apache 2.2.4* MySQL 5.,.33* awstats . et phpMyA0"n2.1,.,.2
,26116, )2. passa'e ? apache 1.3.3* php 5.1.* MySQL 5.,.2 et phpMyA0"n 2.9.,.2 et apache2.2.3 a0aptat"on pour "nsta!!at"on sur #B(ubuntu .1,
,6,6,5 )2. passa'e ? PHP 5.,.4* MySQL 5.,.2* phpMyA0"n 2..3p!1* awstat .4 et apache2.,.54 ra@out 0un ot pour !e !anceent autoat"-ue 0Apache 2* correct"on cop"!at"on weba!"=er
26,16,5 )2.5 ana!yser !es !o's 0Apache* o0"%"cat"on 0e !a con%"'urat"on 0e weba!"=er et awstatspour ne pas pren0re en copte ses propres accCs* ra@out 0un coenta"re sur un essa'e 0e weba!"=er* ra@out0un para'raphe pour vo"r !es stats 0un s"te hber' non !oca!eent avec weba!"=er et awstats
,6,16,5 )2.4 passa'e ? apache 1.33* PHP 5.,.3* MySQL 4.1.a* phpMyA0"n 2..,p!3* awstats.2* 'rosse o0"%"cat"on au n"veau 0e !a con%"'urat"on et 0e !a tho0e 0ut"!"sat"on et o0"%"cat"on 0e !acon%"'urat"on 0e weba!"=er pour -uon pu"sse vo"r !es nos 0es ach"nes p!ut7t -ue !eur a0resse /P
,261,6,4 )2.3 passa'e ? apache 2.,.52* PHP 5.,.2* phpMyA0"n 2.., p!1 et MySQL 4.,.21
316,56,4 )2.2 passa'e ? apache 1.3.31 et MySQL 4.,.2,
16,46,4 )2.1 un ot sur !a var"ab!e re'"sterD'!oba!s* passa'e ? http 2.,.49* php 4.3. etphpMyA0"n 2.5..
2,6,26,4 )2., Passa'e ? Apache 1.3.29* Apache 2.,.4* MySQL 4.,.1* PHP 4.3.4* phpMyA0"n2.5.5p!1* ra@out 0un para'raphe sur !a scur"sat"on 0Apache et PHP* un ot sur !ut"!"sat"on s"u!tane0Apache 1.3 et 2.
,6,46,3 )1.9 Passa'e ? MySQL 4.,.12
,16,36,3 )1. Passa'e ? Apache 2.,.44* MySQL 3.23.55* PHP 4.3.1* phpMyA0"n 2.4., et awstats5.4
246126,2 )1. Pet"tes o0"%s 0ans !e %"ch"er 0e con% 0Apache su"te passa'e M0B 9.,* passa'e ?awstats 5.2
1361,6,2 )1. Passa'e ? Apache 1.3.2* Apache 2.,.43* PHP 4.2.3* MySQL 3.23.52* phpMyA0"n2.3.2* awstats 5., et Ht:"' 3.1.
,6,6,2 )1.5 Passa'e ? Apache 1.3.2* PHP 4.2.1* MySQL 3.23.51* phpMyA0"n 2.2.* Eeba!"=er2.,11,* awstats 4.1* ra@out 0
-
8/13/2019 Apache Unix
4/72
,46,36,1 )1.3 Passa'e ? PHP4.,.4p!1* Apache 1.3.19* MySQL 3.23.33* 8: 1..4 etawstat 2.23
,36126,, )1.2 Fa@out 0u para'raphe PHP et L:AP* "se ? @our 0e weba!"=er#v2.,1.,(
2261,6,, )1.1 Passa'e ? Apache 1.3.14* PHP 4.,.3p!1 et phpMyA0"n 2.1.,
256,6,, )1., rat"on 0u 0ocuent
2 Prambulee 0ocuent prsente !
-
8/13/2019 Apache Unix
5/72
Sous ubuntu ce nest pas ncessa"re. :ans !e rperto"re 0e "#$%&* on tape a!ors;
cma-e .
Pu"s
ma-e
La cop"!at"on est re!at"veent !on'ue Ge sur une ach"ne pu"ssante. n tape a"ntenant en teps -ue root;
ma-e install
Les e&cutab!es sont "nsta!!s par 0%aut sous usrlocalbinet !e serveur m#sqldsoususrlocallibe(ec. Lesb"b!"othC-ues vont se trouver sous usrlocalm#sqllib* ra@oute= cette !"'ne 0ans !e %"ch"er etcld.so.con* ettape=
ldcon*ig
S" cest !a pre"Cre %o"s -ue vous "nsta!!e= "#$%& vous 0eve= taper !a coan0e su"vante* vous pouve= passer? !tape su"vante s" vous up'ra0e= "#$%&;
sh .m#sql,!.!.2scriptsm#sql/install/db ,,user0m#sql ,,basedir0usrlocalm#sql,,datadir0usrlocalm#sqldata
a" 0u crer !e !"en su"vant pra!ab!eent
ln ,s ha/*ederated.so ha/*ederated(.so
)o"!? !e rsu!tat obtenu
Installing "#$%& s#stem tables...
4illing help tables...
5o start m#sqld at boot time #ou ha)e to cop#support,*ilesm#sql.ser)er to the right place *or #our s#stem
P&6A$6 76"6"867 5 $65 A PA$$97: 47 5H6 "#$%& root ;$67 ing commands?
usrlocalm#sqlbinm#sqladmin ,u root pass>ord 'ne>,pass>ord'
usrlocalm#sqlbinm#sqladmin ,u root ,h tahiti.-er)ao.*r pass>ord 'ne>,pass>ord'
Alternati)el# #ou can run?usrlocalm#sqlbinm#sql/secure/installation
>hich >ill also gi)e #ou the option o* remo)ing the testdatabases and anon#mous user created b# de*ault. 5his isstrongl# recommended *or production ser)ers.
$ee the manual *or more instructions.
@ou can start the "#$%& daemon >ith?cd usrlocalm#sql usrlocalm#sqlbinm#sqld/sa*e B
@ou can test the "#$%& daemon >ith m#sql,test,run.pl
Apache+PHP+MySQL 5 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
6/72
cd usrlocalm#sqlm#sql,test perl m#sql,test,run.pl
Please report an# problems >ith the usrlocalm#sqlscriptsm#sqlbug scriptn ,7 m#sql )arlibm#sql
"0e pour !e 'roupe
chgrp ,7 m#sql )arlibm#sql
on va 'a!eent ettre !es 0ro"ts ? 55 s"non seu! root aura accCs ? !a base MySQL.
chmod D!!)arlibm#sql
n "nsta!!e a"ntenant !e %"ch"er 0e con%"'urat"on
cp support,*ilesm#,medium.cn* etcm#.cn*
0ans !e %"ch"eretcm#.cn* au n"veau 0e Em#sqldF on ra@outera !es !"'nes su"vantes
G set basedir to #our installation pathbasedir0usrlocalm#sqlG set datadir to the location o* #our data director#datadir0usrlocalm#sqldata
on 0onne !es 0ro"ts -u" vont b"en
cho>n root?s#s etcm#.cn*chmod etcm#.cn*
Pu"s on !ance !e serveur en tapant;
usrlocalm#sqlbinm#sqld/sa*e B
e -u" va 0onner coe rsu!tat
12! 1J?!D?!1 m#sqld/sa*e &ogging to 'usrlocalm#sql)arpo>er.-er)ao.*r.err'.12! 1J?!D?!1 m#sqld/sa*e $tarting m#sqld daemon >ith databases *rom )arlibm#sql
Avec cette 0ern"Cre vers"on m#sqlre%usa"t 0e se !ancer* 0ans !e %"ch"er 0erreur #sous )arlibm#sql par 0%aut(@ava"s
12 12?1J?13 m#sqld startedusrlocallibe(ecm#sqld? Can't read dir o* 'roottmp' K6rrcode? 13L
usrlocallibe(ecm#sqld? Can't create>rite to *ile 'roottmpibq%da;A' K6rrcode? 13L
Apache+PHP+MySQL http;66www.%un"&.or'
-
8/13/2019 Apache Unix
7/72
12 12?1J?13 Inno:8? 6rror? unable to create temporar# *ile errno? 1312 12?1J?13 Can't init databases12 12?1J?13 Aborting
@a" rso!u ce!a en tapant avant 0e !ancer m#sqld/sa*e
e(port 5"P:I70tmp
S" vous obtene= !erreur su"vante 0ans !e %"ch"erusrlocalm#sqldatanom-de-machine.err
1322 12?!1?21 m#sqld/sa*e $tarting m#sqld daemon >ith databases *rom usrlocalm#sqldatausrlocalm#sqlbinm#sqld? 4ile '.m#sql,bin.inde(' not *ound K6rrcode? 13L1322 12?!1?21 E6777F Aborting
cest un prob!Ce 0e per"ss"on -uon peut rsou0re en tapant
cho>n ,7 m#sql usrlocalm#sql
.1.2 &ancement automatique/! %aut 0abor0 o0"%"er !e %"ch"eretcm#.cn*-u" a t pra!ab!eent cr au n"veau 0e Em#sql.ser)erFon cr"ra
basedir0usrlocal au !"eu 0e)arlib
au n"veau 0e EmanagerFon cr"t
de*ault,m#sqld,path0usrlocalsbinm#sqld
pu"s au n"veau 0e Em#sqld/sa*eF on ra@oute
soc-et0)arlibm#sqlm#sql.soc-
A noter -ue vous pouve= prc"ser !a0resse /P 0e votre serveur. Kn a0ettant -ue votre poste so"t connect sur"nternet et -ue vous vou!"e= pas -ue n"porte -u" pu"sse acc0er ? votre serveur "nternet* vous pouve= prc"ser!a0resse /P !oca!e 0e votre serveur pour -ue seu!s !es postes 0e votre rseau pu"sse y acc0er* pour ce!a ? !a %"n0u %"ch"er y.cn% "! su%%"t 0e 0coenter !a !"'ne b"n0a00ress et 0e ra@outer !a0resse /P 0e votre serveur.
ou@ours 0ans !e Ge %"ch"er s" vous ave= !erreur ent"onn p!us haut !" au rperto"re tepora"re vouspouve= 0coenter !a !"'ne su"vante
tmpdir0tmp
Ma"ntenant sous Man0r"va
on cop"e !e %"ch"er support/*ilesm#sql.ser)er.sh sousetcrc.dinit.det on !e renoera m#sql
cp .m#sql,!.1.!support,*ilesm#sql.ser)er.sh etcrc.dinit.dm#sql
n 0onne !es 0ro"ts 0e&cut"on ? ce %"ch"er
chmod D!! etcrc.dinit.dm#sql
Pour un !anceent autoat"-ue 0e "#$%&? !tat 0e arche 3* 4 et 5* on tapera ensu"te
ch-con*ig ,,le)el 3! m#sql on
Apache+PHP+MySQL http;66www.%un"&.or'
-
8/13/2019 Apache Unix
8/72
Kt un arrGt ? !tat 0e arche ,* 1* 2 et
ch-con*ig ,,le)el 12 m#sql o**
Sous ubuntu
n cop"e !e %"ch"er sousetcinit.d et on !e noe m#sql* on 0o"t 0ans ce %"ch"er %a"re une 0ern"Cre o0"% ? !ap!ace 0e sourceon et un . #un po"nt(. n 0onne !es 0ro"ts 0e&cut"on ? ce %"ch"er
chmod D!! etcinit.dm#sql
Pour un !anceent autoat"-ue on tape
update,rc.d m#sql de*aults
.1.3 "ise en place des utilisateurs
La pre"Cre chose ? %a"re est 0e ettre un ot 0e passe pour rootpour !accCs ? !a0"n"strat"on 0es bases 0e
0onnes. La coan0e ? taper en tant -ue root est;
usrlocalm#sqlbinm#sql/secure/installation
vo"!? !e rsu!tat
M56? 7;MMIMN A&& PA75$ 4 5HI$ $C7IP5 I$ 76C""6M:6: 47 A&& "#$%& $67O67$ IM P7:;C5IM ;$6< P&6A$6 76A: 6ACH $56P CA764;&&@ E@nF @... $uccessith or Qg.@our "#$%& connection id is 1$er)er )ersion? !.!.2 $ource distribution
Cop#right KcL 2= 212= racle andor its a**iliates. All rights reser)ed.
racle is a registered trademar- o* racle Corporation andor itsa**iliates. ther names ma# be trademar-s o* their respecti)eo>ners.
5#pe 'help' or 'Qh' *or help. 5#pe 'Qc' to clear the current input statement.
m#sqlR
A prsent on va entrer !ut"!"sateur oli)ier -u" sera un super ut"!"sateur avec !es Ges 0ro"ts -ue root;
m#sqlR N7AM5 A&& P7IOI&6N6$ M S.S 5 'oli)ier'T'localhost' R I:6M5I4I6: 8@ 'mot,de,passe' 9I5H N7AM5 P5IM
pour crer un ut"!"sateur toto -u" naura accCs -u? !a base test avec certa"nes %onct"ons c"tes c"0essous ? part"r0e !a ach"ne aster"&.%r on tapera
m#sqlR N7AM5 $6&6C5=IM$675=;P:A56=:6&656=C76A56=:7P M test.S 5 totoTasteri(.*r I:6M5I4I6: b# 'mot,de,passe'
Apache+PHP+MySQL 9 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
10/72
s" vous tape=
m#sqlR $6&6C5 S 47" user
vous voye= chacun 0es 0ro"ts attr"bus ? vos ut"!"sateurs* vous ave= !a poss"b"!"t 'a!eent 0e prc"ser !es 0ro"tsen %onct"on 0e ces co!onnes avec cette coan0e
m#sqlR IM$675 IM5 user ,R OA&;6$K'localhost'='oli)ier'=PA$$97:K'mot,de,passe'L=
,R '@'='@'='@'='@'='@'='@'=' #...( @'='@'='@'='@'='@'='@'='@'=@'='@'='@'='@'='@'=' '=' '=' '=' '=''=''=''=''L%uer# = 1 ro> a**ected K. secL
Le nobre 0e chap var"e en %onct"on 0e !a vers"on 0e m#sql.
M56/! nest pas ob!"'ato"re 0e rentrer !e !o'"n pour !e no 0ut"!"sateur et !e ot 0e passe 0e !o'"n.
Ma"ntenant pour pren0re tout a en copte
m#sqlR 4&;$H P7IOI&6N6$%uer# = ro>s a**ected K.J secL
Pour -u"tter
m#sqlRquit
.1. Cration de tables
Ma"ntenant notre ut"!"sateur o!"v"er va crer une tab!e -u" nous serv"ra p!us tar0 pour nos e&pr"entat"ons avecApache. /! 0o"t 0abor0 se connecter;
usrlocalm#sqlbinm#sql ,u oli)ier ,p
6nter pass>ord?
9elcome to the "#$%& monitor. Commands end >ith or Qg.@our "#$%& connection id is 2$er)er )ersion? !.!.2 $ource distribution
Cop#right KcL 2= 212= racle andor its a**iliates. All rights reser)ed.
racle is a registered trademar- o* racle Corporation andor itsa**iliates. ther names ma# be trademar-s o* their respecti)eo>ners.
5#pe 'help' or 'Qh' *or help. 5#pe 'Qc' to clear the current input statement.
m#sqlR
Pour vo"r !a !"ste 0es bases 0e 0onnes 0"spon"b!es* on tapera;
m#sqlR $H9 :A5A8A$6$
U,,,,,,,,,,,,,,,,,,,,UV :atabase VU,,,,,,,,,,,,,,,,,,,,UV in*ormation/schema VV m#sql VV per*ormance/schema VV test V
Apache+PHP+MySQL 1, http;66www.%un"&.or'
-
8/13/2019 Apache Unix
11/72
U,,,,,,,,,,,,,,,,,,,,U ro>s in set K= secL
n va a"ntenant crer une base 0e 0onnes essai;
m#sqlR C76A56 :A5A8A$6 essai
%uer# = 1 ro> a**ected K. secL
n va ut"!"ser a"ntenant cette base 0e 0onne
m#sqlR ;$6 essai:atabase changed
oe !a base v"ent 0Gtre cre* e!!e ne cont"ent aucune tab!e* pour sen conva"ncre "! su%%"t 0e taper;
m#sqlR $H9 5A8&6$6mpt# set K. secL
Pour notre pre"Cre e&ep!e ApacheUPHPU"#$%&* on va crer !a tab!e su"vante;
m#sqlR C76A56 5A8&6 coord K ,R nom OA7CHA7K2L= ,R prenom OA7CHA7K2L= ,R email OA7CHA7K3L ,R L%uer# = ro>s a**ected K.3 secL
etons un coup 0oe"! a"ntenant sur !es tab!es 0"spon"b!es;
m#sqlR $H9 5A8&6$U,,,,,,,,,,,,,,,,,,,,,UV 5ables in essai VU,,,,,,,,,,,,,,,,,,,,,UV coord VU,,,,,,,,,,,,,,,,,,,,,U1 ro> in set K. secL
La tab!e nouve!!eent cre apparaNt b"en. Pour avo"r !e 0ta"! 0e cette tab!e* on tapera;
m#sqlR :6$C7I86 coordU,,,,,,,,,,,U,,,,,,,,,,,,,,U,,,,,,,,U,,,,,,U,,,,,,,,,,,U,,,,,,UV 4ield V 5#pe V Mull V e# V :e*ault V6(tra V
U,,,,,,,,,,,U,,,,,,,,,,,,,,U,,,,,,,,U,,,,,,U,,,,,,,,,,,U,,,,,,UV nom V )archarK2L V @6$ V V M;&& V VV prenom V )archarK2L V @6$ V V M;&& V VV email V )archarK3L V @6$ V V M;&& V VU,,,,,,,,,,,U,,,,,,,,,,,,,,U,,,,,,,,U,,,,,,U,,,,,,,,,,,U,,,,,,U3 ro>s in set K. secL
Pour notre 0eu&"Ce e&ep!e ApacheUPHPU"#$%&* on crera !a tab!e su"vante;
m#sqlR C76A56 5A8&6 re* K ,R date OA7CHA7K2L=
,R host OA7CHA7K2L=,R ip OA7CHA7K1!L=
,R os OA7CHA7K2L=
Apache+PHP+MySQL 11 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
12/72
,R page OA7CHA7K3L ,R L%uer# = ro>s a**ected K.! secL
K!!e cont"en0ra !es "n%orat"ons sur !es v"s"teurs 0u s"te. A prsent pour -u"tter tape= s"p!eent quit
.1.! Perte du mot de passe d'administrateur m#sqldS" vous ave= per0u !e ot 0e passe root pour !e r"n"t"a!"ser "! %aut stopper !e serveur
etcinit.dm#sqld stop
n re0arre !e 0aeon en 0sact"vant !"0ent"%"cat"on et !coute 0u rseau #a%"n 0v"ter 0Gtre p"rat ? ceoent oO "#$%&est vu!nrab!e( ;
usrlocalm#sqlbinm#sqld ,,user0m#sql ,,s-ip,grant,tables ,,s-ip,net>or-ing B
Ma"ntenant on o0"%"e !e ot 0e passe en se connectant ? !a base m#sql
usrlocalm#sqlbinm#sql m#sql ,u root
9elcome to the "#$%& monitor. Commands end >ith or Qg.@our "#$%& connection id is 1$er)er )ersion? !.!.2,log $ource distribution
Cop#right KcL 2= 212= racle andor its a**iliates. All rights reser)ed.
racle is a registered trademar- o* racle Corporation andor itsa**iliates. ther names ma# be trademar-s o* their respecti)eo>ners.
5#pe 'help' or 'Qh' *or help. 5#pe 'Qc' to clear the current input statement.
m#sqlR;P:A56 user $65 pass>ord0PA$$97:K'nou)eau,mot,de,passe'L 9H676 user0root%uer# = ro>s a**ected K= secL7o>s matched? Changed? 9arnings?
n pren0 en copte !es chan'eent en tapant !a coan0e su"vante ;
m#sqlR 4&;$H P7IOI&6N6$%uer# = ro>s a**ected K= secL
on re!ance ensu"te !e 0aeon m#sqld
etcinit.dm#sqld restart
.2 Installation d'ApachePour Apache* on 0sarch"ve en tapant;
tar ()*+ httpd,2..3.tar.g+
e!a va crer !e rperto"re httpd,2..3. Avant 0a!!er p!us !o"n* s" Apacheest 0@? "nsta!! sur votre systCe onva !e suppr"er* on va 0abor0 suppr"er !es o0u!es PHP* pour vr"%"er ;
rpm ,qa V grep ,i php
S" vous obtene= par e&ep!e
Apache+PHP+MySQL 12 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
13/72
php,gd,)ersionphp,ldap,)ersionmod/php,)ersionphp,common,)ersionphp,)ersion
n suppr"e en tapant rpm ,e nom,du,pac-age
Ma"ntenant on va suppr"er Apache* pour vr"%"er s"! est prsent ;
rpm ,qa V grep ,i apache
S" on obt"ent par e&ep!e
apache,)ersionapache,con*,)ersionapache,modules,)ersionapache,common,)ersion
Suppr"e= !es. /! est poss"b!e -ue pour 0es ra"sons 0e 0pen0ances -ue vous aye= un re%us 0e 0s"nsta!!at"on* cenest pas 'rave* !"portant est -ue !e pacBa'e apache,)ersionso"t au o"ns suppr" pour -u"! ny a"t pas 0econ%!"t.
Suppr"e= ventue!!eent !es rperto"res su"vants )ar>>>* )arloghttpd et etchttpd. /! %au0rapra!ab!eent "nsta!!er !es out"!s apret apr,util -uon t!char'era sur !e s"te apr.apache.or'. n 0copresse !apre"Cre arch"ve en tapant
tar ()*+ apr,1...tar.g+
ce!a 0onne !e rperto"re apr,1.. 0ans !e-ue! on tape success"veent
.con*igurema-e
pu"s en tant -ue root
ma-e install
on 0"te a"ntenant !e %"ch"eretcld.so.con* et on ra@oute !a !"'ne su"vante
usrlocalaprlib
on 0copresse !a 0eu&"Ce arch"ve en tapant
tar ()*+ apr,util,1.!.1.tar.g+
ce!a 0onne !e rperto"re apr,util,1.!.1 on y tape success"veent
.con*igure ,,>ith,apr0/chemin-absolu/apr,1..ma-e
pu"s en tant -ue root
ma-e installldcon*ig
Apache+PHP+MySQL 13 http;66www.%un"&.or'
http://apr.apache.org/http://apr.apache.org/ -
8/13/2019 Apache Unix
14/72
:ans !e rperto"re 0Apache httpd,2..3* on tape a!ors;
.con*igure ,,pre*i(0usrlocalapache2 ,,enable,modules0most
Par pre*i(on "n0"-ue -ue !es rperto"res 0Apachecontenant entre autre !e %"ch"er 0e con% se trouveront soususrlocalapache2 cest ut"!e 0ans !e cas oO vous vou!e= %a"re coe&"ster 0eu& vers"ons 0Apachesur votre
systCe. n tape a"ntenant;
ma-e
Kt en%"n en tant -ue root;
ma-e install
Fa@oute= !a !"'neusrlocalapache2lib 0ans !e %"ch"eretcld.so.con* pu"s tape=
ldcon*ig
Pour !ancer a"ntenant Apache* "! %aut taper;
usrlocalapache2binapachectl start
Ma"ntenant votre nav"'ateur pr%r 0ans !e chap >FL taper http?localhost ou http?nomdelamachineet !?!a pa'e 0accue"! 0Apache apparaNt #ou 0u o"ns un /t EorBs (* pour "n%o ce!!ec" se trouve sous
usrlocalapache2htdocs.
M56 S" vous up'ra0e= 0une anc"enne vers"on* vos %"ch"ers 0e con% ne seront pas crass.
.3 Installation de PHPPour php!* on tapera 0abor0
tar ()* php,!..11.tar.b+2
e!a va crer un rperto"re php,!..11. A prsent 0ans !e rperto"re 0e php* vous tapere=
.con*igure ,,>ith,ap(s20usrlocalapache2binap(s ,,>ith,con*ig,*ile,path0usrlocalapache2con*,,>ith,m#sql ,,enable,bcmath0#es ,,enable,debug0no ,,>ith,gd ,,>ith,+lib ,,>ith,-erberos ,,enable,mbstring ,,>ith,mcr#pt ,,enable,*tp
Motes )ous ave= beso"n 0u pacBa'e *le( contenant le(
!es opt"ons ,,>ith,gd ,,>ith,+lib ,,>ith,-erberossont ut"!es pour !ut"!"sat"on 0es o0s %reep!ayer 0e!a %reebo&
!es opt"ons ,,enable,mbstring ,,>ith,mcr#pt sont ncessa"res pour php"#Admin e!!es re-u"Crent!"nsta!!at"on 0u pacBa'e libmcr#pt,de) avec ses 0pen0ances #ou libmcr#pt,de)elsu"vant !a 0"str"but"on(
ape= a"ntenant
ma-e
Pu"s en tant -ue root
ma-e install
Apache+PHP+MySQL 14 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
15/72
ette 0ern"Cre coan0e va "nsta!!er !e o0u!e PHP soususrlocalapache2moduleset o0"%"er !e %"ch"erhttpd.con*en ra@outant
&oad"odule php!/module moduleslibphp!.so
n o0"%"era a"ntenant anue!!eent !e %"ch"er httpd.con*pour -uApacheprenne en copte PHP* ? !a su"te
0es !"'nes
Add5#pe application(,compress .WAdd5#pe application(,g+ip .g+ .tg+
n ra@oute
Add5#pe application(,httpd,php .php .php3 .php .php! .phtmlAdd5#pe application(,httpd,php,source .phps
Par a"!!eurs ? !a !"'ne
:irector#Inde( inde(.html
n ra@outera
:irector#Inde( inde(.html inde(.htm inde(.php inde(.php3 inde(.php inde(.php!
A prsent on va cop"er !e %"ch"er php.ini,production se trouvant 0ans !e rperto"re 0e PHP php,!..11 pour !eettre soususrlocalapache2con*et en !e renoant php.ini
cp .php,!..11php.ini,production usrlocalapache2con*php.ini
:ans !e cas 0une anc"enne "nsta!!at"on 0e php* vous ave= tout "ntrGt ? repart"r 0u nouveau %"ch"er php,dist.ini
%ourn" et 0e !e reo0"%"er.:ans !e rperto"re usrlocalapachehtdocs on trouve !es %"ch"ers -u" seront access"b!es ? part"r 0e !a pa'e0accue"! 0e votre serveur Apache.
n re!ance Apache
usrlocalapache2binapachectl restart
rer a"ntenant !e %"ch"er in*ophp.phpcontenant
Xphpphpin*oKLR
Que vous p!acere= sous usrlocalapache2htdocs* 0ans !>FL 0e votre nav"'ateur pr%r* taperhttp?localhostin*ophp.phpou http?nommachinein*ophp.php et !? a'"-ue 0evra"t sa%%"cher 0es "n%o sur!a con%"'urat"on 0e PHPsur votre systCe.
Apache+PHP+MySQL 15 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
16/72
AK/ pour un %onct"onneent opt"a! 0e m#sql avec php* "! %au0ra ra@outer prc"ser !a pos"t"on 0u%"ch"er socBet 0e m#sql0ans !e %"ch"er php.ini
m#sql.de*ault/soc-et 0 )arlibm#sqlm#sql.soc-
s"non avec php"#Adminvous pourr"e= avo"r une erreur 0u sty!e
G22 , &e ser)eur ne rpond pas. Kou l'inter*ace de conne(ion Ksoc-etL )ers le ser)eur "#$%& localn'est pas correctement con*igureL
! Con*iguration basique!.1 Prsentation de l'arborescence d'ApacheL"nsta!!at"on va crer un rperto"reusrlocalapache2 contenant; rperto"re bincont"ent !es e&cutab!es 0Apache rperto"re cgi,bincont"ent !es scr"pts 8/ rperto"re errorcont"ent !es essa'es 0erreur 0ans 0e u!t"p!es !an'ues* !a !an'ue est cho"s"e en %onct"on 0e !acon%"'urat"on 0u nav"'ateur. Les essa'es sont ent"Creent con%"'urab!es. rperto"re libcont"ent 0es b"b!"othC-ues rperto"re build rperto"re con* cont"ent !es %"ch"ers 0e con%"'urat"on 0Apache, rperto"re htdocs cont"ent !a pa'e 0accue"! 0Apache
, rperto"re icons cont"ent 0es "c7nes -u" servent notaent pour "0ent"%"er !es types 0e %"ch"er.
Apache+PHP+MySQL 1 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
17/72
, rperto"re include cont"ent !es "nc!u0es 0Apache, rperto"re modules cont"ent !es o0u!es 0Apache, rperto"re logs cont"ent !es %"ch"ers 0e !o' 0Apache, rperto"re man cont"ent !es ans 0ApacheLe rperto"re 0e !o' cont"ent essent"e!!eent 0eu& %"ch"ers; access/log!"stant !es accCs au serveur error/log!"stant !es erreurs en tout 'enre
Le rperto"re 0e o0u!es modules cont"ent !es o0u!es ut"!"sab!es par Apache* pour "n%o un o0u!e est unee&tens"on !o'"c"e!!e ? Apache* !u" perettant par e&ep!e 0"nterprter !e PHP #o0u!e libphp!.so(. e ne sont-ue !es o0u!es char's 0yna"-ueent -u" sont 0ans ce rperto"re.
Le rperto"reusrlocalapache2con*cont"ent; !e %"ch"er 0e con%"'urat"on 0Apache http.con* mime.t#pes %"&e !e type 0e %"ch"er su"vant !e&tens"on 0u 0"t %"ch"er #. docRswor0* .psRpostscr"pt* ...(* aperet au c!"ent -u" se connecte sur !e serveur* 0e savo"r coent "nterprter !e %"ch"er su"vant son e&tens"on. magicsert pour !e o0u!e mod/mime/magic
)ous trouvere= 'a!eent un tas 0autres %"ch"ers 0e con%"' %ourn"s coe e&ep!e 0ans !e rperto"re
con*e(tra
!.2 &e *ichier de con*iguration d'ApacheLe %"ch"er 0e con% 0Apachese trouve soususrlocalapache2et se noe httpd.con** vo"c" !es po"nts -ue @e@u'e "portant 0ans !e %"ch"er;#...(
G 7pertoire racine d'Apache$er)er7oot usrlocalapache
#...(
G d*inition de l'adresse IP du port du ser)eurG &isten? Allo>s #ou to bind Apache to speci*ic IP addresses andorG ports= in addition to the de*ault. $ee also the XOirtualHostR G directi)e.GG Change this to &isten on speci*ic IP addresses as sho>n belo> to G pre)ent Apache *rom glomming onto all bound IP addresses K...LGG&isten 12.3.!.DJ?JG a)ec un deu(iYme ser)eur apache= )ous pou)e+ indiquer un port JJG dans l'url du na)igateur il *audra mettre http?url?JJ
&isten J
#...(
G n lance initialement httpd en tant que root= puis immdiatement G c'est l'utilisateur nobod# Kgroupe nobod#L qui en de)ient le proprio G ainsi s'il # a une *aille dans Apache= le hac-er au lieu de de)enir rootG de)ient daemon a)ec les droits qui )ont a)ecG pour )ri*ier que daemon est bien le proprioG ps au( V grep httpd
;ser daemonNroup dameon
Apache+PHP+MySQL 1 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
18/72
G $er)erAdmin? @our address= >here problems >ith the ser)er should beG e,mailed. 5his address appears on some ser)er,generated pages= suchG as error documents.G 6n cas de problYme un email sera en)o# au >ebmaster= mette+ doncG ici l'adresse email du >ebmaster$er)erAdmin oli)ierTasteri(.-er)ao.*r
#...(
G :ocument7oot? 5he director# out o* >hich #ou >ill ser)e #ourG documents. 8# de*ault= all requests are ta-en *rom this director#= butG s#mbolic lin-s and aliases ma# be used to point to other locations.G C'est dans ce rpertoire qu'on )a trou)er la page d'accueil d'Apache:ocument7oot usrlocalapachehtdocs
#...(
G :*inition des *ichiers d'entre:irector#Inde( inde(.html inde(.html.)ar inde(.htm inde(.php inde(.php inde(.php
#...(
G nom du *ichier d'erreur6rror&og logserror/log
G ni)eau de logG &og&e)el? Control the number o* messages logged to the error/log.G Possible )alues include? debug= in*o= notice= >arn= error= crit=G alert= emerg.G&og&e)el >arn
#...(
G ordre de pr*rence des languesG &anguagePriorit# allo>s #ou to gi)e precedence to some languagesG in case o* a tie during content negotiation.GG Zust list the languages in decreasing order o* pre*erence. 9e ha)eG more or less alphabeti+ed them here. @ou probabl# >ant to change this. G&anguagePriorit# *r en da nl et de el it a -r no pl pt pt,br lt+ ca es s) t>
!.3 &ancement automatique de l'application!.3.1 $ous "andri)a"ageia
Pour un !anceent autoat"-ue on pren0ra !e %"ch"er apachectlse trouvant soususrlocalapache2binet on !ep!acera sousetcrc.dinit.d* et on !e renoera httpd2
cp usrlocalapache2binapachectl etcrc.dinit.dhttpd2
n ra@outera en 0but 0e %"ch"er @uste aprCs G
-
8/13/2019 Apache Unix
19/72
G $tartup script *or the Apache 9eb $er)erGG ch-con*ig? 3! J! 1!G description? Apache is a 9orld 9ide 9eb ser)er. It is used to ser)e QG H5"& *iles and CNI.G processname? httpd
Pour un !anceent autoat"-ue ? !tat 0e arche 3*4 et 5 on 0o"t nora!eent taper;
ch-con*ig ,,le)el 3! httpd2 on
Kt pour un arrGt ? !tat 0e arche ,* 1* 2 et
ch-con*ig ,,le)el 12 httpd2 o**
Pour !ancer !e serveur* "! su%%"ra a"ntenant 0e taper;
etcrc.dinit.dhttpd2 start
!.3.2 $ous ubuntu
)o"!? un scr"pt 0e !anceent* "! %aut !appe!er httpd2et !e p!acer sousetcinit.d
G are M5 to be changed. 5he# are there to ma-e theG script more readable.
MA"60apache:A6"M0usrlocalapache2binhttpdPI:4I&60usrlocalapache2logshttpd.pidCM40usrlocalapache2con*httpd.con*APACH6C5&0usrlocalapache2bin[\MA"6]ctlG note? $$: is required onl# at startup o* the daemon.$$:0^>hich start,stop,daemon^6MO0en) ,i &AMN0C PA5H0bin?usrbin?usrlocalbin
trap 1
G Chec- that >e're not being started b# inetdi* egrep ,q ,i _EE?space?FFS$er)er5#peEE?space?FFUinet [CM4then e(it
*i
test/con*igKL \ i* E < ,( [APACH6C5& F then echo [APACH6C5& is not e(ecutable= e(iting e(it *i
G ensure >e don't lea- en)ironment )ars into apachectl APACH6C5&0[6MO [APACH6C5&
i* < [APACH6C5& con*igtest 2R de)null then print* Con*iguration s#nta( error detected. Mot reloading.QnQn [APACH6C5& con*igtest
Apache+PHP+MySQL 19 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
20/72
e(it 1 *i]
should/startKL \ i* E < ,( [:A6"M F then echo apache is not e(ecutable= not starting e(it *i]
case [1 in startL should/start test/con*ig echo ,n $tarting >eb ser)er? [MA"6 [6MO [$$: ,,start ,,pid*ile [PI:4I&6 ,,e(ec [:A6"M R de)null
stopL
echo ,n $topping >eb ser)er? [MA"6 start,stop,daemon ,,stop ,,pid*ile [PI:4I&6 ,,o-nodo rm ,r* )arlibapachemod,band>idthlin-S
reload V *orce,reloadL test/con*ig echo ,n 7eloading [MA"6 con*iguration start,stop,daemon ,,stop ,,pid*ile [PI:4I&6 ,,signal ;$71
restartL test/con*ig
echo ,n 7estarting [MA"6 i* < start,stop,daemon ,q ,,stop ,,pid*ile [PI:4I&6 ,,signal H;P then [6MO [$$: ,,start ,,pid*ile [PI:4I&6 ,,e(ec [:A6"M R de)null *i
SL echo ;sage? etcinit.d[MA"6 \startVstopVreloadV*orce,reloadVrestart] e(it 1 esac
i* E [ ,eq F then echo .
e(it else echo *ailed e(it 1*i
n 0onne !es 0ro"ts 0e&cut"on
chmod D!! etcinit.dhttpd2
Pour !e !ancer autoat"-ue au 0arra'e "! %au0ra taper
update,rc.d httpd2 de*aults
Apache+PHP+MySQL 2, http;66www.%un"&.or'
-
8/13/2019 Apache Unix
21/72
!. &es pages >ebs utilisateurs:ans !e %"ch"er httpd.con*on 0o"t ra@outer
;ser:ir public/html
X:irector# homeSpublic/htmlR ptions Inde(es 4ollo>$#m&in-s Includes 6(ecCNI Allo>)erride All 7equire all grantedX:irector#R
et re!ance= httpd* !es ut"!"sateurs -u" veu!ent avo"r une hoepa'e perso 0evront p!acer !eurs %"ch"ers 0ans unrperto"re public/html p!ac 0ans !eur hoe0"rectory. Les pa'es seront access"b!es ? part"r 0e !>FLhttp;66serveurapache6ut"!"sateur
Le prob!Ce avec !e rperto"re public/html 0es ut"!"sateurs et -u"! %aut ettre 55 au n"veau 0e !a hoe0"rectory* ce -u" est part"cu!"Creent 'nant au n"veau scur"t. )ous pouve= spc"%"er -ue cha-ue ut"!"sateur0o"t crer ses pa'es soushomehttplogin,utilisateuren cr"vant pour !a var"ab!e ;ser:ir;ser:ir homehttpd
A"ns" pour !ut"!"sateur toto -uan0 vous tapere= coe >FL http?ser)eur,apache`toto* apache"ra chercher!e %"ch"er inde(.htm sous homehttpdtoto. n peut a!!er p!us !o"n en spc"%"ant un rperto"re part"cu!"er*
homehttpdtotohtmlpar e&ep!e* en cr"vant;
;ser:ir homehttpdShtml
!.! &es aliasS" vous ne vou!e= pas ettre en p!ace un serveur :S* vous ave= un oyen p!us s"p!e* !es a!"as.oncrCteent* votre serveur sappe!!e obeli(* vous vou!e= ren0re access"b!e !es %"ch"ers ht! se trouvant sous
usrdochtml * !es ut"!"sateurs 0evront taper 0ans !eur nav"'ateur pr%r; http?obeli(doc. Pour ce!a 0ans
votre %"ch"eretchttpdcon*httpd.con** vous a!!e= ra@outer;
Alias icons usrlocalapacheiconsAlias doc usrdochtml
on ra@oute ensu"te pour chacun 0es rperto"res
X:irector# usrdochtmlR ptions Inde(es 4ollo>$#m&in-s Includes 6(ecCNI Allo>)erride All 7equire all grantedX:irector#R
M56S" vous ettredoc? !a p!ace 0edoc0ans !>FL "! %au0ra taper http?obeli(doc* s" vous oette= !e0ern"er=vous aure= une erreur.
Con*iguration a)ance.1 Protection d'une pageLa protect"on 0une pa'e pour !ut"!"sateur oli)ierse %a"t 0e an"Cre trCs s"p!e* tout 0abor0 0ans !e %"ch"er 0econ%"'urat"on 0apache on 0o"t avo"r !a !"'ne
G d*inition des *ichiers de protection des pagesAccess4ileMame .htaccess
Apache+PHP+MySQL 21 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
22/72
"! %aut b"en v"0eent re!ancer apache.
ous !es %"ch"ers ? accCs !""t 0o"vent Gtre concentrs 0ans un Ge rperto"rehomeoli)ierpublic/htmlreser)epar e&ep!e* "! su%%"t 0e crer 0ans ce!u"c" un %"ch"er -uon 0evra noer.htaccess contenant;
Auth;ser4ile autholi)ier.usersAuthNroup4ile autholi)ier.groupAuthMame Acces 7estreintAuth5#pe 8asicrequire group autorise
Le %"ch"er oli)ier.users va conten"r une !"ste 0ut"!"sateurs* "! va se trouver sous !e rperto"reusrlocalapache2auth#ventue!!eent ? crer(* pour "n%o vous pouve= chan'er !e che"n usrlocalapache2en o0"%"ant !a va!eur 0e !a var"ab!e $er)er7oot -uon trouve 0ans !e %"ch"er httpd.con*. Le %"ch"eroli)ier.groupcorrespon0 ? une !"ste 0es 'roupes 0e personnes* ces Ges personnes ayant t 0%"n" 0ans !e%"ch"er oli)ier.users. Le pr"nc"pe cons"ste ? crer un 'roupe 0e personnes autor"ses et ? !eur attr"buer un ot 0epasse ? chacune* seu! ce 'roupe pourra acc0er ? !a sect"on rserve.Pour crer ces %"ch"ers "! su%%"t* en tant -ue root* 0une part 0e crer !e rperto"re usrlocalapache2auth* pu"s
0e taper;
htpass>d ,c usrlocalapache2autholi)ier.users oli)ier
Pour "n%o cet e&cutab!e se trouve 0ans !e rperto"re 0"nsta!!at"on 0apache prc"sent sous httpd,2..3support. Lopt"on ,c correspon0 ? !a crat"on 0u %"ch"er oli)ier.users. n va a!ors avo"r ? rentrer un ot 0epasse pour !ut"!"sateur oli)ier.
Me> pass>ord?
n con%"re
7e,t#pe ne> pass>ord?Adding pass>ord *or user oli)ier
Pour crer un autre ut"!"sateur )eroniquevous tapere= !a Ge coan0e sans !opt"on 0e crat"on ;
htpass>d etchttpdautholi)ier.users )eronique
ou@ours en tant -ue root* crer !e %"ch"er usrlocalapache2autholi)ier.group-u" cont"en0ra !a !"ste 0espersonnes autor"ses ? acc0er au& pa'es rserves ;
autorise? oli)ier )eronique
Ma"tenant -uan0 ? part"r 0e votre nav"'ateur pr%r -uan0 vous a!!e= rentrer coe >FLhttp?obeli(`oli)ierreser)e* vous aure= une %enGtre popup -u" va souvr"r vous 0ean0ant 0e rentrer votreno 0ut"!"sateur et !e ot 0e passe pra!ab!eent rentr.
ote= -ue pour -ue -ue!-uun ne pu"sse @etter un coup 0oe"! 0ans !es %"ch"ers .htaccess0e vos ut"!"sateurs=!e%"ch"er httpd.con*0o"t conten"r !a 0"rect"ve su"vante;
X4iles _Q.htR rder allo>=den# :en# *rom all $atis*# AllX4ilesR
Apache+PHP+MySQL 22 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
23/72
.2 &es htes )irtuelsn peut ettre en p!ace 0es h7tes v"rtue!s* en 0autres teres un ut"!"sateur pour un Ge serveur Apache cro"raen vo"r p!us"eurs. K&ep!e* so"t votre serveur Apache obeli( #a0resse /P 12.1J.13.11(* votre 0oa"nebrei+land.b+* on va crer !es h7tes v"rtue!s >>>.asteri(.brei+land.b+ et >>>.ide*i(.brei+land.b+ -u" vontpo"nter chacun vers un en0ro"t 0"%%rent 0u 0"s-ue #respect"veent usrlocalasteri(etusrlocalide*i(chacun
contenant 0es pa'es ht!(.
n va ra@outer tout ? !a %"n 0u %"ch"er;
XOirtualHost 12.1J.13.11R$er)erMame obeli(.brei+land.b+:ocument7oot usrlocalapachehtdocs6rror&og logsobeli(,error/log5rans*er&og logsobeli(,access/logXOirtualHostR
XOirtualHost 12.1J.13.11R$er)erMame >>>.asteri(.brei+land.b+
:ocument7oot usrlocalasteri(6rror&og logsasteri(,error/log5rans*er&og logsasteri(,access/logXOirtualHostR
XOirtualHost 12.1J.13.11R$er)erMame >>>.ide*i(.brei+land.b+:ocument7oot usrlocalide*i(6rror&og logside*i(,error/log5rans*er&og logside*i(,access/logXOirtualHostR
pour chacun 0es rperto"res @e 0o"s crer ensu"te !es "nstruct"ons su"vantes
X:irector# usrlocalasteri(R ptions Inde(es 4ollo>$#m&in-s Includes 6(ecCNI Allo>)erride All 7equire all grantedX:irector#R
Fe!ance= Apache en tapant;
etcrc.dinit.dhttpd restart
Ma"ntenant nous a!!ons crer nos h7tes asteri(et ide*i(* pour ce!a vous ave= 0eu& tho0es;
ra@outer >>>.asteri(.brei+land.b+ et >>>.ide*i(.brei+land.b+0ansetchosts sur !a Ge !"'ne -ue votreserveur Apache#obeli(0ans notre e&ep!e(.
12.1J.13.11 obeli( obeli(.brei+land.b+ >>>.asteri(.brei+land.b+ >>>.ide*i(.brei+land.b+
ora!eent s" vous %a"tes un p"n' sur >>>.ide*i(.brei+land.b+ a 0evra"t archer* pour !es postes c!"ents "!%au0ra ra@outer !a Ge !"'ne 0ans !e %"ch"er hosts#non ncessa"re(.
s" vous 0"spose= 0un serveur :S sur votre ach"ne* au n"veau 0e votre con%"' :S 0ans votre %"ch"erbrei+land.b+ -u" se trouve sous)arnamed vous 0eve= ra@outer tout ? !a %"n;
>>>.asteri( A 12.1J.13.11
>>>.ide*i( A 12.1J.13.11
Apache+PHP+MySQL 23 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
24/72
Fe!ance= !e :S en tapant;
etcrc.dinit.dnamed restart
Pour tester tape= 0ans un she!!;
ping >>>.asteri(.brei+land.b+
Ma"ntenant 0ans !e chap >FL 0e votre nav"'ateur pr%r;
http?>>>.asteri(.brei+land.b+
Kt !?* nora!eent vous 0evr"e= vo"r sa%%"cher !a pa'e -ue vous ave= p!ac soususrlocalasteri(
:ans !hypothCse oO vous ut"!"se= 0eu& serveurs Apache#vers"ons 1.3 et 2 par e&ep!e(* vous pouve= spc"%"er!e port , pour Apache 1.3et !e port ,, pour Apache 2en %"&ant 0ans !e %"ch"er 0e con%"'urat"on &isten?,,. Au n"veau 0e !a 0c!arat"on 0es h7tes v"rtue!s "! %au0ra ettre -ue!-ue chose coe a
XOirtualHost 12.1J.13.11?JJR$er)erMame tosh.-er)ao.*r:ocument7oot usrlocalapache2htdocs6rror&og logstosh,error/log5rans*er&og logstosh,access/logXOirtualHostR
D Nestion de bases de donnes a)ec "#$%&D.1 5ests de *onctionnement a)ec "#$%&n suppose -ue vous ave= "nsta!!* con%"'ur "#$%&et cr !es 0eu& e&ep!es 0u para'raphe "nsta!!at"on
"#$%&. n suppose auss" -ue !e serveur sappe!!e obeli(et !ut"!"sateur oli)ier.)o"c" une pa'e cr"te en PHP-u" va acc0er ? !a base 0e 0onne essaiet ? sa tab!e coord.
X[ser)eur0localhost[login0oli)ier[pass0mot,de,passe[base0essai[table0coord
[id0"@$%&/CMM6C5K[ser)eur=[login=[passLm#sql/select/dbK[baseL[nom0hoarau[prenom0oli)ier[email0oli)ier.hoarauT*nac.net[quer#0IM$675 IM5 [table OA&;6$K'[nom'='[prenom'='[email'L[result0m#sql/quer#K[quer#=[idLecho $aisie termineR
P!acer ce scr"pt 0ans `public/htmlet appe!er !e bd1.php
:ans votre nav"'ateur pr%r* 0ans !e chap >FL sa"s"sse= ;
http?obeli(`oli)ierbd1.php
A pr"or" y a pas 'ran0 chose -u" sest pass* a"ntenant connecte= vous ? votre base essai0ans un she!!
Apache+PHP+MySQL 24 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
25/72
Eoli)ierTobeli( oli)ierF[ m#sql ,u oli)ier ,p essai6nter pass>ord?
9elcome to the "#$%& monitor. Commands end >ith or Qg.@our "#$%& connection id is 1$er)er )ersion? !.!.2 $ource distribution
Cop#right KcL 2= 212= racle andor its a**iliates. All rights reser)ed.
racle is a registered trademar- o* racle Corporation andor itsa**iliates. ther names ma# be trademar-s o* their respecti)eo>ners.
5#pe 'help' or 'Qh' *or help. 5#pe 'Qc' to clear the current input statement.
m#sqlR $6&6C5 S 47" coordU,,,,,U,,,,,,,U,,,,,,,,,,,,,,,,,,,,UV nom V prenom V email VU,,,,,U,,,,,,,U,,,,,,,,,,,,,,,,,,,,U
V hoarau V oli)ier V oli)ier.hoarauT*nac.net VU,,,,,U,,,,,,,U,,,,,,,,,,,,,,,,,,,,U1 ro> in set K. secL
est bon a %onct"onne. Passons ? un e&ep!e p!us po"ntu* on va entrer !es "n%orat"ons concernant vosv"s"teurs 0ans une base "#$%&* crer !a tab!e te!!e -ue 0cr"te 0ans !e&ep!e 2 0e !a pa'e "#$%&* crera"ntenant !e scr"pt PHP.
X
[page0geten)KH55P/7646767L[ip0geten)K 76"56/A::7L[host0gethostb#addrK[ipL
[d 0 dateKdm@ H?i?sL[e(pl0geten)KH55P/;$67/AN6M5L
[ser)eur0localhost[login0oli)ier[pass0mot,de,passe[base0essai[table0re*
[id0"@$%&/CMM6C5K[ser)eur=[login=[passLm#sql/select/dbK[baseL
[quer#0IM$675 IM5 [table OA&;6$K'[d'='[host'='[ip'='[e(pl'='[page'L[result0m#sql/quer#K[quer#=[idL
echo [d [hostK[ipL [e(pl [page
R
oe= ce scr"pt bd2.phpet p!ace= !e 0ans `public/html. :ans votre nav"'ateur pr%r tape= 0ans !e chap>FL
http?obeli(`oli)ierbd2.php
Apache+PHP+MySQL 25 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
26/72
)ous 0evr"e= vo"r !a 0ate* !e no 0e votre ach"ne avec son a0resse /P et 0es "n%os sur votre S et votrenav"'ateur. A prsent connectons nous ? !a base;
oli)ierTobeli( oli)ierF[ m#sql ,u oli)ier ,p essai6nter pass>ord?
9elcome to the "#$%& monitor. Commands end >ith or Qg.@our "#$%& connection id is 1$er)er )ersion? !.!.2 $ource distribution
Cop#right KcL 2= 212= racle andor its a**iliates. All rights reser)ed.
racle is a registered trademar- o* racle Corporation andor itsa**iliates. ther names ma# be trademar-s o* their respecti)eo>ners.
5#pe 'help' or 'Qh' *or help. 5#pe 'Qc' to clear the current input statement.
m#sqlR $6&6C5 S 47" re*U,,,,,,,,,,,,,,,U,,,,,,,,,,,,,,,U,,,,,,,,,,U,,,,,,,,,,,,,,,,,U,,,,,U V date V host V ip V os V page VU,,,,,,,,,,,,,,,U,,,,,,,,,,,,,,,U,,,,,,,,,,U,,,,,,,,,,,,,,,,,U,,,,,U V 22 J?3?! V asteri(.armoric.b+ V 12.1J.13.11 V "o+illa.1 EenF K V VU,,,,,,,,,,,,,,,U,,,,,,,,,,,,,,,U,,,,,,,,,,U,,,,,,,,,,,,,,,,,U,,,,,U 1 ro> in set K. secL
est bon !e v"s"teur a b"en t pr"s en copte.
Ma"ntenant -ue vous save= coent Apache %onct"onne avec "#$%& et PHP* !a"sse= !"bre cours ? votre"a'"nat"on.
D.2 Administration des bases "#$%& a)ec php"#Adminphp"#Admin est un enseb!e 0e scr"pts PHP -u" peret 0a0"n"strer 0es bases "#$%& ? part"r 0unnav"'ateur. )ous pouve= !e rcuprer ? !>FL www.phpya0"n.net. Kn 0ta"! phpMyA0"n peret 0e; crer et suppr"er 0es bases 0e 0onnes* 0"ter* a@outer ou suppr"er 0es chaps* taper 0es coan0es SQL* 'rer !es c!s 0e chaps* ...
Larch"ve se prsente sous !a %ore 0un tarba!! -uon 0copresse en tapant ;
tar ()* php"#Admin,3.!.D,all,languages.tar.b+2
e!a va crer 0ans !e rperto"re 0e trava"! un rperto"re php"#Admin,3.!.D,all,languages. :ans ce rperto"revous ave= un %"ch"er con*ig.inc.sample.php* "! %aut !e cop"er en con*ig.inc.php* 0ans ce %"ch"er "! %aut o0"%"er!es chaps su"vants ;
Pour cette var"ab!e on peut ettre un peu n"porte -uo"* a sert ensu"te pour ch"%%rer 0e an"Cre a!ato"re.
[c*gE'blo>*ish/secret'F 0 'e suis toto' S @; ";$5 4I&& IM 5HI$ 47 CI6 A;5H T6
pour !e reste @a" !a"ss !es va!eurs par 0%aut ? savo"r
Apache+PHP+MySQL 2 http;66www.%un"&.or'
http://www.phpmyadmin.net/http://www.phpmyadmin.net/ -
8/13/2019 Apache Unix
27/72
S Authentication t#pe S[c*gE'$er)ers'FE[iFE'auth/t#pe'F 0 'coo-ie'
S $er)er parameters S[c*gE'$er)ers'FE[iFE'host'F 0 'localhost'[c*gE'$er)ers'FE[iFE'connect/t#pe'F 0 'tcp'[c*gE'$er)ers'FE[iFE'compress'F 0 *alse
S $elect m#sqli i* #our ser)er has it S[c*gE'$er)ers'FE[iFE'e(tension'F 0 'm#sql'[c*gE'$er)ers'FE[iFE'Allo>MoPass>ord'F 0 *alse
Ma"ntenant on 0o"t ren0re access"b!e !e rperto"re php"#Admin0une pa'e web* pour ce!a 0eu& so!ut"ons; #so!ut"on s"p!e( p!acer php"#Admin 0ans usrlocalapachehtdocs et au n"veau 0e !a pa'e 0accue"!0apache %a"re un !"en versusrlocalapachehtdocsphp"#Admin,3.!.D,all,languagesinde(.php #so!ut"on prcon"se(* crer un h7te v"rtue! po"ntant vers .php"#Admin,3.!.D,all,languages-uon appe!era>>>.sql.brei+land.b+.
M56S" a vous 'Cne -ue n"porte -u" 0un nav"'ateur pu"sse a!!er 0ans !e rperto"re php"#Admin* ette= y0es restr"ct"ons 0accCs avec un %"ch"er .htaccess.
Avec !a so!ut"on h7te v"rtue!* ? part"r 0un nav"'ateur -uan0 on s!ect"onne >>>.sql.brei+land.b+on tobe0abor0 sur une bann"Cre 0e !o'"n* ensu"te sur une %enGtre avec %rae avec ? 'auche !a !"ste 0es bases 0e 0onnes0"spon"b!es et ? 0ro"te* !e enu su"vant;
Pour trava"!!er sur une base 0e 0onnes part"cu!"Cres "! su%%"t 0e !a s!ect"onner 0ans !e cho"& 0rou!ant ? 'auche*on retrouve 0a"!!eurs notre base essai* pour en crer une autre "! su%%"t 0e cho"s"r 8ases de donnes pu"s Crerune base de donnes.
S" on s!ect"onne essaipar e&ep!e on obt"ent
Apache+PHP+MySQL 2 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
28/72
)ous pouve= 0onc crer 0es nouve!!es tab!es* %a"re 0es re-uGtes $%&* etc.
A noter -ue s" vous ave= une erreur 0e char'eent 0e php"#Admin0u sty!e JKrreur !ors 0u char'eent 0e !asess"onJ "! %au0ra 0"ter !e %"ch"erusrlocalapache2con*php.ini et o0"%"er !a !"'ne su"vante
session.sa)e/path 0 tmp
vous ette= !e rperto"re tepora"re -ue vous vou!e=
J $cripts CNIPour act"ver !es scr"pts 8/* !e %"ch"er httpd.con*est 0@? con%"'ur pour* on y trouve notaent !a !"'ne -u""n0"-ue oO trouver !es scr"pts;$criptAlias cgi,bin usrlocalapache2cgi,bin
Le but 0e !e&erc"ce est 0e crer un scr"pt per! 8/ -u" va tra"ter un %oru!a"re -ue!con-ue 0une pa'e HML.)ous a!!e= crer votre scr"pt per! soususrlocalapache2cgi,bin* et !e noer *orm.pl* vo"c" son contenu;
G CNIprint [html,Rheader
print XH5"&RQnprint XH6A:RQnprint X5I5&6RPremier script CNI perlX5I5&6RQnprint XH6A:RQnprint X8:@RQnprint XH1R5raitement du *ormulaireXH1RQn
print Mom ?print [html,RparamK'nom'Lprint XpRQnprint 6mail ?print [html,RparamK'email'Lprint XpRQnprint Commentaire?print [html,RparamK'comment'L
print X8:@RQnprint XH5"&RQn
:onner !es 0ro"ts -u" vont b"en avec ce %"ch"er;
chmod D!! *orm.pl
Kn tant -uut"!"sateur stan0ar0 #oli)ier0ans notre e&ep!e(* crer a"ntenant !e %"ch"er HML su"vant -ue vousappe!ere= *ormulaire.htm
XhtmlRXbod#RXh2R4ormulaireXh2RX*orm action0http?obeli(cgi,bin*orm.pl "65H:0N65RMom? Xinput t#pe0te(t name0nom si+e02RXbrR6mail? Xinput t#pe0te(t name0email si+e03RXbrRCommentaire? Xinput t#pe0te(t name0comment si+e01RXbrRXinput t#pe0submit )alue06n)o#erR Xinput t#pe0reset )alue0remettre +roR
X*ormR
Apache+PHP+MySQL 2 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
29/72
Xbod#RXhtmlR
)o"!? a"ntenant -uan0 vous a!!e= acc0er ? http?obeli(`oli)ier*ormulaire.htm* vous a!!e= avo"r une pa'e0u sty!e;
Haut du formulaire
o;
Ka"!;
oenta"re;
Envoyer remettre zro
Bas du formulaire
Kn appuyant sur 6n)o#er a va 0c!encher !e&cut"on 0u scr"pt CNIper!* -u" va provo-uer !a%%"cha'e 0esva!eurs prc0eent sa"s"es.
PHP et &:APn peut cop"!er PHPpour pouvo"r ut"!"ser 0es coan0es 'rant une base L:AP* pour ce!a au para'raphe 0ecop"!at"on 0e PHP on ra@outera au& opt"ons 0e con*igure!opt"on ;
,,>ith,ldap0)arlibldap
)arlibldap0evant Gtre rep!ac par !e che"n oO se trouve votre base &:AP. Fecop"!e= pu"s r"nsta!!e= !eo0u!e -u" va b"en ;
ma-e
Kt en tant -ue root
ma-e install
Fe!ance= Apache
etcrc.dinit.dhttpd restart
)o"!? un pet"t pro'rae -u" va nous perettre 0e ra@outer une entre 0ans !a base* !"bre ? vous a"ntenant 0ecrer 0es %oru!a"res 0e sa"s"e* 0e 0estruct"on* et 0e recherche;
X nom du ser)eur &:AP
[ser)er0asteri(
identi*ication de l'administrateur de la base[rootdn0cn0"anager= dc0brei+land= dc0b+
mot de passe administrateur[rootp>0secret
conne(ion la base[result0ldap/connectK[ser)erL
i* K[result001L\
ldap/bindK[result=[rootdn=[rootp>L]
6nregistrement d'une entre dans la baseecho6nregistrement de 8enamin HoarauQn
[dn0dc0brei+land= dc0b+[nom0Hoarau[prenom08enamin[mail0benamin.hoarauT*uni(.org
[in*oEcnF0[nom. .[prenom[in*oEmailF0[mail
[in*oEobectclassF0person
Apache+PHP+MySQL 29 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
30/72
ldap/addK[result=cn0[nom [prenom=[dn=[in*oLldap/closeK[resultL
echo &'enregistement a russiR
Appe!e= ce %"ch"er ldap.php3* vous pouve= !e tester et vr"%"er -ue !entre a b"en t sa"s"e 0ans !a base.
1 $curiser Apache et PHP dans unen)ironnement chroot
1.1Prsentationette pa'e prsente !"nsta!!at"on et !a con%"'urat"on 0Apache 2..3avec PHP!..11et "#$%& !.!.20ans unenv"ronneent scur"s ? base 0e chroot.hroot peret 0"so!er !e&cut"on 0un pro'rae 0ans un espace c"rconscr"t et !""t #souvent appe! @a"! oupr"son(. est ? 0"re -ue s" un hacBer arr"ve ? pro%"ter 0un %a"!!e 0ans !e pro'rae* "! restera !""t ? unearborescence restre"nte avec un nobre trCs !""t 0e coan0es.
1.2Installation de "#$%&1.2.1 Installation de "#$%& a)ec les sources
:ans !e rperto"re 0e trava"!* on 0copresse !arch"ve;
tar ()*+ m#sql,!.!.2.tar.g+
e!a cre !e rperto"re m#sql,!.!.2* sur a Man0r"va @a" 0u "nsta!!er !e pacBa'e libncurses,de)el. :ans !erperto"re 0e "#$%&* on tape a!ors;
cma-e . ,:"@$%&/;MI/A::70chrootm#sqltmpm#sql.soc-
,:C"A6/IM$5A&&/P764I0usrlocalm#sql
Pu"s
ma-e
La cop"!at"on est re!at"veent !on'ue Ge sur une ach"ne pu"ssante. n tape a"ntenant en teps -ue root;
ma-e install
Les e&cutab!es sont "nsta!!s par 0%aut sous usrlocalbin et !e serveur m#sqld sous usrlocallibe(ec./nsta!!e= a"ntenant !a base 0e 0onne en tapant ;
.m#sql,!.!.2scriptsm#sql/install/db
)o"!? !e rsu!tat obtenu
Installing "#$%& s#stem tables...4illing help tables...
5o start m#sqld at boot time #ou ha)e to cop#support,*ilesm#sql.ser)er to the right place *or #our s#stem
P&6A$6 76"6"867 5 $65 A PA$$97: 47 5H6 "#$%& root ;$67 ith?cd usrlocalm#sql usrlocalm#sqlbinm#sqld/sa*e B
@ou can test the "#$%& daemon >ith m#sql,test,run.plcd usrlocalm#sqlm#sql,test perl m#sql,test,run.pl
Please report an# problems >ith the usrlocalm#sqlbinm#sqlbug scriptn ,7 m#sql?m#sql usrlocalm#sqldata
n "nsta!!e a"ntenant !e %"ch"er 0e con%"'urat"on
cp support,*ilesm#,medium.cn* etcm#.cn*
on 0onne !es 0ro"ts -u" vont b"en
cho>n root?s#s etcm#.cn*chmod etcm#.cn*
1.2.2 Chrooter "#$%&n 0o"t crer pra!ab!eent !es rperto"res su"vants ;
m-dir ,p chrootm#sqlde)m-dir ,p chrootm#sqletcm-dir ,p chrootm#sqltmpm-dir ,p chrootm#sqlusrm-dir ,p chrootm#sqlusrlibm-dir ,p chrootm#sqllibm-dir ,p chrootm#sql)artmpm-dir ,p chrootm#sqlusrlocalm#sqlbinm-dir ,p chrootm#sqlusrlocalm#sqldatam-dir ,p chrootm#sqlusrlocalm#sql)ar
m-dir ,p chrootm#sqlusrlocalm#sqlshareenglish
Apache+PHP+MySQL 31 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
32/72
m-dir ,p chrootm#sqlusrlocalm#sqlshare*rench
on cop"e ensu"te !es %"ch"ers ncessa"res au %onct"onneent 0u serveur m#sqld
cp usrlocalm#sqlbinm#sqld chrootm#sqlusrlocalm#sqlbincp usrlocalm#sqlshareenglisherrmsg.s#s chrootm#sqlusrlocalm#sqlshareenglishcp usrlocalm#sqlshare*rencherrmsg.s#s chrootm#sqlusrlocalm#sqlshare*renchcp ,7* usrlocalm#sqlsharecharsets chrootm#sqlusrlocalm#sqlsharecp etchosts chrootm#sqletccp etchost.con* chrootm#sqletccp etcresol).con* chrootm#sqletccp etcgroup chrootm#sqletccp etcpass>d chrootm#sqletccp etcm#.cn* chrootm#sqletc
0ans !es %"ch"ers chrootm#sqletcpass>d et chrootm#sqletcgroup on ve"!!era ? !a"sser seu!eent!ut"!"sateur et !e 'roup m#sql
a"ntenant on vr"%"e !a 0pen0ance 0u 0aeon m#sqlden tapant
ldd usrlocalm#sqlbinm#sqld
vo"!? !e rsu!tat
linu(,)dso.so.1 0R K(D***2a*cL libpthread.so. 0R liblibpthread.so. K(D*edeJ2!eL lib+.so.1 0R usrliblib+.so.1 K(D*edeJL librt.so.1 0R liblibrt.so.1 K(D*edeDe1L libcr#pt.so.1 0R liblibcr#pt.so.1 K(D*edeDb*3L libdl.so.2 0R liblibdl.so.2 K(D*edeDe*L libstdcUU.so. 0R usrliblibstdcUU.so. K(D*edeDe2L libm.so. 0R liblibm.so. K(D*edeDL libgcc/s.so.1 0R liblibgcc/s.so.1 K(D*edeD2aL
libc.so. 0R liblibc.so. K(D*edeedeL libld,linu(,(J,.so.2 K(D*edeJDaL
on cop"e !es b"b!"othC-ues ncessa"res 0ans !env"ronneent chroot
cp liblibpthread.so. chrootm#sqllibcp liblibcr#pt.so.1 chrootm#sqllibcp liblibnsl.so.1 chrootm#sqllibcp liblibm.so. chrootm#sqllibcp liblibgcc/s.so.1 chrootm#sqllibcp liblibc.so. chrootm#sqllibcp libld,linu(,(J,.so.2 chrootm#sqllibcp usrliblib+.so.1 chrootm#sqlusrlibcp usrliblibstdcUU.so. chrootm#sqlusrlib
cp liblibrt.so.1 chrootm#sqllibcp liblibdl.so.2 chrootm#sqllib
"! %au0ra 'a!eent cop"er !es 0eu& b"b!"othC-ues su"vantes
cp liblibnss/*iles.so.2 chroothttpdlibcp liblibnss/mdns/minimal.so.2 chroothttpdlib
a"ntenant on o0"%"e !es 0ro"ts 0u rperto"re chrootm#sql et ce!u" 0u rperto"re tepora"re
cho>n ,7 root?s#s chrootm#sqlchmod ,7 D!! chrootm#sqlchmod 1DDD chrootm#sqltmp
Apache+PHP+MySQL 32 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
33/72
on cre un %"ch"er poube!!ede)null0ans !env"ronneent chroot
m-nod chrootm#sqlde)null c 2 2cho>n root?s#s chrootm#sqlde)nullchmod chrootm#sqlde)null
on cop"e ensu"te !a base et on et m#sqlpropr"ta"re
cp ,7 usrlocalm#sqldata chrootm#sqlusrlocalm#sqldatacho>n ,7 m#sql?m#sql chrootm#sqlusrlocalm#sqldata
Pour ter"ner on "nsta!!e !e pacBa'e su"vant
urpmi chrootuid
1.2.3 Con*iguration de "#$%&
n 0"te !e %"ch"eretcm#.cn* vous 0eve= au o"ns avo"r !es !"'nes su"vantes
EclientF
port 0 33soc-et 0 chrootm#sqltmpm#sql.soc-
Em#sqldFport 0 33soc-et 0 tmpm#sql.soc-s-ip,e(ternal,loc-ingpid,*ile0tmpm#sqld.pid
s-ip,net>or-ing
on !a"sse !e reste par 0%aut. op"e= a"ntenantetcm#.cn*souschrootm#sqletc
cp etcm#.cn* chrootm#sqletc
on !ance a"ntenant !e 0aeon chroot en tapant
chrootuid chrootm#sql m#sql usrlocalm#sqlbinm#sqld B
vo"!? !e rsu!tat
1331 ?22?21 Inno:8? 5he Inno:8 memor# heap is disabled1331 ?22?21 Inno:8? "ute(es and r>/loc-s use NCC atomic builtins1331 ?22?21 Inno:8? Compressed tables use +lib 1.2.31331 ?22?21 Inno:8? Initiali+ing bu**er pool= si+e 0 12J."1331 ?22?21 Inno:8? Completed initiali+ation o* bu**er pool1331 ?22?21 Inno:8? highest supported *ile *ormat is 8arracuda.
1331 ?22?21 Inno:8? 9aiting *or the bac-ground threads to start1331 ?22?22 Inno:8? 1.1.J started log sequence number 1!!D!1331 ?22?22 EMoteF $er)er hostname Kbind,addressL? '...' port? 331331 ?22?22 EMoteF , '...' resol)es to '...'1331 ?22?22 EMoteF $er)er soc-et created on IP? '...'.1331 ?22?22 EMoteF 6)ent $cheduler? &oaded e)ents1331 ?22?22 EMoteF usrlocalm#sqlbinm#sqld? read# *or connections.Oersion? '!.!.2,log' soc-et? 'tmpm#sql.soc-' port? 33 $ource distribution
Pour vr"%"er -uon est b"en 0ans un env"ronneent chroot* on rcupre !e P/: 0u process m#sqlden tapant
ps au(Vgrep m#sql
vo"!? !e rsu!tat
Apache+PHP+MySQL 33 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
34/72
m#sql 21! . 3.D 3JJ22 3J2 pts2 $lU 1?22 ? usrlocalm#sqlbinm#sqld
en tapant
ll proc21!root
on vo"t b"en un !"en verschrootm#sql
S" vous 0"spose= 0@? 0une base s-! ? up'ra0er "! %au0ra taper
.m#sql/upgrade ,p
S"non* on part 0e =ro* "! %aut o0"%"er !e ot 0e passe 0a0"n"strateur 0e !a base en tapant
usrlocalm#sqlbinm#sql ,u root
vo"!? !e rsu!tat
9elcome to the "#$%& monitor. Commands end >ith or Qg.
@our "#$%& connection id is 1$er)er )ersion? !.!.2,log $ource distribution
Cop#right KcL 2= 212= racle andor its a**iliates. All rights reser)ed.
racle is a registered trademar- o* racle Corporation andor itsa**iliates. ther names ma# be trademar-s o* their respecti)eo>ners.
5#pe 'help' or 'Qh' *or help. 5#pe 'Qc' to clear the current input statement.
m#sqlR$65 PA$$97: 47 rootTlocalhost0PA$$97:K'ne>pass>ord'L%uer# = ro>s a**ected K= secL
on suppr"e !a base 0e test
m#sqlR drop database test%uer# = ro>s a**ected K= secL
on %a"t !e na'e 0ans !a base ys-! en suppr"ant !es ut"!"sateurs "nut"!es
m#sqlR use m#sql:atabase changedm#sqlR delete *rom db%uer# = 2 ro>s a**ected K= secL
m#sqlR delete *rom user >here notKhost0localhost and user0rootL
%uer# = ro>s a**ected K= secL
m#sqlR *lush pri)ileges%uer# = ro>s a**ected K= secL
on chan'e !e no 0e !a0"n"strateurys-!0.p"0
m#sqlR update user set user0adminm#sql >here user0root%uer# = 1 ro> a**ected K= secL7o>s matched? 1 Changed? 1 9arnings?
m#sqlR *lush pri)ileges%uer# = ro>s a**ected K= secL
Apache+PHP+MySQL 34 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
35/72
on peut -u"tter !a base
m#sqlRquit
pour ter"ner on suppr"e toutes traces 0e nos an"ps
cat de)null R `.m#sql/histor#
1.3Installation d'Apache1.3.1 Installation d'Apache
n coence en crant un ut"!"sateur et un 'roupe apacheen tapant
groupadd apacheuseradd apache ,c Apache $er)er ,d de)null ,g apache ,s sbinnologin
Pour Apache* on 0sarch"ve en tapant;
tar ()*+ httpd,2..3.tar.g+
e!a va crer !e rperto"re httpd,2..3. /! %au0ra pra!ab!eent "nsta!!er !es out"!s apr et apr,util -uont!char'era sur !e s"te apr.apache.or'.n 0copresse !a pre"Cre arch"ve en tapant
tar ()*+ apr,1...tar.g+
ce!a 0onne !e rperto"re apr,1.. 0ans !e-ue! on tape success"veent
.con*igurema-e
pu"s en tant -ue root
ma-e install
on 0"te a"ntenant !e %"ch"eretcld.so.con* et on ra@oute !a !"'ne su"vante
usrlocalaprlib
on 0copresse !a 0eu&"Ce arch"ve en tapant
tar ()*+ apr,util,1.!.1.tar.g+
ce!a 0onne !e rperto"re apr,util,1.!.1 on y tape success"veent
.con*igure ,,>ith,apr0/chemin-absolu/apr,1..ma-e
pu"s en tant -ue root
ma-e installldcon*ig
:ans ce rperto"re on tape a!ors;
Apache+PHP+MySQL 35 http;66www.%un"&.or'
http://apr.apache.org/http://apr.apache.org/http://apr.apache.org/ -
8/13/2019 Apache Unix
36/72
.con*igure ,,pre*i(0usrlocalapache2 ,,>ith,mpm0pre*or- ,,disable,charset,lite ,,disable,include,,disable,en) ,,disable,seten)i* ,,disable,status ,,disable,autoinde( ,,disable,asis ,,disable,cgi ,,disable,negotiation ,,disable,imap ,,disable,actions ,,disable,userdir ,,disable,alias ,,enable,so ,,enable,uni(d
Par pre*i(on "n0"-ue -ue !es rperto"res 0Apachecontenant entre autre !e %"ch"er 0e con% se trouveront soususrlocalapache2 cest ut"!e 0ans !e cas oO vous vou!e= %a"re coe&"ster 0eu& vers"ons 0Apachesur votre
systCe.
n tape a"ntenant;
ma-e
Kt en%"n en tant -ue root;
ma-e install
Pour avo"r !a !"ste 0es o0u!es pr"nsta!!s taper !a coan0e
usrlocalapache2binhttpd ,l
vo"!? !a rponse
Compiled in modules? core.c mod/so.c http/core.c pre*or-.c
hacun 0e ces o0u!es est 0"recteent "nt'r 0ans !e&cutab!e 0apache* ? !e&cept"on 0u o0u!e php -u" serachar' 0yna"-ueent 'rUce au o0u!e :S #0yna"c share0 ob@ect(.
1.Chrooter Apachen 0o"t crer pra!ab!eent !es rperto"res su"vants
m-dir ,p chroothttpdde)m-dir ,p chroothttpdetcm-dir ,p chroothttpd)arrunm-dir ,p chroothttpdusrlibm-dir ,p chroothttpdusrlibm-dir ,p chroothttpdlibm-dir ,p chroothttpdusrlibe(ecm-dir ,p chroothttpdusrlocalapache2bin
m-dir ,p chroothttpdusrlocalapache2libm-dir ,p chroothttpdusrlocalapache2logslena.hoarau.orgm-dir ,p chroothttpdusrlocalapache2con*m-dir ,p chroothttpdusrlocallibm-dir ,p chroothttpdusrlocalaprlibm-dir ,p chroothttpd>>>
on cop"e a"ntenant !es %"ch"ers ncessa"res au %onct"onneent 0u 0aeon httpd
cp usrlocalapache2binhttpd chroothttpdusrlocalapache2bincp usrlocalapache2con*mime.t#pes chroothttpdusrlocalapache2con*cp usrlocalapache2con*httpd.con* chroothttpdusrlocalapache2con*cp etchosts chroothttpdetc
cp etcnss>itch.con* chroothttpdetc
Apache+PHP+MySQL 3 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
37/72
cp etcresol).con* chroothttpdetccp etcgroup chroothttpdetccp etcpass>d chroothttpdetc
on cop"e !es o0u!es ? !en0ro"t -u" va b"en
cp usrlocalapache2modulesS chroothttpdusrlocalapache2modules
0ans !es %"ch"ers chrootm#sqletcpass>d et chrootm#sqletcgroup on ve"!!era ? !a"sser seu!eent!ut"!"sateur et !e 'roup apache
n vr"%"e !es 0pen0ances 0u 0aeon en tapant
ldd usrlocalapache2binhttpd
vo"!? !e rsu!tat
linu(,)dso.so.1 0R K(D***e*JbL libpcre.so. 0R usrliblibpcre.so. K(D*b2*L
libaprutil,1.so. 0R usrlocalaprliblibaprutil,1.so. K(D*b2d2!L libe(pat.so.1 0R usrliblibe(pat.so.1 K(D*b2a*cL libapr,1.so. 0R usrlocalaprliblibapr,1.so. K(D*b2JceL libuuid.so.1 0R liblibuuid.so.1 K(D*b2cL librt.so.1 0R liblibrt.so.1 K(D*b2c1L libcr#pt.so.1 0R liblibcr#pt.so.1 K(D*b22D3L libpthread.so. 0R liblibpthread.so. K(D*b2!DL libdl.so.2 0R liblibdl.so.2 K(D*b1e!3L libc.so. 0R liblibc.so. K(D*b1aeDL libld,linu(,(J,.so.2 K(D*b31DaL
on cop"era 0onc !es b"b!"othC-ues ncesa"res en tapant
cp liblibm.so. chroothttpdlib
cp liblibrt.so.1 chroothttpdlibcp liblibcr#pt.so.1 chroothttpdlibcp liblibpthread.so. chroothttpdlibcp liblibdl.so.2 chroothttpdlibcp liblibc.so. chroothttpdlibcp liblibuuid.so.1 chroothttpdlibcp libld,linu(,(J,.so.2 chroothttpdlibcp usrlocalaprliblibaprutil,1.so. chroothttpdusrlocalaprlibcp usrlocalaprliblibapr,1.so. chroothttpdusrlocalaprlibcp usrlocalapache2liblibe(pat.so. chroothttpdusrlibcp usrliblibe(pat.so.1 chroothttpdusrlibcp usrliblibpcre.so.chroothttpdusrlib
n !ance !e 0aeon httpden traant !es appe!s ? 0autres %"ch"ers ou b"b!"othC-ues en tapant
strace ,o tmptrace usrlocalapache2binhttpd
vo"!? ce -ue a 0onne 0ans !e %"ch"er
cat tmptrace V grep open
openKde)urandom= /7:M&@L 0 3openKetcgai.con*= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrlocalapache2con*httpd.con*= /7:M&@V/C&66CL 0 3openKusrlocalapache2moduleslibphp!.so= /7:M&@L 0
openKusrlibtls(J/libc,client.so.= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#L
Apache+PHP+MySQL 3 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
38/72
openKusrlibtlslibc,client.so.= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrlib(J/libc,client.so.= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrliblibc,client.so.= /7:M&@L 0 openKusrliblibresol).so.2= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrlocalaprliblibresol).so.2= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKetcld.so.cache= /7:M&@L 0 openKliblibresol).so.2= /7:M&@L 0 openKusrliblibmcr#pt.so.= /7:M&@L 0 openKusrliblibltdl.so.D= /7:M&@L 0 openKusrliblibpam.so.= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrlocalaprliblibpam.so.= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKliblibpam.so.= /7:M&@L 0 openKusrliblibintl.so.J= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrlocalaprliblibintl.so.J= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKliblibintl.so.J= /7:M&@L 0 openKusrliblibm.so.= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrlocalaprliblibm.so.= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKliblibm.so.= /7:M&@L 0 openKusrliblibnsl.so.1= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrlocalaprliblibnsl.so.1= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#L
openKliblibnsl.so.1= /7:M&@L 0 openKusrliblib+.so.1= /7:M&@L 0 openKusrliblibssl.so.1..= /7:M&@L 0 openKusrliblibcr#pto.so.1..= /7:M&@L 0 openKusrliblib(ml2.so.2= /7:M&@L 0 openKusrliblibaudit.so.1= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKusrlocalaprliblibaudit.so.1= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKliblibaudit.so.1= /7:M&@L 0 openKetcnss>itch.con*= /7:M&@L 0 openKetchost.con*= /7:M&@L 0 openKetcresol).con*= /7:M&@L 0 openKusrlocalaprliblibnss/mdns/minimal.so.2= /7:M&@L 0 ,1 6M6M5 KMo such *ile ordirector#L
openKetcld.so.cache= /7:M&@L 0 openKliblibnss/mdns/minimal.so.2= /7:M&@L 0 openKusrlocalaprliblibnss/*iles.so.2= /7:M&@L 0 ,1 6M6M5 KMo such *ile or director#LopenKetcld.so.cache= /7:M&@L 0 openKliblibnss/*iles.so.2= /7:M&@L 0 openKetchosts= /7:M&@V/C&66CL 0 openKetchosts= /7:M&@V/C&66CL 0 openKusrlocalapache2logshttpd.pid= /7:M&@V/C&66CL 0 ,1 6M6M5 KMo such *ile ordirector#LopenKusrlocalapache2logserror/log= /97M&@V/C76A5V/APP6M:V/C&66C= L 0 openKusrlocalapache2logslena.hoarau.orgerror/log= /97M&@V/C76A5V/APP6M:V/C&66C= L 0 openKetclocaltime= /7:M&@L 0 D
on vo"t -ue httpdre-u"ert 0es b"b!"othC-ues -ue lddne s"'na!e pas. n !es cop"era en tapant
cp usrliblib(ml2.so.2 chroothttpdusrlibcp usrliblib+.so.1 chroothttpdusrlibcp liblibresol).so.2 chroothttpdlibcp liblibnsl.so.1 chroothttpdlibcp liblibnss/*iles.so.2 chroothttpdlibcp liblibnss/mdns/minimal.so.2 chroothttpdlib
on o0"%"e a"ntenant !es 0ro"ts et propr"ta"re 0u rperto"re chroot 0Apache
cho>n ,7 root?s#s chroothttpd
chmod ,7 D!! chroothttpd
Apache+PHP+MySQL 3 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
39/72
on cre a"ntenant un %"ch"er poube!!ede)null en tapant
m-nod chroothttpdde)null c 1 3cho>n root?s#s chroothttpdde)nullchmod chroothttpdde)null
mknod -m 644 /chroot/httpd//dev/random c 1 8mknod -m 644 /chroot/httpd//dev/urandom c 1 9chown root:root /chroot/httpd/dev/random /chroot/httpd/dev/urandom
cp de)urandom chroothttpdde)urandom
p!acer a"ntenant vos %"ch"ers ht! sous chroothttpd>>> on va cons"0rer !e s"te pr"nc"pa! p!ac souschroothttpd>>>>>>.-er)ao.org et un secon0a"re sous chroothttpd>>>*uni(.-er)ao.org
1..1 Con*iguration d'Apache
)o"!? !e %"ch"erchroothttpdusrlocalapache2con*httpd.con*
G 0000000000000000000000000000000000000000000000000G 8asic settingsG 0000000000000000000000000000000000000000000000000&isten ...?J;ser apacheNroup apache$er)erAdmin >ebmasterT*uni(.org;seCanonicalMame **$er)er$ignature **Hostname&oo-ups **$er)er5o-ens Prod$er)er7oot usrlocalapache2:ocument7oot chroothttpd>>>
Pid4ile usrlocalapache2logshttpd.pid$core8oard4ile usrlocalapache2logshttpd.scoreboard
&oad"odule php!/module moduleslibphp!.so&oad"odule authn/*ile/module modulesmod/authn/*ile.so&oad"odule authn/core/module modulesmod/authn/core.so&oad"odule auth+/host/module modulesmod/auth+/host.so&oad"odule auth+/group*ile/module modulesmod/auth+/group*ile.so&oad"odule auth+/user/module modulesmod/auth+/user.so&oad"odule auth+/core/module modulesmod/auth+/core.so&oad"odule access/compat/module modulesmod/access/compat.so&oad"odule auth/basic/module modulesmod/auth/basic.so&oad"odule reqtimeout/module modulesmod/reqtimeout.so
&oad"odule *ilter/module modulesmod/*ilter.so&oad"odule mime/module modulesmod/mime.so&oad"odule log/con*ig/module modulesmod/log/con*ig.so&oad"odule headers/module modulesmod/headers.so&oad"odule )ersion/module modulesmod/)ersion.so&oad"odule uni(d/module modulesmod/uni(d.so&oad"odule )host/alias/module modulesmod/)host/alias.so&oad"odule dir/module modulesmod/dir.so
XI*"odule mod/dir.cR:irector#Inde( inde(.html
XI*"oduleRG 0000000000000000000000000000000000000000000000000
G H55P and per*ormance settings
Apache+PHP+MySQL 39 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
40/72
G 00000000000000000000000000000000000000000000000005imeout 3eepAli)e n"a(eepAli)e7equests 1eepAli)e5imeout 1!XI*"odule pre*or-.cR
"in$pare$er)ers !"a($pare$er)ers 1$tart$er)ers !"a(Clients 1!"a(7equestsPerChild
XI*"oduleRG 0000000000000000000000000000000000000000000000000G Access controlG 0000000000000000000000000000000000000000000000000X:irector# R
ptions MoneAllo>)erride Monerder den#=allo>:en# *rom all
X:irector#RX:irector# >>>>>>.-er)ao.orgR
rder allo>=den#Allo> *rom all
X:irector#RX:irector# >>>*uni(.-er)ao.orgR
rder allo>=den#Allo> *rom all
X:irector#RG 0000000000000000000000000000000000000000000000000G "I"6 encodingG 0000000000000000000000000000000000000000000000000XI*"odule mod/mime.cR
5#pesCon*ig usrlocalapache2con*mime.t#pesXI*"oduleR:e*ault5#pe te(tplainXI*"odule mod/mime.cR
Add6ncoding (,compress .WAdd6ncoding (,g+ip .g+ .tg+Add5#pe application(,compress .WAdd5#pe application(,g+ip .g+ .tg+Add5#pe application(,tar .tg+
XI*"oduleRG 0000000000000000000000000000000000000000000000000G &ogsG 0000000000000000000000000000000000000000000000000 i&og&e)el >arn
&og4ormat h l u t QrQ Rs b Q\7e*erer]iQ Q\;ser,Agent]iQ combined&og4ormat h l u t QrQ Rs b common&og4ormat \7e*erer]i ,R ; re*erer&og4ormat \;ser,agent]i agent6rror&og usrlocalapache2logserror/logCustom&og usrlocalapache2logsaccess/log combinedG 0000000000000000000000000000000000000000000000000G Oirtual hostsG 0000000000000000000000000000000000000000000000000
XOirtualHost SR :ocument7oot >>>>>>.-er)ao.org $er)erMame >>>.-er)ao.org
$er)erAlias >>>.-er)ao.org
Apache+PHP+MySQL 4, http;66www.%un"&.or'
-
8/13/2019 Apache Unix
41/72
6rror&og logs>>>.-er)ao.orgerror/log Custom&og logs>>>.-er)ao.orgaccess/log combinedXOirtualHostRXOirtualHost SR :ocument7oot >>>*uni(.-er)ao.org $er)erMame *uni(.-er)ao.org $er)erAlias *uni(.-er)ao.org 6rror&og logs*uni(.-er)ao.orgerror/log Custom&og logs*uni(.-er)ao.orgaccess/log combinedXOirtualHostR
vous 0eve= crer pra!ab!eent !es rperto"res pour stocBer !es !o's 0e vos s"tes
m-dir chroothttpdusrlocalapache2logs*uni(.-er)ao.orgm-dir chroothttpdusrlocalapache2logs>>>.-er)ao.org
crer 'a!eent !es a!"as -u" vont b"en au n"veau 0e etchostspour vos h7tes v"rtue!s* cest ? 0"re -ue s" votreserveur a !a0resse /P !oca!e 192.1.1.1, et a pour no !oca! mana.-er)ao.*r vous 0eve= avo"r
12.1J.1.1 mana.-er)ao.*r >>>.-er)ao.org *uni(.-er)ao.org
vous 0eve= %a"re 0e Ge pour tous vos c!"ents. Pour !ancer a"ntenant Apache* "! %aut taper;
chroot chroothttpd usrlocalapache2binhttpd
Ma"ntenant votre nav"'ateur pr%r 0ans !e chap >FL taper http?>>>.-er)ao.org et vous 0evr"e= retrouvervos pa'es.
1.!Installation de PHP1.!.1 Installation a)ec les sources de PHP
Pour php!* on tapera 0abor0
tar ()* php,!..11.tar.b+2
e!a va crer un rperto"re php,!..11. A prsent 0ans !e rperto"re 0e php* vous tapere=
.con*igure ,,>ith,ap(s20usrlocalapache2binap(s ,,>ith,con*ig,*ile,path0usrlocalapache2con*,,>ith,m#sql ,,enable,debug0no ,,>ith,gette(t ,,>ith,mcr#pt ,,>ith,imap ,,>ith,imap,ssl ,,>ith,libdir0lib ,,>ith,openssl ,,enable,e(i*
A noter -ue !opt"on sa*e/modenest p!us pr"se en copte 0epu"s !a vers"on 5.3.,. n "nsta!!era pra!ab!eent!es pacBa'es su"vants libmcr#pt,de)el et libc,client,de)elon tape ensu"te
ma-e
Pu"s en tant -ue root
ma-e install
cd etcssl
on 'nCre une c! non ch"%%re sur 0"s-ue #pour v"ter 0avo"r ? sa"s"r un ot 0e passe ? cha-ue re0arra'e0Apache( ;
Apache+PHP+MySQL 41 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
42/72
openssl genrsa ,out ser)er.-e# 12Nenerating 7$A pri)ate -e#= 12 bit long modulus.........UUUUUU...........................................UUUUUUe is !!3D K(11L
Knsu"te on cre un cert"%"cat s"'n avec cette c! ;
openssl req ,ne> ,-e# ser)er.-e# ,out ser)er.csr@ou are about to be as-ed to enter in*ormation that >ill be incorporatedinto #our certi*icate request.9hat #ou are about to enter is >hat is called a :istinguished Mame or a :M.5here are quite a *e> *ields but #ou can lea)e some blan-4or some *ields there >ill be a de*ault )alue=I* #ou enter '.'= the *ield >ill be le*t blan-.,,,,,Countr# Mame K2 letter codeL EF?47
$tate or Pro)ince Mame K*ull nameL E:e*ault Pro)inceF?8retagne
&ocalit# Mame Keg= cit#L E:e*ault Cit#F?8restrgani+ation Mame Keg= compan#L E:e*ault Compan# &tdF?*uni(rgani+ational ;nit Mame Keg= sectionL EF?Common Mame Keg= #our name or #our ser)er's hostnameL EF?horde.-er)ao.org6mail Address EF?oli)ier.hoarauT*uni(.org
Please enter the *ollo>ing 'e(tra' attributesto be sent >ith #our certi*icate requestA challenge pass>ord EF?mot,de,passeAn optional compan# name EF?*uni(
1.!.2 Chrooter PHP
A prsent on va cop"er !e %"ch"er php.ini,production se trouvant 0ans !e rperto"re 0e PHP php,!.3.3 pour !eettre souschroothttpdusrlocalapache2con*et en !e renoant php.inicp .php,!..11php.ini,production usrlocalapache2con*php.ini
n cop"e 'a!eent !e o0u!e php en tapant
cp usrlocalapache2moduleslibphp!.so chroothttpdusrlocalapache2modulescp usrlocalbinphar chroothttpdusrlocalbincp ,7* usrlocalincludephp chroothttpdusrlocalincludecp ,7* usrlocallibphp chroothttpdusrlocallibcp usrlocalbinpecl chroothttpdusrlocalbincp usrlocalbinphpS chroothttpdusrlocalbincp ,7* usrliblibmcr#pt chroothttpdusrlib
a"ntenant on vr"%"e !es 0pen0ances 0e b"b!"othC-ues 0u o0u!e en tapant
ldd usrlocalapache2moduleslibphp!.so
vo"!? !e rsu!tat
linu(,)dso.so.1 0R K(D***!1**L libcr#pt.so.1 0R liblibcr#pt.so.1 K(D*dDD1eL libc,client.so. 0R usrliblibc,client.so. K(D*dD!L libresol).so.2 0R liblibresol).so.2 K(D*dD1eeL librt.so.1 0R liblibrt.so.1 K(D*dD!*eL libmcr#pt.so. 0R usrliblibmcr#pt.so. K(D*dD!ddeL libltdl.so.D 0R usrliblibltdl.so.D K(D*dD!bd3L
Apache+PHP+MySQL 42 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
43/72
libpam.so. 0R liblibpam.so. K(D*dD!cL libintl.so.J 0R liblibintl.so.J K(D*dD!DbcL libm.so. 0R liblibm.so. K(D*dD!!3L libdl.so.2 0R liblibdl.so.2 K(D*dD!33!L libnsl.so.1 0R liblibnsl.so.1 K(D*dD!11dL lib+.so.1 0R usrliblib+.so.1 K(D*dD*DL libssl.so.1.. 0R usrliblibssl.so.1.. K(D*dDcaJL libcr#pto.so.1.. 0R usrliblibcr#pto.so.1.. K(D*dDJcL lib(ml2.so.2 0R usrliblib(ml2.so.2 K(D*dD!DaL libc.so. 0R liblibc.so. K(D*dD2eL libpthread.so. 0R liblibpthread.so. K(D*dD3**2L libld,linu(,(J,.so.2 K(D*dDD3eL libaudit.so.1 0R liblibaudit.so.1 K(D*dD3ddL
!a p!upart 0es b"b!"othC-ues ont 0@? t cop"s 0ans !env"ronneent chroot su"te ? !"nsta!!at"on 0apache* "!%aut @uste taper
cp usrlocalm#sqlliblibm#sqlclient.so.1J chroothttpdusrlocalm#sqllibcp usrliblibmcr#pt.so. chroothttpdusrlib
cp liblibaudit.so.1 chroothttpdlibcp liblibpam.so. chroothttpdlibcp usrliblibc,client.so. chroothttpdusrlibcp usrliblibssl.so.1.. chroothttpdusrlibcp usrliblibcr#pto.so.1.. chroothttpdusrlib
1.!.3 Con*iguration de PHP
n va o0"%"er a"ntenant !e %"ch"erchroothttpdusrlocalapache2con*httpd.con*en ve"!!ant ? ra@outer
&oad"odule php!/module moduleslibphp!.so
? !a su"te 0es !"'nes
Add5#pe application(,compress .WAdd5#pe application(,g+ip .g+ .tg+
n ra@oute
Add5#pe application(,httpd,php .php .php3 .php .php! .phtmlAdd5#pe application(,httpd,php,source .phps
Par a"!!eurs ? !a !"'ne
:irector#Inde( inde(.html
n ra@outera
:irector#Inde( inde(.html inde(.php
n re!ance Apachecrer a"ntenant !e %"ch"er in*ophp.phpcontenant
Xphpphpin*oKLR
Que vous p!acere= sous chroothttpd>>>* 0ans !>FL 0e votre nav"'ateur pr%r* taperhttp?localhostin*ophp.phpou http?nommachinein*ophp.php et !? a'"-ue 0evra"t sa%%"cher 0es "n%o sur!a con%"'urat"on 0e PHPsur votre systCe.
Apache+PHP+MySQL 43 http;66www.%un"&.or'
-
8/13/2019 Apache Unix
44/72
AK/ pour un %onct"onneent opt"a! 0e m#sql avec php* "! %au0ra prc"ser !a pos"t"on 0u %"ch"ersocBet 0e m#sql0ans !e %"ch"er php.ini
m#sql.de*ault/soc-et 0 tmpm#sql.soc-
n va 'a!eent o0"%"er !es paraCtres su"vants;
e(pose/php0** PHP ne 0!"vrera pas 0"n%orat"on en rponse au& re-uGtes %a"tes par 0es c!"ents.
displa#/errors 0 ** PHP ne 0!"vrera ? !a%%"cha'e #0ans !e nav"'ateur( aucune erreur et warn"n'.
log/errors 0 n Les erreurs et warn"n's seront "nscr"ts 0ans un %"ch"er 0e !o'
error/log 0usrlocalapachelog
sphp.log
:%"n"t"on 0u %"ch"er 0e !o'
*ile/uploads 0 ** :sact"vat"on 0e !up!oa0
register/globals0**Kn ettant ? n !es var"ab!es 0env"ronneent* 8K* PS* etc. 0ev"ennentautoat"-ueent 0es var"ab!es '!oba!es* ce -u" est potent"e!!eent 0an'ereu&* encons-uence "! est %orteent conse"!! 0e 0sact"ver ce paraCtre
1.&ancement automatique1..1 &ancement automatique de "#sql
ous pouvons passer ? !a crat"on 0un %"ch"er 0e !anceent m#sqld-uon p!acera sousetcinit.d
G
-
8/13/2019 Apache Unix
45/72
G Comments to support ch-con*ig on 7edHat &inu(G ch-con*ig? 23! 3G description? A )er# *ast and reliable $%& database engine.
CH75/"@$%&0chrootm#sqlCH75/PHP0chroothttpd$C650tmpm#sql.soc-"@$%&:0usrlocalm#sqlbinm#sqldPI:4I&60tmpm#sqld.pidCH75;I:0usrsbinchrootuidecho ,n m#sqlcase [1 in startL rm ,* [\CH75/PHP][\$C65] nohup [\CH75;I:] [\CH75/"@$%&] m#sql [\"@$%&:] R
de)null 2RB1 B sleep ! BB ln [\CH75/"@$%&][\$C65] [\CH75/PHP][\$C65] stopL -ill ^cat [\CH75/"@$%&][\PI:4I&6]^ rm ,r* [\CH75/"@$%&][\$C65]
SL echo echo ;sage? ^basename [^ \startVstop] RB2 e(it esace(it
Pour un !anceent autoat"-ue 0e "#$%&? !tat 0e arche 3* 4 et 5* on tapera ensu"te
ch-con*ig ,,le)el 3! m#sql on
Kt un arrGt ? !tat 0e arche ,* 1* 2 et
ch-con*ig ,,le)el 12 m#sql o**
1..2 &ancement automatique d'Apache
nous pouvons passer ? !a crat"on 0un %"ch"er 0e !anceent apache-uon p!acera sousetcinit.d
G
-
8/13/2019 Apache Unix
46/72
ch-con*ig ,,le)el 3! apache on
Kt pour un arrGt ? !tat 0e arche ,* 1* 2 et
ch-con*ig ,,le)el 12 apache o**
1.DInstallation d'un blog >ordpress en local9ordpressvous peret 0e crer un b!o'. La pa'e 0e t!char'eent 0e !a vers"on %rana"se se trouve sur ce s"tehttp;66www.wor0press%r.net6te!echar'eents
n y rcupCre !arch"ve -uon 0copresse 0"recteent sous !e rperto"rechroothttpd>>>
un+ip >ordpress,3.!.1,*r/47.+ip
on renoe !e rperto"re >ordpress0ans un no 0e rperto"re appropr"
m) >ordpress blog.-er)ao.org
a"ntenant on va crer une base >ordpresset un ut"!"sateur admin>p-u" va pouvo"r acc0er ? !a base
usrlocalm#sqlbinm#sql ,u adm#sql ,p6nter pass>ord?9elcome to the "#$%& monitor. Commands end >ith or Qg.
@our "#$%& connection id is 3$er)er )ersion? !.!.2,log $ource distribution
Cop#right KcL 2= 212= racle andor its a**iliates. All rights reser)ed.
racle is a registered trademar- o* racle Corporation andor itsa**iliates. ther names ma# be trademar-s o* their respecti)eo>ners.
5#pe 'help' or 'Qh' *or help. 5#pe 'Qc' to clear the current input statement.
m#sqlR C76A56 :A5A8A$6 >ordpress%uer# = 1 ro> a**ected K=1 secL
m#sqlR N7AM5 A&& P7IOI&6N6$ M >ordpress.S 5 admin>pTlocalhost ,R I:6M5I4I6: 8@ motpasse%uer# = ro>s a**ected K= secL
m#sqlR 4&;$H P7IOI&6N6$
%uer# = ro>s a**ected K= secL
m#sqlR quit8#e
Ma"ntenant 0ans !e %"ch"erchroothttpdusrlocalapache2con*httpd.con*on ve"!!era ? ra@outer
X:irector# >>>blog.-er)ao.orgR rder allo>=den# Allo> *rom allX:irector#R
et
Apache+PHP+MySQL 4 http;66www.%un"&.or'
http://www.wordpress-fr.net/telechargementshttp://www.wordpress-fr.net/telechargements -
8/13/2019 Apache Unix
47/72
XOirtualHost SR :ocument7oot >>>blog.-er)ao.org $er)erMame blog.-er)ao.org 6rror&og logsblog.-er)ao.orgerror/log Custom&og logsblog.-er)ao.orgaccess/log combinedXOirtualHostR
on re!ance apache.
etcinit.dapache stopetcinit.dapache start
n ra@oute !>FL b!o'.Bervao.or' 0ans !e %"ch"er etchosts. Ma"ntenant on !ance !"nter%ace 0a0"n"strat"on 0ewor0press en ettant 0ans votre nav"'ateur !>FL su"vant http?blog.-er)ao.org>p,admininstall.php
Lors 0e !a con%"'urat"on 0e !a base* !es paraCtres ? sa"s"r sont
o 0e !a base 0e 0onnes >ordpress
/0ent"%"ant admin>p
Mot 0e passe J!e ot 0e passe pra!ab!eent %"&J
H7te 0e !a base 0e 0onnes !oca!host
Pr%"&e 0e tab!e >pblog1/
/! su%%"t ensu"te 0e su"vre !es "n0"cat"ons. Pour !e reste vous pouve= consu!ter !es nobreu& s"tes sur >ordpress-uon peut trouver sur !e net.
Pour !up!oa0 0es photos "! %au0ra o0"%"er 'a!eent !e %"ch"er chroothttpdusrlocalapache2con*php.ini
en ettant
*ile/uploads 0 nupload/tmp/dir 0 >>>blog.-er)ao.org>p,contentuploads
re!ance= apache
11 Anal#ser les logs dApache11.1 Prsentationette pa'e prsente 0eu& out"!s pour ana!yser !es !o's 0Apache. Le pre"er >ebali+erest sVreent !e p!usconnu* !e 0eu&"Ce a>statsest !e nouveau venu 0ans !e 0oa"ne* "! 'a'ne ? Gtre connu car "! %ourn"t une
"n%orat"on p!us r"che -ue >ebali+er. Les 0eu& out"!s ont !a part"cu!ar"t 0a%%"cher !eurs rsu!tats 0ans une pa'eweb.A>stats %a"t appe! ? un scr"pt 8/* ce -u" nest pas !e cas 0e >ebali+er-u" pourra serv"r pour un s"te webscur"s #8/ 0sact"v( access"b!e sur "nternet.
11.2 A