apache unix

Upload: mihaidoru4353

Post on 04-Jun-2018

225 views

Category:

Documents


0 download

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