² WWW A]w
wA@As峹аѦ B
̪sG2003/10/02
@
ڭ̳̱`y[zNO[]@ Web աI򤰻O Web OHFANOyTsN(World Wide Web)AΪ̤]iH٤saIoӬOڭ̥ثeH̱`ϥΪ Internet w@աIq`WNOϥ WWW ӬdߨϥΪ̩һݭnToI^_^Iثe WWW ADnj}AOO Unix-Like W Apache P Windows W IIS ANHįӻAMO Linux W Apache ̴ΰաIܩ WWW AiHRAPʺAAӳoǰʺA̭AܦhOHثel Linux + Apache + MySQL + PHP []ӦA²٬ LAMP IoذʺA WWW DܦILiHq Server P Client ݪƩOIӶiJo LAMP @ɧaI
@
z
@@GO WWW P}( URL )
@@GClient pV Server nD
@@G WWW HO LAMP
@@GSSL P CA {Ҿ
Mw
@@GRPM w LAMP 觋
@@GTarball w LAMP 觋 ( Apache 2.xx 2003/09/10 e )
@@GɯŻPwˤ觋ܫij
D]w
@@GLAMP M󵲺cPDW
@@G򥻭nD
@@G² Apache ]w(t󤤤ܤ]w)
@@GҰ httpd (p https )
@@GյG
@@GΤ᪺ӤHҰ
iw]wG1. CGI ( Perl ɮ ) BIndex ܡBdLܤ]w
@@@@@@G2. IP PϥΪ̰ʧ@]w(allow, deny, limit)
@@@@@@G3. DA]w
@@@@@@G4. vNqP]w
@@@@@@G5. ]w{Һ
@@@@@@G6. .htaccess ɮ׻P AllowOverride γ~
@@@@@@G7.
nɤRP䭫nG
@@@@@G1. syslog P logrotate
@@@@@G2. Web Analyser
D[]G
Ȥݪr Web \G
Wj PHP {XtתҲG
@@GMM Cache
@@GApache į
寸nP Nimda fr scriptsG
w phpBB2 QתOG
DQG
@@@@@G1. ܤ媺B~G
@@@@@G2. Lk PHP G
@@@@@G3. MySQL DG
@@@@@G4. Ұ httpd ɥX{ perl DG
ҫmG

zGO WWW P}
    WWW O World Wide Web YgA𫟺A Web sNsbAҥHA²檺AWWWNOyTAiHXrBϧΡBvnhCAózL Ws ( HyperText ) 觋ANTzL Internet ǻ@ɦUBI WWW ƬOpǻOH
    @
    pGA`Ws ( ׬Oϥ Mosilla BIE άO Netscape )AAӷ|DAOWZW𪺤JfG_꯸ ( tw.yahoo.com )AҥHAunb}CWJy  http://tw.yahoo.com zNiHs_ꪺToIoy http://tw.yahoo.com zNOҿת URL ( Uniform Resource Locator ) A𫟺 tw.yahoo.com NOҿתDW١AYOڭ̫e责L DNS Y FQDN ( Fully Qualified Domain Name ) AYODW٥[WW٩ұo@ӿW@LG Internet WWrաIѩqb̭Ȼ{ IP ӤwAҥHA_꯸u IP NOzL DNS ѪR tw.yahoo.com ӧoqAMgL WWW w\NƶǨAeӡI򦳭Ǯ榡 URL OHIӨӻA}CiHJoǩNNG
    @
    <w>://<D}>[:port]/<ؿ귽>
    @ @
    |ӨҤlӻAڭ̳q`h줤sjǪ FTP OH Web iJA]iHHsPjM\hơA]AoӮɭԧڭ̥iHb}CJGy http://ftp.nsysu.edu.tw zHiJ WWW FTP IЪ`NAO WWW IpGڷQnH FTP ҦӶiƪsPǿOHIb}CJH ftp k}Gy ftp://ftp.nsysu.edu.tw zIO_o{ܪNNӬۦPHISաINO]ڭ̩ҳsDw@˪tGAҥHD^ƷMNPաIЯSOdNoغ}C榡I
    @

    Client pV Server nDơG
    @
    WWW OzL˪wӶǹFƪOHISݨ}C http ܡHաI WWW NOϥΩҿת http oӨwӶǰeƪAHTTP YO HyperText Transfer Protocol ²gAYOثe WWW ƶǻDywաIӦbWѤHsAhjݭnŦX HyperText Markup Language (HTML) ykoI]NOAڭ̦b}CJD}G
    @
    1. Client ݥgL DNS ѪRo WWW D IP AM|oX@Ӹƫʥ]AH http oӨw( Τk )pô WWW DAi WWW Dڭ̭nH http kӨoơAPɡAoӮɭԨϥΪO TCP wAYݭngLTV洤L{F
    2. WWW DoӸƫʥ]A|ھ Client ݪnDAѬTӦ^AjpUҬOϥ http wǰe㦳 HTML ykƨ Client ݪsWF
    3. ̫ Client ݪsN HTML ykgLѪRAHeܨùWAѥΤ[I
    @
    oNODny{աALAClient Ǩ WWW DAP WWW D^ṰAi]tǥi઺ʧ@OH
    @ @
    jPWNoǥ\AMաḀDnNO GET oӥ\աIڭ̳sW WWW DNOFnoLƹI ^_^CnOOA]ӧڭ̥i|hRWơAҥHAAݭnAѤ@UO GET HEAD NIMܦhFzѳI ^_^
    @

    WWW HO LAMPH
    @
    eYڭ̴쪺O Client ݬ۹ Server ݨDƤ譱DAAӭnͪAOyxI쩳ǥDn WWW D@~tλPn𫗪ftOHzIݪnIb^o˪DeAڭ̥ӰQפ@UA WWW DDnnFC򥻪ڭ̥iHءG
    @ @
    Ioݰ_ӪܡAGʺAmI]LiHϥΪ̤ʡA]NW[ WWW DiܩʻPFBΤʽIҥHoAkܡAMOܰʺA WWW D[]noIʺA WWW DݭnǤOHNpPڭ̴쪺A̭nOӥiHHɧsƪyƮwnzҴѪTAӻPϥΪ̤ʡA]A@wnƮwnIAӡAuƮwASsӷq Server P Client ݪƶǻM٬OLkb Web WsƮweաI]Aڭٻݭn@ӡy{yzӶioӤsgIMաḀDn٦NOݭn WWW B@nաIҥHAݭnG
    @ @
    ثeǥDyӤHʺA WWW DtΩOHjPWiHءG@جO Windows tΪ IIS + MS SQL + ASP WWWAAo WWW D[]WZeALѩ Windows YǯSʡAҥHܮeQ Cracker ү}aFt~@ثhO Linux tΤW Apache + MySQL + PHP WWW A ( ² LAMP ) AoئA[]W@w{תxסAרbɯŻP@譱AOB@ܡALwnDBʯBwʵ譱Ah۹諸γIڭ̳o̥ӴNOm Linux I]UNw Linux tΤWʺA WWW Di椶СAMաADO WWW M Apache աIܩݭnAѪOG PHP P MySQL OOӿWߩ Apache MA]n Apache o WWW nҥ PHP P MySQL \ANݭnҰ Apache ̭ PHP P MySQL ҲհաIAKUAڭ٬OoOФ@U LAMP ̭UӤpF𫍧G
    @ @

    SSL P CA {ҾG
    @
    ڭ̦beYL HTTP ϥΦbǿWwMOH TCP/IP ǡALǿ骺ɭԬOϥΩXӶǰeA]NOAb Internet Wy« WWW ơA򥻤WAOHS[KLΦbǰeơIAǦߤHhAQ TCP Listen \AYiN Internet Wƫʥ]UӶiѪRAåii@BoӸƫʥ]TIyӡIoF_ALNO WWW TӤwAS SSH oػݳsuAnIzKKIoziNҤFCnoOAڭ̪äAΪyΪyTAҥHMSyKʡziAOApGѴO@ӥOHҦpѩHΥdAҦp@ǪĤqѪ欰IoǰTAܦhOt۷npHTzҦpHΥdBҵNӤHҸCU@QH^AIiOx۪IҥHoAoӮɭԴNݭnyƥ[Kzʧ@FIثeΦb WWW WDn[K\A Secure Socket Layer ( SSL ) Certificate Authorities ( CA )ӥDnҦC
    @
    Secure Socket Layer ( SSL )
    ozO_ٰOoڭ̦b ݳsuA ̭쪺 SSH oӦAsuL{IH]NOQ Server Ѫ Public Key ðtX Client Hͪ Private Key Ӳզ@ե[K( Public Key )PѱK( Private Key )kIIoӤkP˪]QBΩ WWW D]wաIӤ䴩o WWW Di Public P Private [KMANOܦhɭԳQXӨϥΪ OpenSSL oӦnåFIҥHoAnA WWW 㦳 SSL [K\ANݭnw OpenSSL oӮM~oI򥻤WA Client ݭnV Server ݨDƪɭԡAhQ Server ݥѪ Public Key Client Hͪ Private Key զ@եiѧQΪKXզXIhƥ Server ǰe Client ݤeA|g Server Public Key Nƫʥ][KAӨF Client A~g Private Key NƸѱKIҥHAƦb Internet W]ɡALO[KLƫʥ]IYϳQHTUӡALo Public P Private AnѱKi]oOWXѴX]AƦܬOnX~\ңzI]AƴN|wաIMաAHڭ̳oإDnHɬDA۵Mݭnϥγoا޳NIϥƥӴNO Open I ^_^
    @
    Cerificate Authorities ( CA )
    CA oӤkPˤ]Oϥ Public P Private Key 觋A ( Iڭ̥iHAثe[KPѱK欰jOϥγo[Ӷi檺աI ) ѩ SSL ϥΪ Public O WWW Server ۦإ߻PͪAҥH㤣㦳HOڭ٤OܲMIU@AsWh WWW OFHΫإߪA򦳨S[KAӨAOMIܡHxIO_iHzLĤTҤHӬdo Server Public Key OHI CA oӤkNOnFoӥتաI򥻤WA CA O@Ӥ{Xk´ALiHΨӬd WWW Server Ѫ Public Key O_XkIHO Client ̪vqC]A CA OnI
    @
    ڭ̳o̹ SSL CA oөNNȴΥLAU峹èSns@I쪺Bͱoۦhd߳G
    @

MwG
D]wG
iw]wG
nɤRP䭫nG
    L׫򻡡AnɥûO۷nIרOb /var/log/httpd ̭ error_log oɮסI]G
    @
    1. LOFҦչ϶iJADŪ apache ơAOoѪҦA
    2. ~ApGA Apache ]w~AD]OOboɮפF
    @
    ӦܩLɮסAKKI /var/log/httpd/access_log ɮפ]ݭn`N@UA]LOFҦӦ Client ݪ IP HΨLŪƤTIoɮ׹󥼨ӤRA Apache ( WWW )QŪҦI۷nաI
    @

    syslog P logrotateG
    @
    w Apache ]wɷAn`NNO syslog P logrotate oIԲӪTiHѦҤ@Uy Linux pе -- ¦Dz߽gz{ѵnCnFAA syslog ӭn]wOH]ڭ̲Oϥ tarball w˪AҥHڥNSҿת syslog ]wALAoӤݭnߡAoO] Apache ̭ӴN syslog ]wsbFIҥHAoIڭ̤ݭnsӳ]wաIunOoAnɥؿOb̴NiHաIثeڪnɻP pid file ObG
    @ @
    MAڪ logrotate ؿb /etc/logrotate.d ̭A]AڴNb̭sW@ɮסAٰO apacheAAiHo˰G
    @
    [root@test root]# cd /etc/logrotate.d
    [root@test logrotate.d]# vi apache
    # s[JoX
    /var/log/httpd/access_log /var/log/httpd/error_log {
        rotate 4
       missingok
        sharedscripts
        postrotate
            /bin/kill -HUP `cat /var/log/httpd/httpd.pid 2>/dev/null` 2> /dev/null || true
        endscript
        compress
    }
    @
    pGDWCӸƥNNqA٬OЫe {ѵn @IMỰָլݬݬO_iH logrotate OH
    logrotate -f /etc/logrotagte.conf
    Io˴NաI򬰤n[Jo logrotate OHoO]AӡApGA WWW AVӶVjɡA access_log ɮ׷|yܥiȪjIzҦpثepyqCgiHyڪnɪj 400MB HWpGNL rotate ܡAIXXӬPAڪwдNzFҥHA logrotate OܭnI
    @

    Web Analyser
    @
    pGڷQnD̪񦳽ִgӧڪW}LAHθӨϥΪ̨ϥΪO˪@~tΩOHӫݡHI²oI] /var/log/httpd/access_log oɮ׸Yh@@@NDաI̭IoˡG
    @@
    192.168.1.11 - - [27/Dec/2002:00:20:24 +0800] "GET /manual/ HTTP/1.1"  200 7340
    @ӷ IP@@@@@@@Pɶ@@@@@@   @ʧ@P@@@@@ ʧ@NX
    @
    ߨiHDbɡA IP 󥻾ʧ@OAHάO_\HܲMaIҥHڭ̥iHǥѳoɮתDڭ̪DQQΪAIOApGڪD@ˡA@UlN 400 h MB ɮסAznRHݳݤzoӮɭԡANݭnϥ Shell scripts UաIAiHۦg@ӾAXzۤvRu@AӶiѪR欰ILAѩثeWwgܦhnΪ Web RuաIҥHOAڭ̥uniLw˧YiIܤKaIUڭ̤дXӦnΪ Web Ruӵja@@@I
    @

D[]G
ܩoӳ]wIuO²CIunXNdwFA]wٷ|AzIݬݹҧaI
@
[root@test root]# cd /usr/local/apache2/conf
[root@test root]# vi httpd.conf
# boɮת̤U[JUoǦrI

NameVirtualHost *@@@@ # ]wADPw̾ڡIo̬O YO
@@@@@@@@@@@@@# ҦsWoWٳ|QϥΨӷ@D]wΡI

<VirtualHost *>
    ServerName    mdk90.vbird.net
    DocumentRoot  /home/mdk90
</VirtualHost>

<VirtualHost *>
    ServerName    www.mdk90.vbird.net
    DocumentRoot  /home/www.mdk90
    CustomLog     /var/log/httpd/www.access_log combined # SONnB~X
</VirtualHost>

<VirtualHost *>
    ServerName    phorum.mdk90.vbird.net
    DocumentRoot  /home/phorum.mdk90
</VirtualHost>

@
n`NOG
  1. bD]wW٦ܦhiΪ\ALA̧C׬Oݭn ServerName DocumentRoot oӧYiI
  2. MӧڴN mdk90.vbird.net oӺAO]]wFDAۤvӦW٥i|hAҥHAo̥NۤvW٤]gJ~I
  3. Wo{@ CustomLog ]wIӳ]w|H www.mkd90.vbird.net oӺnJnɤAgJӪ /var/log/httpd/access_log ɮסAӬOۦgJ /var/log/httpd/www.access_log oɮסI
WլݬݡII|o{AxIگuTӥDFIܤaIoӧ@kiHA WWW F׳I|ӨҤlӻAe@}l]žǶQװ(http://phorum.study-area.org) ``IAҥHNۧiīi򯸪AunN phorum.study-area.org o domain name VڪD IP A]iHiJڪQװϡAp@ӡAunק@U DNS YiഫڪQװϰաIåBݭnAiB~]wI@F׬OuܦUI
@
  • ݭn`NƶG

  • @
    DèSȱoSO`NaAun]wTAjPWN|ӤjDILAAiݭnSO`Nڭ̫إ߰_ӪsnɳIOHڭ̤WOLAnɦbjWT׬Oܥi[ܡHҥHݭni logrotate AOAإߪɮרäb쥻 logrotate ɮפrIIoӮɭԽЦۦ[J logrotate ӤI_h.....KKKKIwЪŶQΥindzI ^_^

    Ȥݪr Web \G
    IHȤݳM]rsHIIMOաIMo̷FnСHINOjW lynx H wget oIЪ`NOAoӮMä@w|bw˪ɭԴNwgw˦bAtΤAҥHХϥ RPM dߤ@ULO_sbAtηAM~ILγ~OG oӫOewgйLFIЦۦe[@UoI[oաI

    Wj PHP {XtתҲաG
    寸nP Nimda fr scriptsG
    XӤW޲zjo˪xZANO`Q寸nұjOUAGyD CPU loading LA̫ᳺM|ɭPIuOHȥXWީȪΧoIӸ@UO寸aIҿתy寸zANOHhIsuUʰTǻniƪUAӥBA@ҥθӳnAӳnNNyӺzeL download UӡAܼF`aISIOܼF`AOo]`HF򻡩OH]oسn``|F[ download tסAҥHĥΦhIsu觋A]NO|_V Server oXnDʥ]Aӥѩoǫʥ]äo\ Server ƶǾɵ Client ݡA``|Lk뻼NOաIo˪GNO.....y Server n@_^ASLkT^XhA~AnDӹLWcAGDvA̫....NF...uOLѮv{ڭ̳oӤpDjHeANO]o˪]AɭPAȱ``__򪺡AåBAѩ CPU loading ӰAG`suiӬݸƪͨS귽A]}Ҫt״NܪܺCoǬ寸HA]ӤDwաI
    @
    ѩoج寸nuܳ·СA@`NWNS|Q寸ӷATѨYNns}@A Linux íwʵLkoIuO𦺤FӡAڴNۦgF@ scripts Ӿ׳o˪ IP Iڪ@kOo˪G
    1. ѩ寸nnhIsUA]AP@ IP bP@ӮɶA|۷hsuo͡F
    2. ѩLOƤ_nDsuA]إߪsubFUتA|ߨ觉AӤShͥXLsuXӡA]AoӮɭԥLsupNܪ۷`FI
    3. ѩYǸª寸nä|yFzDAҥHA|bDnɸ̭O Teleport аOI
    4. JMpܡAڴNڪDChˬdӪF(1)ˬd log file ApGo{ Teleport rANN IP ױF(2)ϥ netstat ˬdP@ IP PɳsuApGӳsuWL@ӭ(ҦpPɦ 12 ӳsu)ܡANN IP ױI
    5. ~AѩWץi|N Proxy Client ݤ]PɩױAuOiڡIoӮɭԡAo{N|DʪN(1)pD 3 ѡAܩ(2)ph2pɡILFөתɭA IP YiSsWڭ̪DFI
    jPWNOo˧aIo˪@{ݭnP iptables ۤtXAҥHAХd\@U²]w@g峹AMAӤUo{aIo{ziHbU}UI
    http://vbird.org.cn/download/index.php#http-netstat.sh
    ԲӪw˨BJڤwgHgbɮ׸̭FAҥHХdݤ@UɮתeaI~AStudy Area netman j]wg}oF@MܴΪ寸{FIb寸zWOۦPALgkiणOܹpPNOFIpGݭnܡA]iHe Study-Area jM@UoI
    http://phorum.study-area.org/viewtopic.php?t=13643

    w phpBB2 QתOG
    Woˤ@ӡAIשڭ̪ LAMP ANwgjPWdwաI򱵤UӧAiHQγo WWW DAƩOHӡI@ƱihoIثeܦh䴩 PHP [nwgQܧ㪺}oFAҦp PHPNuke Hγܳw phpBB OIoǬ[n鳣Oغcb LAMP WAӬJMڭ̪ LAMP wgdwFAL[n骺w˴NuO۷ֳtOIU phpBB wˡIAiH쩳UshݬݳG W̫@ӬOe@}lgAثewgXs phpBB2 oIҥHAаOoxU̷s phpBB Ӧw˳Is\hAӥB(Bug)]MzthFIt~AѦ˿߬Py˿ߤTS̤]X@yphpBB ׾¬[]_zA̭]۷hΪ[߱oPޥI쪺iH˿߬Pyݬݨ䭷PeAMAҼ{nn[aI ^_^ثeڹ phpBB ˬOZwI

    DQסG
    ҫm
    ² WWW A]w

    2003/01/14GĤ@
    2003/01/18GsWDQסG󤤤媺
    2003/01/21GsWDQסG PHP LkϥΪD
    2003/04/28G[J寸n{
    2003/04/29G[J PHP lX{uƼҲ MM Cache C
    2003/05/07G[J ab oӮįժI
    2003/05/30Gϥ Tarball wˮɱ``oͤ@ǧxZA[J User/Group ]wI
    2003/09/10GN쥻b 2002/12 w Tarball Msثe 2003/09 ̷sӦw˳I
    2003/10/02G[J@ǰDJADI
    2004/03/25G׭q MySQL w˪y{Iĥ|BJ[Jv׭qI
    2004/09/03GקF MMCache DC