Je, seva ya Apache inatoa uwezo gani? Inasakinisha seva ya wavuti ya Apache. Matumizi ya seva na kuhifadhi data

Apache HTTP-server ni kinachojulikana kama seva ya wavuti ya bure, ambayo ni programu ya jukwaa la msalaba. Apache inasaidia mifumo ifuatayo ya uendeshaji: BSD, Microsoft Windows, Linux, Mac OS, BeOS, Novell NetWare.

Jinsi ya kusanidi Apache kwa usahihi?

Kwa kawaida, seva ya Apache imeundwa kupitia faili ya .htaccess (maelekezo ya kina). Faili hii iko kwenye seva ambapo tovuti yako iko. Na seva yenyewe inasoma yaliyomo na kutumia mipangilio ambayo imeainishwa hapo. Hapo chini tunaorodhesha vigezo kuu vinavyobadilika kwenye faili ya .htaccess na itakuwa muhimu kwa wasimamizi wa wavuti.

Uelekezaji upya kiotomatiki kutoka ukurasa mmoja hadi mwingine

  • Elekeza upya kutoka kwa http://www.site.com hadi http://site.com
  • Badilisha uelekezaji upya kutoka kwa http://site.com hadi http://www.site.com
  • Kuhama kutoka kikoa cha zamani hadi kipya
  • site.com/page au site.com/page/ elekeza kwa site.com/page.html
  • Nyuma kutoka site.com/page.html hadi site.com/page
  • Tunaondoa kufyeka mwishoni mwa url (ilikuwa site.com/page/, ikawa site.com/page)
  • Inaelekeza upya kurasa zote za sehemu moja site.com/razdel-1/razdel-2/page kwa kurasa za sehemu nyingine site.com/razdel-1/page

Hitilafu katika kuchakata

  • Ikiwa kosa litatokea, mtumiaji, badala ya ujinga wa kawaida, ataonyeshwa ukurasa mzuri ambao umeweka.

Kuweka usalama wa tovuti

  • Ulinzi wa sindano
  • Ulinzi dhidi ya wizi wa picha
  • Kuzuia watumiaji kwa IP
  • Linda faili na folda
  • Kufanya kazi na Mawakala wa Mtumiaji

Usimbaji wa ukurasa wa tovuti

  • Kufanya kazi na usimbaji wa kurasa za tovuti katika kiwango cha seva.

Uboreshaji wa tovuti

  • Kuharakisha tovuti
  • Kufanya kazi na caching
  • Kubadilisha ukurasa kuu wa tovuti

Mipangilio ya PHP

  • Fanya kazi na Vigezo vya PHP, ambazo zimewekwa kwenye kiwango cha seva.

Habari kuhusu Apache

Kuegemea na kubadilika kwa usanidi ni faida kuu za Apache. Shukrani kwa programu hii, unaweza kuunganisha moduli za nje zinazotumiwa kutoa data, kurekebisha ujumbe wa makosa, na kutumia DBMS kwa uthibitishaji wa mtumiaji. Apache inasaidia IPv6.

Kuanzia Aprili 1996 hadi leo, Apache imekuwa seva ya HTTP iliyoenea na maarufu kwenye Mtandao. Kulingana na takwimu, mnamo Agosti 2007, seva ya HTTP ilikuwa ikitumia 51% ya seva zote za wavuti; mnamo Mei 2009, takwimu hii ilishuka hadi 46%, na Januari 2011, iliongezeka hadi 59%. Leo, zaidi ya 59% ya jumla ya idadi ya tovuti zinahudumiwa na seva ya wavuti ya Apache. Apache inatengenezwa na kuungwa mkono na wataalamu kutoka jumuiya ya wazi ya watengenezaji chini ya mwamvuli wa Programu ya Apache Msingi. Apache imejumuishwa katika bidhaa nyingi za programu, ikiwa ni pamoja na IBM WebSphere Na Oracle DBMS.

Apache ina utaratibu wa mwenyeji wa ndani uliojengewa ndani. Shukrani kwa hili, unaweza kutumika kwenye anwani moja ya IP idadi kubwa ya miradi ya wavuti (majina ya kikoa), huku ikionyesha yaliyomo kwa kila mmoja wao. Kwa kila seva pangishi pepe, inawezekana kubainisha mipangilio yako ya moduli na kernel, pamoja na kuweka vikwazo vya kufikia tovuti nzima au baadhi ya faili. Ukiwa na Apache-ITK, unaweza kuanza mchakato wa httpd na vitambulisho vya gid na uid kwa kila seva pangishi pepe. Pia kuna moduli zinazokuruhusu kuweka kikomo na kuzingatia rasilimali za seva (trafiki, RAM, CPU) kando kwa kila mwenyeji wa kawaida.

Seva ya HTTP ya Apache(kutoka Kiingereza seva yenye viraka, "seva iliyo na viraka", kwa kuongeza, kuna dokezo kwa kabila la Wahindi wa Apache. Matamshi yaliyopotoka ni ya kawaida kati ya watumiaji wa Kirusi Apache) ni seva ya wavuti iliyo na kipengele kamili, inayoweza kupanuliwa ambayo inaauni kikamilifu itifaki ya HTTP/1.1, na ni chanzo huria.

Seva inaweza kufanya kazi kwenye karibu majukwaa yote ya kawaida. Kuna utekelezo wa seva uliotengenezwa tayari kwa Windows NT, Windows 9x, OS/2, Netware 5.x na mifumo kadhaa ya UNIX. Wakati huo huo, ni rahisi sana kufunga na kusanidi.

Kwa kweli, ni kubadilika kwa usanidi, pamoja na kuegemea kwake, ambayo inachukuliwa kuwa faida kuu za seva ya Apache. Inakuwezesha kuunganisha moduli za nje ili kutoa data, tumia DBMS ili kuthibitisha watumiaji, kurekebisha ujumbe wa makosa, nk. Inaauni IPv6.

Apache imeundwa kwa kutumia faili za usanidi wa maandishi. Mipangilio ya msingi tayari imesanidiwa kwa chaguo-msingi na itafanya kazi katika hali nyingi. Ikiwa utendaji wa Apache ya kawaida haitoshi, basi inawezekana kutumia moduli mbalimbali zilizoandikwa na Kikundi cha Apache na watengenezaji wa chama cha tatu. Faida muhimu ni kwamba waundaji huwasiliana kikamilifu na watumiaji na kujibu ujumbe wote wa makosa.

wengi zaidi kazi rahisi, ambayo Apache inaweza kufanya - kusimama kwenye seva na kutumikia tovuti ya kawaida ya HTML. Baada ya kupokea ombi ukurasa maalum seva hutuma majibu yake kwa kivinjari. Ombi ni anwani iliyochapishwa kwenye upau wa anwani wa kivinjari.

Ili kutenganisha muundo na sehemu za kazi za tovuti, na pia kurahisisha urekebishaji wa vitu vya tuli, kuna teknolojia ya SSI. Inakuwezesha kuweka taarifa zote zinazorudiwa kwenye faili moja (kwa mfano, top.inc), na kisha ingiza kiungo ndani ya kurasa. Kisha, ikiwa ni muhimu kubadilisha habari, taarifa katika faili moja tu inabadilishwa. Seva ya Apache inaauni teknolojia hii na hukuruhusu kutumia vijumuisho vya upande wa seva kwa uwezo wao kamili.

Kazi za seva ya Wavuti hazifanyiki na kompyuta yenyewe, lakini na programu iliyowekwa juu yake: ambayo ni, kivinjari cha mtumiaji kinapounganishwa na seva ya Wavuti na kutuma kichwa cha GET (ombi la kuhamisha faili), ni Apache. ambayo inashughulikia ombi. Apache hukagua ikiwa faili iliyoainishwa kwenye kichwa cha GET ipo na, ikiwa ni hivyo, huituma pamoja na vichwa kwenye kivinjari.

Apache ni aina ya kiwango cha seva ya Wavuti kwenye Mtandao. Mshindani wake mkuu ni IIS (Seva ya Habari ya Mtandao) kutoka kwa Microsoft, inayoendesha Windows. Apache, ingawa kuna matoleo yake ya Windows, imewekwa sana kwenye mifumo ya uendeshaji kama Unix - Linux na FreeBSD. Inapaswa pia kuzingatiwa kuwa wahudumu wengi hutumia Apache, sio IIS. IIS kawaida husakinishwa seva za ushirika inayoendesha chini ya Windows.

Seva ya Apache ilikuwa mojawapo ya seva za kwanza kutumia seva pepe(wenyeji). Hii inafanya uwezekano wa kukaribisha tovuti kadhaa kamili kwenye seva moja halisi. Kila mmoja wao anaweza kuwa na kikoa chake, msimamizi, anwani ya IP, na kadhalika.

Apache inasaidia teknolojia za CGI na PHP, pamoja na uwezo wa kuunganisha lugha. Hii inafanya kuwa rahisi zaidi kufanya kazi na kurasa za wavuti zinazobadilika (ambazo, kwa kweli, ni karibu kurasa zote za wavuti siku hizi).

Washa wakati huu Seva ya Apache sasa imesakinishwa kwenye 67% ya seva duniani kote.

Historia ya uumbaji

Seva ya Apache inatengenezwa na kudumishwa na Mradi wa Apache.

Hapo awali ilikuwa ni tofauti ya seva ya Wavuti ya NCSA iliyotengenezwa katika Kituo cha Kitaifa cha Maendeleo ya Kompyuta ya Juu katika Chuo Kikuu cha Illinois. Lakini mnamo 1994, msanidi mkuu wa NCSA aliacha mradi huo, akiwaacha wafuasi wake watambue seva yake peke yao. Kwa wakati, marekebisho na nyongeza kwenye seva ya NCSA ilianza kuonekana - kinachojulikana kama viraka (viraka, vilivyotafsiriwa kutoka kwa Kiingereza kama "viraka"). Na mnamo Aprili 1995, toleo la kwanza la seva ya Apache lilitolewa, ambalo lilitokana na toleo la 1.3 la seva ya NCSA. Toleo la kwanza la Apache lilijumuisha tu marekebisho yote yanayojulikana ya seva ya NCSA. Na jina Apache yenyewe linatokana na hili - "A PatCHy".

Apache baadaye ikawa maendeleo huru. Tangu toleo la pili, msimbo umeandikwa upya ili usiwe na kidokezo chochote cha msimbo wa NCSA. Seva ya Apache kwa sasa inadumishwa na kikundi cha watayarishaji programu wa kujitolea, Kikundi cha Apache.

Seva ya Apache ilitengenezwa awali kwa mifumo ya uendeshaji ya Linux na Unix, lakini baada ya muda matoleo yake yalitolewa kwa Windows na OS/2.

Kwa sasa, usanidi unafanywa katika tawi la 2.2, na katika matoleo ya 1.3 na 2.0 tu marekebisho ya hitilafu ya usalama hufanywa. Leo, toleo la hivi karibuni la tawi la 2.4 ni toleo la 2.4.3, lililotolewa mnamo Agosti 21, 2012. Kwa toleo la kwanza, marekebisho ya hivi karibuni yameandikwa 1.3.42.

Seva ya wavuti ya Apache inatengenezwa na kudumishwa jumuiya wazi watengenezaji chini ya mwamvuli wa Apache Software Foundation na imejumuishwa katika nyingi bidhaa za programu, ikijumuisha Oracle DBMS na IBM WebSphere.

Kuanzia Aprili 1996 hadi leo imekuwa seva maarufu zaidi ya HTTP kwenye Mtandao. Utendaji wa juu zaidi yalipatikana mwaka wa 2012 - Apache iliendesha 67% ya seva kote ulimwenguni. Mwaka 2011 sehemu yake ilikuwa 59%, mwaka 2009 - 46%, na mwaka 2007 - 51%.

Mchoro wa ndani simu za mfumo Apache

Usanifu wa Apache

Msingi wa Apache ni pamoja na kuu utendakazi, kama vile uchakataji wa faili za usanidi, itifaki ya HTTP na mfumo wa upakiaji wa moduli. Msingi (kinyume na moduli) hutengenezwa kabisa na Apache Software Foundation, bila ushiriki wa watengeneza programu wa tatu.

Kinadharia, kernel ya Apache inaweza kufanya kazi kwa fomu yake safi, bila matumizi ya moduli. Walakini, utendaji wa suluhisho kama hilo ni mdogo sana.

Msingi wa Apache umeandikwa kabisa katika lugha ya programu ya C.

Mfumo wa usanidi wa Apache unategemea faili za usanidi wa maandishi. Ina viwango vitatu vya usanidi wa masharti:

  • Usanidi wa seva (httpd.conf)
  • Usanidi wa seva pangishi (httpd.conf tangu toleo la 2.2, ziada/httpd-vhosts.conf)
  • Usanidi wa kiwango cha saraka (.htaccess)

Ina lugha yake ya faili ya usanidi kulingana na vizuizi vya maagizo. Takriban vigezo vyote vya kernel vinaweza kubadilishwa kupitia faili za usanidi, ikijumuisha udhibiti wa MPM. Moduli nyingi zina vigezo vyao wenyewe. Baadhi ya moduli hutumia faili za usanidi katika kazi zao mfumo wa uendeshaji(kwa mfano /etc/passwd na /etc/hosts). Kwa kuongeza, vigezo vinaweza kutajwa kupitia swichi za mstari wa amri.

Kwa Seva ya wavuti ya Apache Kuna mifano mingi ya usindikaji wa ulinganifu. Apache HTTP Server pia inasaidia modularity. Kuna zaidi ya moduli 500 zinazofanya kazi kazi mbalimbali. Ingawa baadhi yao hutengenezwa moja kwa moja na timu ya Apache Software Foundation, moduli nyingi zilizopo hutengenezwa na wasanidi programu huria wa wahusika wengine.

Moduli zinaweza kujumuishwa kwenye seva wakati wa ujumuishaji au kupakiwa kwa nguvu kupitia maagizo ya faili ya usanidi.

Kwa kutumia moduli unaweza kutekeleza yafuatayo:

  1. Upanuzi wa lugha za programu zinazotumika
  2. Nyongeza kazi za ziada au marekebisho ya zile kuu.
  3. Urekebishaji wa hitilafu
  4. Kuongezeka kwa usalama.

Baadhi ya programu za wavuti, kama vile ISPmanager na paneli za udhibiti za VDSmanager, hutekelezwa kama moduli ya Apache.

Seva ya Apache ina utaratibu wa mwenyeji wa ndani uliojengewa ndani. Shukrani kwa hili, inawezekana kutumikia kikamilifu tovuti nyingi (majina ya kikoa) kwenye anwani moja ya IP, kuonyesha maudhui yake kwa kila mmoja wao.

Kwa kila mwenyeji pepe unaweza kubainisha mipangilio yako mwenyewe kernel na moduli, zuia ufikiaji wa tovuti nzima au faili tofauti. Baadhi ya MPM, kama vile Apache-ITK, hukuruhusu kuendesha mchakato wa httpd kwa kila seva pangishi pepe na uid tofauti na mwongozo.

Pia kuna moduli zinazokuwezesha kuzingatia na kupunguza rasilimali za seva (CPU, RAM, trafiki) kwa kila mwenyeji wa kawaida.

Kuunganishwa na programu zingine na lugha za programu

Ili kuunganisha kwa ufanisi seva na programu mbalimbali, pamoja na lugha za programu, kuna moduli za ziada:

  • PHP (mod_php)
  • Python (mod chatu, mod wsgi)
  • Ruby (apache-ruby)
  • Perl (mod perl)
  • ASP (apache-asp)
  • Tcl (rivet)

Apache inasaidia taratibu za CGI na FastCGI, ambayo inakuwezesha kutekeleza programu katika lugha zote za programu, ikiwa ni pamoja na C, C ++, Lua, sh, Java.

Usalama

Usalama katika Apache unafanywa kwa kutumia njia mbalimbali ambazo, kati ya mambo mengine, hupunguza upatikanaji wa data. Ya kuu ni:

  • Kuzuia ufikiaji wa saraka au faili fulani.
  • Utaratibu wa kuidhinisha watumiaji kufikia saraka kulingana na uthibitishaji wa HTTP (mod_auth_basic) na uthibitishaji wa digest (mod_auth_digest).
  • Kuzuia ufikiaji wa saraka fulani au seva nzima kulingana na anwani za IP za mtumiaji.
  • Inanyima ufikiaji wa aina fulani faili za watumiaji wote au baadhi ya watumiaji, kwa mfano, kukataa ufikiaji wa faili za usanidi na faili za hifadhidata.
  • Kuna moduli zinazotekeleza uidhinishaji kupitia DBMS au PAM.

Baadhi ya moduli za MPM zina uwezo wa kuendesha kila mchakato wa Apache kwa kutumia uid na gid tofauti inayolingana na watumiaji hao na/au vikundi vya watumiaji.

Pia kuna utaratibu wa suexec unaotumiwa kuendesha hati na programu za CGI zenye haki za mtumiaji na vitambulisho.

Ili kutekeleza usimbaji fiche wa data inayopitishwa kati ya mteja na seva, utaratibu wa SSL hutumiwa, unaotekelezwa kupitia maktaba ya OpenSSL. Vyeti vya X.509 vinatumika kuthibitisha seva ya wavuti.

Kuna zana za usalama za nje zinazopatikana, kama vile mod_security.

Lugha

Uwezo wa seva kuamua eneo la mtumiaji ulionekana katika toleo la 2.0. Kuanzia sasa, ujumbe wote wa huduma, pamoja na makosa na ujumbe wa matukio, hutolewa tena katika lugha kadhaa kwa kutumia teknolojia ya SSI.

Inawezekana kutumia zana za seva ili kuonyesha kurasa tofauti kwa watumiaji walio na ujanibishaji tofauti. Apache inasaidia encodings nyingi, ikiwa ni pamoja na Unicode, ambayo inakuwezesha kutumia kurasa zilizoundwa katika encoding yoyote na kwa lugha yoyote.

Ushughulikiaji wa Tukio

Msimamizi anaweza kuweka kurasa mwenyewe na washughulikiaji wa makosa na matukio yote ya HTTP kama vile 404 ( Haipatikani) au 403 (Imeharamishwa). Inawezekana kuendesha hati na kuonyesha ujumbe katika lugha tofauti.

Upande wa Seva Inajumuisha

Katika matoleo 1.3 na zaidi, utaratibu wa Seva ulitekelezwa Upande Unajumuisha, ambayo hukuruhusu kutoa hati za HTML kwa nguvu kwenye upande wa seva.

SSI inadhibitiwa na mod_include moduli iliyojumuishwa katika usambazaji msingi wa Apache.

Apache dhidi ya IIS

Migogoro kuhusu kuchagua Apache au IIS ni ya zamani kama mjadala kuhusu kuchagua OS - Linux au Windows. Kwa hivyo, kabla ya kufanya chaguo la mwisho, inafaa kutathmini vya kutosha faida na hasara za zote mbili.

Faida Muhimu za Apache na mifumo ya seva TAA:

  1. gharama ya chini kwani hakuna haja ya kununua leseni za programu;
  2. shukrani rahisi ya programu kwa msimbo wa chanzo wazi;
  3. usalama ulioboreshwa, kwani Apache ilitengenezwa kwa mfumo endeshi usio wa Windows (na programu hasidi nyingi zimeandikwa kwa Microsoft OS), imekuwa na sifa ya kuwa zaidi. mfumo salama kuliko IIS ya Microsoft.

Manufaa ya Huduma za Habari za Mtandao (IIS):

  1. Windows na IIS zinaungwa mkono na Microsoft, wakati Apache inasaidiwa tu na jumuiya ya watumiaji;
  2. IIS inasaidia jukwaa la NET la Microsoft na hati za ASPX;
  3. moduli hukuruhusu kuwezesha utiririshaji maudhui ya sauti na video.

Kwa kulinganisha faida za seva hizi mbili, hitimisho kadhaa zinaweza kutolewa. Kwanza, ikiwa gharama ya leseni ndio kigezo kuu wakati wa kuchagua seva, basi inafaa kuchagua mchanganyiko wa LAMP, kwani haina gharama za leseni. Pili, kwa kuzingatia vigezo vya usalama, Apache inaongoza tena - mfumo wake ni mzuri zaidi. Tatu, IIS inaendesha tu kwenye Windows OS na tofauti yoyote katika uchaguzi wa mfumo wa uendeshaji itasababisha tena Apache.

Chaguo pekee ambalo kifungu cha IIS kimewashwa Jukwaa la Windows itakuwa chaguo bora, hiki ndicho zana za utawala zinazofaa zaidi kama kigezo kikuu. Zaidi ya hayo, hati inayotekelezwa lazima itegemee ASPX pekee.

Hata hivyo, inawezekana kuendeleza suluhisho ambalo litasaidia kazi kwenye seva zote mbili.

Seva ya wavuti ni seva ambayo ni mahali pa kuhifadhi kwa kurasa za tovuti pamoja na hifadhidata na anuwai moduli za programu tovuti, hii ni kipengele cha msingi katika uendeshaji wa rasilimali zote za mtandao zilizohifadhiwa juu yake. Lakini mfumo wa uendeshaji wa seva yenyewe hautahakikisha utendakazi wa tovuti; unahitaji programu fulani, ambayo ni programu ya seva ya wavuti ya Apache.

Seva hii ya wavuti iliundwa mapema miaka ya 90 na iliundwa ili kuendeshwa kwenye mifumo ya Linux na Unix OS. Baada ya muda, orodha ya mifumo ya uendeshaji inayoungwa mkono imeongezeka kwa kiasi kikubwa. Kwa sasa, Seva ya wavuti ya Apache inafanya kazi kwenye jukwaa la OS la Windows, Mac OS, BSD, Linux, OS/2 na Novell NetWare. Seva ya wavuti ina anuwai ya viendelezi vya kufanya kazi na lugha nyingi za programu za wavuti:

  • mod_php kwa PHP;
  • mod_perl kwa Perl;
  • mod_wsgi, mod_python kwa Python;
  • apache-ruby kwa Ruby;
  • apache-asp kwa ASP.

Wasanidi programu wengi ulimwenguni huongeza utendakazi wa Apache, lakini wataalamu kutoka Apache Software Foundation ndio wanaotengeneza msingi wa seva ya wavuti. Kwa mfano, wataalamu wa Kirusi wanatengeneza kiendelezi ili kufanya Apache iitikie kwa urahisi usimbaji wa lugha ya Kirusi. Apache inaweza kutumika kwenye seva ya wavuti inayoingia mtandao wa kimataifa, na kwa matumizi ya ndani ili kujaribu tovuti zinazotengenezwa.

Manufaa ya Apache Web Server

Apache ndio seva ya wavuti ya kawaida, iliyosakinishwa kwa zaidi ya nusu ya wapangishaji kwenye Mtandao. Hii ilitokana hasa na:

  1. leseni yake ya bure, ambayo inaruhusu wanaoanza na wataalamu wa tasnia ya wavuti kufanya kazi nayo;
  2. msalaba-jukwaa (ambayo ni moja ya faida kuu ikilinganishwa na mpinzani wake wa milele - seva ya wavuti ya IIS);
  3. uwazi wa msimbo, shukrani ambayo wataalamu wengi wanaweza kukamilisha na kuboresha utendaji wa Apache;
  4. kiwango cha juu cha usalama;
  5. kuegemea na urahisi wa matumizi.
P.S. Na kwa kuongeza, nitatoa ushauri usiohusiana na ulimwengu wa Mtandao.Ikiwa unajishughulisha na massage na una chumba chako cha massage, basi tunapendekeza uangalie kwenye duka la mtandaoni massage-chairs-abakan.ru. Hapo unaweza

Leo tutazindua seva ya wavuti ya Apache 2.2.2 na kuangalia mipangilio yake ya msingi.
Kuanza, hebu tuangalie jinsi usakinishaji ulivyoenda: Fungua kivinjari chako na uingie http://localhost - Utaona ukurasa wa kukaribisha: Inafanya kazi! Kwa hiyo ufungaji ulikwenda vizuri kwa ajili yetu.

Ifuatayo, bonyeza kulia kwenye ikoni ya kalamu kwenye upau wa kazi na uchague "Huduma wazi". Katika dirisha la usimamizi wa huduma linalofungua, chagua mstari "Apache2.2" na ufanye juu yake bonyeza mara mbili, kisha kwenye kichupo cha "Jumla", chagua mwanzo wa mwongozo wa huduma - "Aina ya kuanza: Mwongozo". Hii lazima ifanyike ili huduma zisizo za lazima haikuanzisha mfumo. Kwa kuzingatia hilo kompyuta ya nyumbani kutumika sio tu kwa ukuzaji wa wavuti, lakini pia kwa mahitaji mengine mengi, kuanza kwa mikono na kusimamisha huduma zinazotumiwa mara kwa mara ndizo zinazokubalika zaidi.

Katika mzizi wa gari C: unahitaji kuunda saraka ya "apache" - itakuwa na majeshi yako ya kawaida (vikoa), faili ya kumbukumbu ya makosa ya kimataifa "error.log" (iliyoundwa na programu wakati wa uzinduzi wa kwanza, moja kwa moja), faili ya kufikia kimataifa "access.log" (iliyoundwa moja kwa moja). Katika saraka ya "apache" tunaunda folda nyingine tupu - "localhost", ambayo, kwa upande wake, tunaunda folda ya "www", ni mwishowe kwamba mradi wetu wa tovuti katika mfumo wa maandishi ya ndani utahitajika. Muundo huu wa saraka unaoonekana kuwa wa kushangaza unaagizwa na muundo wa saraka sawa katika mifumo ya Unix, na inakusudiwa kurahisisha uelewa wake na matumizi katika siku zijazo.

Inahariri faili ya httpd.conf
1. Ili kupakia moduli ya mod_rewrite, tafuta na uondoe maoni (ondoa alama ya "#" mwanzoni mwa mstari) mstari huu:

LoadModule rewrite_module modules/mod_rewrite.so


2. Kwa Vipakuliwa vya PHP mkalimani, lazima uongeze laini ifuatayo hadi mwisho wa kizuizi cha upakiaji cha moduli:

#LoadModule php5_module "C:/php/php5apache2_2.dll"


3. Bainisha saraka iliyo na faili ya usanidi wa PHP kwa kuongeza laini ifuatayo hapa chini:

#PHPIniDir "C:/php"


ondoa maoni baada ya kusakinisha php

4. Tafuta mstari:

DocumentRoot "C:/server/htdocs"

Kadiria saraka ya mizizi usimamizi wa tovuti (tayari umeiunda mapema):

DocumentRoot "C:/apache"

5. Tafuta block hii:


Chaguzi FuataSymLinks
RuhusuBatilisha Hakuna
Kataa agizo, ruhusu
Kataa kutoka kwa wote


Na ubadilishe na yafuatayo:


Chaguo Ni pamoja na Fahirisi za FollowSymLinks
Ruhusu Batilisha Zote
Ruhusu kutoka kwa wote

6. Futa au toa maoni juu ya kizuizi asili cha udhibiti wa saraka (hatutaihitaji), ambayo bila maoni inaonekana kama hii:


#
# Thamani zinazowezekana kwa maagizo ya Chaguzi ni "Hakuna", "Zote",
# au mchanganyiko wowote wa:
Fahirisi # Ni pamoja na FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Kumbuka kwamba "MultiViews" lazima ipewe jina *wazi* --- "Chaguo Zote"
# haikupi.
#
# Maagizo ya Chaguzi ni ngumu na muhimu. Tafadhali tazama
# http://httpd.apache.org/docs/2.2/mod/core.html#options
#kwa maelezo zaidi.
#
Fahirisi za Chaguzi FollowSymLinks

#
# AllowOverride hudhibiti ni maagizo gani yanaweza kuwekwa katika faili za .htaccess.
# Inaweza kuwa "Yote", "Hakuna", au mchanganyiko wowote wa maneno muhimu:
# Chaguzi FileInfo AuthConfig Limit
#
RuhusuBatilisha Hakuna

#
# Hudhibiti ni nani anayeweza kupata vitu kutoka kwa seva hii.
#
Ruhusu agizo, kataa
Ruhusu kutoka kwa wote

7. Tafuta kizuizi:


DirectoryIndex index.html

Ibadilishe na:


DirectoryIndex index.html index.htm index.shtml index.php

8. Tafuta mstari:

Kumbukumbu ya hitilafu "logs/error.log"


Badilisha na yafuatayo (katika kesi hii itakuwa rahisi zaidi kutazama faili ya makosa ya seva ya kimataifa):

Kumbukumbu ya hitilafu "C:/apache/error.log"

9. Tafuta mstari:

CustomLog "logs/access.log" kawaida


Badilisha hadi:

CustomLog "C:/apache/access.log" kawaida

10. Kwa uendeshaji wa SSI (uwezeshaji wa upande wa seva) mistari ifuatayo, iliyoko kwenye kizuizi, lazima ipatikane na bila maoni:

AddType text/html .shtml
AddOutputFilter INAJUMUISHA .shtml

11. Ongeza mistari miwili hapa chini, kwenye kizuizi kimoja:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

12. Hatimaye, tafuta na uondoe maoni kwenye mistari:

Jumuisha conf/extra/httpd-mpm.conf
Jumuisha conf/extra/httpd-autoindex.conf
Jumuisha conf/extra/httpd-vhosts.conf
Jumuisha conf/extra/httpd-manual.conf
Jumuisha conf/extra/httpd-default.conf

Hifadhi mabadiliko na funga faili ya "httpd.conf".

Sasa fungua faili "C:\server\conf\extra\httpd-vhosts.conf" na ufanye mabadiliko yafuatayo ndani yake.

Vizuizi vilivyopo vya seva pangishi vinahitaji kuondolewa na vifuatavyo tu kuingizwa:

JinaVirtualHost *:80


DocumentRoot "C:/apache/localhost/www"
ServerName localhost
Kumbukumbu ya hitilafu "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" kawaida

Hifadhi mabadiliko na funga faili ya "httpd-vhosts.conf".

Wacha tuendelee - weka uzinduzi wa mwongozo wa huduma ya Apache2.2, ambayo tunakwenda njia: "Anza" → "Jopo la Kudhibiti" → "Vyombo vya Utawala" → "Huduma" za Huduma"), kwenye dirisha la usimamizi wa huduma linalofungua. , chagua mstari "Apache2.2" na ubofye mara mbili juu yake, kisha kwenye kichupo cha "General" chagua mwongozo wa kuanza kwa huduma - "Aina ya kuanza: Mwongozo" : manually"). Hii lazima ifanyike ili kuzuia huduma zisizo za lazima kupakia mfumo. Kwa kuzingatia kwamba kompyuta ya nyumbani haitumiwi tu kwa ajili ya maendeleo ya mtandao, lakini pia kwa mahitaji mengine mengi, kuanza kwa manually na kuacha huduma zinazotumiwa mara kwa mara ni sahihi zaidi.

Mfano wa kuunda seva pangishi pepe

Ikiwa unahitaji kusakinisha wapangishi wako binafsi, fanya yafuatayo:

Fungua faili "httpd-vhosts.conf" na uunda kizuizi ndani yake na takriban maudhui yafuatayo:

# Folda ambayo mzizi wa mwenyeji wako utakuwa.
DocumentRoot "C:/apache/dom.ru/www"
# Kikoa ambacho unaweza kupata mwenyeji wa kawaida.
Jina la seva dom.ru
# Lakabu (jina la ziada) la kikoa.
ServerAlias ​​www.dom.ru
# Faili ambayo makosa yataandikwa.
Ingia ya hitilafu "C:/apache/dom.ru/error.log"
# Faili ya kumbukumbu ya ufikiaji wa mwenyeji.
CustomLog "C:/apache/dom.ru/access.log" ya kawaida

Kisha katika saraka ya "apache", unda folda "dom.ru", ambayo, kwa upande wake, unda folda "www".
Hatua inayofuata katika kuunda mwenyeji wa kawaida ni kurekebisha faili ya C:\WINDOWS\system32\drivers\etc\hosts ya mfumo wa uendeshaji. Fungua faili hili na ongeza mistari miwili kwake:
127.0.0.1 dom.ru
127.0.0.1 www.dom.ru
Sasa anzisha tena seva ya Apache, fungua kivinjari chako, ingiza "dom.ru" au "www.dom.ru" kwenye upau wa anwani na utajikuta kwenye mwenyeji wako wa kawaida. Kuwa mwangalifu, sasa unaweza kufika kwenye tovuti asili iliyo na jina la mpangishi dhahania ("www.dom.ru" ikiwa lipo) tu kwa kutoa maoni au kufuta laini: "127.0.0.1 www.dom.ru" kwenye ukurasa juu ya faili " majeshi".
Nyaraka za Apache, lini seva inayoendesha, inapatikana katika http://localhost/manual/
Usakinishaji na usanidi wa seva ya wavuti ya Apache umekamilika.

Kweli, tumezungumza vya kutosha kuhusu seva ya wavuti, ni wakati wa sisi kuisakinisha na kuijaribu. Kuna orodha ya seva za kawaida za wavuti; wakati wa kuchagua, huzingatia kazi maalum, ambayo inageuka. Wacha tuache chaguo letu seva ya wavuti ya bure Apache. Ninaiona kuwa bora kwa tovuti za kiwango cha kuingia na za kiwango cha kati. Bila shaka, unaweza kuchukua njia rahisi - kufunga mchanganyiko wa Denwer tayari, kama Kompyuta nyingi hufanya, lakini kwa upande wetu, pamoja na matokeo, ujuzi wa kinadharia pia ni muhimu. Na baada ya somo la leo ujuzi wako hakika utaboresha :)

Tunaenda kwenye ukurasa wa upakuaji wa mradi - http://httpd.apache.org/download.cgi na kupakua toleo la hivi karibuni la Windows katika mfumo wa kisakinishi cha MSI (kwa upande wangu ilikuwa apache_2.2.14-win32-x86- no_ssl.msi). Hebu tuanze ufungaji. Kidirisha cha kwanza ambacho kinaweza kutupotosha ni kidirisha cha kuingiza habari kuhusu seva:

Tutasanidi seva yetu baada ya kusakinisha, lakini sasa tusiwe na wasiwasi sana na tuingize mwenyeji katika sehemu za "Kikoa cha Mtandao" na "Jina la Seva", na anwani yako ya barua pepe katika sehemu ya "Anwani ya Barua pepe ya Msimamizi" (kuhusu mwenyeji wa eneo gani, tutafanya. zungumza juu yake baadaye). Hatugusi swichi za chini. Bofya "Inayofuata", ukubali nayo ufungaji wa kawaida, "Inayofuata" tena. Kisakinishi kitakuhimiza kuchagua saraka ambayo seva ya wavuti itasakinishwa:

Kwa maoni yangu njia ni ndefu sana, wacha tuifupishe C:\Faili za Programu\Apache. Tunaendelea ufungaji na kusubiri ili kumaliza. Baada ya kufunga kisakinishi, ikoni ya mfuatiliaji ya Apache itaonekana kwenye trei:

Huduma hii hukuruhusu kuanza, kusimamisha, kuanzisha upya seva yetu ya wavuti, na kujua hali yake. Apache yenyewe iliwekwa kama huduma ambayo itaanza kiatomati wakati buti za kompyuta:

Sasa hebu tukumbuke kile tulichozungumzia katika makala hiyo. Kama unavyokumbuka, kila kompyuta iliyounganishwa kwenye mtandao ina anwani yake ya IP. Lakini hata kama kompyuta yako haina muunganisho mmoja wa mtandao, ina angalau anwani moja ya ndani ya IP. Anwani hii - 127.0.0.1 . Ni sawa kwenye kompyuta zote na inaelekeza kwenye kompyuta yenyewe. Hiyo ni, ikiwa mtandao maombi ya mteja taja anwani ya seva 127.0.0.1, kisha mteja atajaribu kuunganisha kwenye seva iko kwenye kompyuta yako mwenyewe. Kisha tulizungumza juu ya majina ya kikoa, ambayo yanatatuliwa kuwa anwani za IP na seva za DNS. Anwani ya ndani 127.0.0.1 ina jina lake la ndani la kikoa - mwenyeji. Kwa kuongezea, ili kubadilisha jina hili kuwa anwani, kompyuta haina haja ya kuwasiliana na seva ya DNS, kwani mawasiliano haya yamejengwa kwenye kompyuta yenyewe.

Hebu tuzindue kivinjari cha wavuti na chapa upau wa anwani kikoa cha mwenyeji:

Natumai unaelewa kilichotokea? Kikoa cha mwenyeji kilitatuliwa kwa anwani ya IP 127.0.0.1, kivinjari cha wavuti kilichounganishwa kwenye seva ya wavuti kwenye anwani hii na mlango 80 na kuomba. ukurasa wa nyumbani kwa kutumia Itifaki ya HTTP. Hiyo ni, seva yetu ya wavuti inafanya kazi, ilituma kivinjari ukurasa na uandishi "Inafanya kazi".

Wacha tuanze kusanidi seva yetu ya wavuti, ambayo inakaribia kuhariri usanidi Faili za Apache. Kwanza unahitaji kupata urahisi, vitendo na wakati huo huo mhariri wa maandishi rahisi. Ikiwa tayari unayo, pongezi, lakini ikiwa wewe ni mtumiaji wa Notepad asiye na furaha, naweza kupendekeza mhariri. Nenda kwenye folda C:\Faili za Programu\Apache\conf na ubadilishe jina la faili httpd.conf V httpd.conf.bak, ili jambo likitokea uwe na usanidi wa awali ulio karibu. Unda faili mpya httpd.conf na maudhui yafuatayo:

ServerRoot "C:/Program Files/Apache" Sikiliza 80 LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module auth_basic_auth_basic_modules auth_basic_modules/moduli_moduli_moduli_ d_authn _default.so LoadModule authn_file_module moduli /mod_authn_file.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module moduli/mod_authz_host.soauthz_host.so authz_host. weka moduli za kiotomatiki/mod_autoindex.so LoadModule cgi_module moduli/mod_cgi.so LoadModule dir_module modules/ mod_dir.so LoadModule env_module modules/mod_env.so LoadModule inajumuisha_moduli moduli/mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_admiongo_moduli. tiation.so Lo adModule rewrite_module moduli/mod_rewrite .so LoadModule setenvif_module moduli/mod_setenvif.so ServerName localhost AccessFileName .htaccess ServerTokens prod LogLevel hitilafu ya HitilafuLog "logs/error.log" DefaultType text/plain AddDefaultCharset UTF-8 DirectoryIndex index.html Agizo ruhusu, kataa Kataa kutoka kwa wote Ridhisha Yote TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz LogFormat "\nclient=%h\time=%(%d.%m.%Y %H:%M:%S)t\npage=%U%q\nreferer=%(Referer)i\nreqmethod=%m \nhost=%(Host)i\nagent=%(Mtumiaji-wakala)i\n\n" mylog

Hebu tufikirie. ServerRoot- njia ambayo seva yetu ya wavuti imewekwa. Makini na mikwaju. Sikiliza- inaonyesha nambari ya bandari ambayo seva ya wavuti "itasikiliza", na, ikiwa ni lazima, anwani ya IP (ikiwa kompyuta yako ina viunganisho kadhaa na unahitaji kukubali miunganisho kupitia moja tu yao). Tulibainisha bandari 80, ambayo ni ya kawaida kwa seva za wavuti. LoadModule hupakia moduli ya seva ya wavuti, moduli hukuruhusu kupata vipengele vya ziada. Faili yetu ya usanidi ina orodha ya moduli za kawaida. AddDefaultCharset- encoding default, kuweka Unicode (UTF-8). Mengine hayatuhusu sana kwa sasa.

Na sasa jambo muhimu zaidi. Je, umesahau kwa nini tunasakinisha seva ya wavuti? Hiyo ni kweli, kufanya kazi kwenye tovuti zetu za baadaye. Kuna dhana saraka ya mizizi- hii ni saraka ambapo maudhui ya tovuti iko, yaani, faili ambazo zinajumuisha. Kwa msingi katika Apache yetu saraka ya mizizi ni saraka . Ukienda huko utapata faili moja chini ya jina index.html. Hii ni faili sawa ambayo ina ukurasa kuu na uandishi "Inafanya kazi" kwa http://mwenyeji wa ndani. Ukweli ni kwamba ikiwa ombi (ambayo, kwa njia, inaitwa url) haina jina la faili, basi seva ya wavuti inatafuta faili yenye mojawapo ya majina ya kawaida. Majina haya (kwa usahihi zaidi, jina moja - index.html) zimeandikwa katika faili yetu ya usanidi:

DirectoryIndex index.html

Hivyo, alipoulizwa http://mwenyeji wa ndani seva ya wavuti itatafuta faili C:\Program Files\Apache\htdocs\index.html, kwa ombi http://localhost/docs - C:\Program Files\Apache\htdocs\docs\index.html(ikiwa ikiwa hati- folda), kwa ombi http://localhost/news.html - C:\Program Files\Apache\htdocs\news.html Nakadhalika.

Wakati wa kuunda wavuti, ni rahisi kutokuwa na moja, lakini, sema, tatu za ndani (zilizopo mashine ya ndani) vikoa ambavyo unaweza kujaribu tovuti zako kwa uhuru. Apache hukuruhusu kutumikia tovuti nyingi, ambayo ni, sio lazima usakinishe nakala yako mwenyewe ya seva ya wavuti kwa kila kikoa (kwa kuongeza, tunakumbuka kuwa programu moja tu ya seva inaweza kufanya kazi kwenye bandari maalum kwenye kompyuta). Majina mengi ya vikoa yanaweza kurejelea anwani sawa ya IP. Apache, kwa upande wake, inaweza, kulingana na jina la kikoa lililopitishwa katika ombi la HTTP (kumbuka parameter ya Mwenyeji, makala "Kanuni za Uendeshaji wa Seva ya Wavuti"), tafuta faili kwenye saraka maalum ya mizizi. Teknolojia hii inaitwa "mwenyeji wa kawaida".

Kwa hivyo, localhost inalingana na anwani 127.0.0.1, hebu tuunde vikoa vitatu zaidi vya ndani test-domain1, test-domain2 na test-domain3 ambazo zitalingana na anwani sawa. Fungua ndani mhariri wa maandishi faili C:\WINDOWS\system32\drivers\etc\hosts. Katika faili hii unaweza kuweka mawasiliano kati ya majina ya kikoa na anwani za IP. Hapa tutapata mawasiliano sawa ya mwenyeji kwa anwani 127.0.0.1. Ongeza mistari ifuatayo hadi mwisho wa faili:

127.0.0.1 test-domain1 127.0.0.1 test-domain2 127.0.0.1 test-domain3

Kabla ya kuwasiliana na seva ya DNS, mechi inatafutwa kwenye faili hii, na ikiwa imefanikiwa, ombi limeghairiwa na anwani iliyopatikana inatumiwa.

Hatua inayofuata ni muhimu kwa kila mtu jina la kikoa unda saraka yako ya mizizi na uambie seva yetu ya wavuti kuihusu. Futa kwenye folda C:\Faili za Programu\Apache\htdocs faili index.html na unda folda tatu hapo: mtihani-kikoa1, test-domain2 Na mtihani-kikoa3, katika kila folda hizi kuna folda logi- kwa kumbukumbu na folda www- kwa kweli, saraka ya mizizi ya kikoa. Mwishoni mwa faili C:\Program Files\Apache\conf\httpd.conf ongeza yafuatayo:

JinaVirtualHost *:80 ServerName test-domain1 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain1/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain1/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain1/log/access.log" mylog ServerName test-domain2 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain2/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain2/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain2/log/access.log" mylog RuhusuBatilisha Chaguzi Zote -Fahasi ServerName test-domain3 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain3/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain3/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain3/log/access.log" mylog RuhusuBatilisha Chaguzi Zote -Fahasi

Vitalu vitatu VirtualHost kueleza tatu zetu mwenyeji wa kawaida. Kila moja inapewa saraka yake ya mizizi - DocumentRoot, njia ya logi ya makosa - Kumbukumbu ya makosa na logi ya ufikiaji - CustomLog.

Katika saraka ya mizizi ya kila kikoa, tengeneza faili index.html na yaliyomo "Hujambo kutoka kwa test-domain1", "Hujambo kutoka test-domain2" na ""Hujambo kutoka test-domain3". Ili mabadiliko ya usanidi yatekeleze, lazima uanzishe tena Apache (bofya kushoto kwenye ikoni ya kifuatilizi ya Apache -> Anzisha tena ) Ikiwa hakuna makosa yaliyofanywa, kila kitu kinapaswa kufanya kazi:

Hongera, sasa una seva ya wavuti iliyosanidiwa na wapangishi watatu wa ndani. Anga kwa msimamizi wa wavuti :) Ni wakati wa kuanza kujifunza misingi ya ujenzi wa wavuti.