Apache yra galingas serveris, kurio pavadinimas kilęs iš angliškos frazės, susijusios su Šiaurės Amerikos indėnų apačių genties pavadinimu. Tarp Rusijos vartotojų jis turi bendrą pavadinimą „Apache“. Tai atvirojo kodo programinė įranga su GPL licencija. Vienas didžiausių jo pranašumų yra kelių platformų serveris, o tai reiškia, kad jis gali veikti įvairiose operacinėse sistemose išlaikant puikų našumą.
Nuo 1996 m. tai yra populiariausias serveris pasaulyje dėl savo stabilumo ir saugumo. „Apache“kuria vartotojų kūrėjų bendruomenė, kuriai vadovauja „Apache Software Foundation“.
Apache istorija
1989 m. kovo mėn. CERN (Šveicarija) dirbantis anglų mokslininkas Timas Bernersas Lee pasiūlė naują būdą valdyti didžiulį informacijos kiekį CERN projektuose. Tuo metu niekas nežinojo, kas yra Apache. Pradinis hipersaito dokumentų tinklo kūrimas, kaip Tedas Nelsonas juos pavadino 1965 m., paskatino sukurti WWW.- pirmoji programinė įranga, kuri buvo išleista 1990 m. lapkritį pavadinimu World Wide Web su žiniatinklio naršykle, grafine sąsaja ir WYSIWYG redaktoriumi. Po dvejų metų WWW serverių sąraše buvo tik apie trisdešimt įrašų, tarp kurių buvo HTTPs NCSA.
Tikroji „Apache“istorija prasideda 1995 m. kovo mėn., kai buvo išleista „Apache 0.2“, pagrįsta NCSA HTTPD 1.3 serveriu. Daugeliui vartotojų įdomu sužinoti, kas yra „Apache“šiandien ir kokia buvo programa pirmaisiais jos gyvavimo mėnesiais. Tai buvo tik NCSA serveriui pritaikytų pakeitimų rinkinys. Tada Robertas Thau išleido Shambhala 0.1 su API moduliams, kurie pasirodė esą labai sėkmingi.
Didžiausi projekto etapai buvo visiškas HTTP 1.1 standarto atitikimas, kuris 1997 m. balandžio mėn. buvo įtrauktas kaip 1.2 versija. Šioje versijoje jau buvo Windows NT platforma, kuri buvo paleista 1997 m. liepos mėn. Konfigūracijos failų derinimas buvo įdiegtas 1.3.3 leidime.
Apache Group yra atsakinga už žiniatinklio serverio evoliuciją ir konkrečius plėtros sprendimus. Šią grupę reikėtų skirti nuo pagrindinių kūrėjų – Core group. Dėl daugelio kūrėjų savanoriško pobūdžio mažai tikėtina, kad jie visi tuo pačiu metu yra aktyvūs „Apache“, todėl branduolys yra atsakingas už jo palaikymą ir veikimą. Apskritai sprendimai, kuriuos kūrėjai turi priimti, priklauso branduoliui ir apsiriboja balsavimu, kad būtų įtrauktas kodas. Kita vertus, jie paprastai turi rašymo prieigą prie CVS saugyklos, todėl veikia kaip vartai į kodą ir užtikrina, kad jis būtų teisingas ir geros kokybės.
Minimalūs reikalavimai irprivilegijos
Apache sulaukė didelio pripažinimo žiniatinklyje ir yra dažniausiai naudojamas HTTP serveris nuo 1996 m. Didžiausią rinkos dalį pasiekė 2005 m., kai serveriu naudojosi 70 % svetainių visame pasaulyje. Pastaraisiais metais jo rinkos dalis sumažėjo. Pastebėtina, kad „Apache“atveju toks nuosmukis nerodo technologijų nepopuliarumo ir degradacijos.
Minimalūs veikimo reikalavimai:
- Procesorius – Pentium.
- RAM – 64 MB.
- OS – „Microsoft Windows“, GNU/Linux.
- Diegimo dydis – 50 MB.
Privalumai:
- Modulinis dizainas.
- Atviras š altinis.
- Kelių platformų dizainas.
- Išplečiamumas.
- Populiarus – lengva gauti pagalbos ir palaikymo.
Serverio architektūra
Modulinį „Apache“serverį sudaro pagrindinė dalis ir įvairūs moduliai, teikiantys daugumą pagrindinių funkcijų. Kai kurie iš šių modulių:
- mod_ssl – saugus ryšys per TLS;
- mod_rewrite – adreso perrašymas, dažniausiai naudojamas dinaminiams puslapiams, pvz., php, paversti statiniais, kad paieškos varikliai būtų suklaidinti, kur jie buvo sukurti;
- mod_dav – WebDAV protokolo palaikymas (RFC 2518);
- mod_deflate – glaudinimo algoritmas yra skaidrus, kai turinys siunčiamas klientui;
- mod_auth_ldap – leidžia vartotojams autentifikuotis LDAP serveryje;
- mod_proxy_ajp –jungtis, skirta bendrauti su Jakarta Tomcat dinaminiais puslapiais Java kalba (servletai ir JSP).
Pagrindinį serverį galima išplėsti įtraukiant išorinius modulius, įskaitant:
- mod_cband – eismo kontrolė ir pralaidumo apribojimas;
- mod_perl – dinamiška Perl;
- mod_php – dinamiška PHP;
- mod_python – dinamiška Python;
- mod_rexx – dinaminis REXX ir REXX objektuose;
- mod_ruby – dinamiška rubino kalba;
- mod asp dot net – dinamiška Microsoft. NET;
- mod_mono – dinaminis į mono;
- mod_security – programos lygio filtravimas siekiant užtikrinti saugumą.
Konfigūracija ir sauga
Kad suprastumėte, kas yra „Apache“saugumo požiūriu, turite atsižvelgti į jo konfigūraciją. Didžioji dalis konfigūracijos atliekama apache2.conf ir httpd.conf failuose, priklausomai nuo sistemos, kurioje veikia programinė įranga. Bet koks šio failo pakeitimas reikalauja iš naujo paleisti serverį arba priverstinį skaitymą dar kartą.
Programinės įrangos licencija, pagal kurią platinama pagrindinė „Apache“programinė įranga, yra „Apache HTTP Server“ir atvirojo kodo bendruomenės istorijos požymis. Licencija leidžia platinti atvirojo ir uždarojo kodo produktus.
Free Software Foundation nemano, kad Apache licencija yra suderinama su GNU General Public License (GPL) 2 versija, pagal kurią programinė įranga yra licencijuota ir nėra integruota su programine įranga. Į tai reikia atsižvelgti priešnustatyti „Apache“žiniatinklio serverį, platinamą pagal GPL licenciją. Tačiau 3 GPL versijoje yra nuostata, leidžianti ją suderinti su licencijomis, turinčiomis patentinės žalos atlyginimo sąlygas.
Daugeliu aptiktų ir ištaisytų saugos spragų gali pasinaudoti tik vietiniai vartotojai, o ne nuotoliniu būdu. Tačiau kai kurie vis tiek tam tikrose situacijose veikia nuotoliniu būdu. Arba jei piktybiški vietiniai vartotojai jais naudojasi, kad pažeistų bendrojo prieglobos sutartis naudodami PHP kaip nemokamo „Apache“žiniatinklio serverio modulį.
Apache veikimo patikrinimas
Norėdami įsitikinti, kad „Apache“veikia tinkamai, atidarykite žiniatinklio naršyklę ir įveskite šį adresą: https://localhost. Tada paspauskite Enter, pasirodys b altas puslapis su pranešimu "Tai veikia", kuris yra įrodymas, kad žiniatinklio serveris veikia gerai.
„Apache“leidžia kurti pasirinktines konfigūracijas, kurias galite tinkinti ir pritaikyti pagal savo poreikius. Norėdami tai padaryti, C:appserv Apache2.2 conf suraskite failą http.conf. Jo atsarginė kopija sukuriama, kad būtų išvengta vykdymo klaidų, tada jis atidaromas bet kuriuo redaktoriumi ir pakeičiamos reikiamos eilutės.
Kad teisingai atliktumėte šiuos veiksmus, turite gerai išmanyti „Apache“darbuotoją, nes visi atlikti pakeitimai atsispindės „Apache“veikime ir paleidime. Dėl naujausių rekomendacijų serveris bus įdiegtas. Jis veiks su pagrindine konfigūracija, leidžiančia atsisiųstipuslapių ar tinklo programų internete.
Informacijos valdymas
Apache yra dažniausiai naudojamas žiniatinklio serveris, daugiausiai instaliacijų turintis lyderis pasaulyje ir gerokai lenkia kitus sprendimus, tokius kaip Microsoft Internet Information Server (IIS). Šį projektą galima naudoti, nes jis yra kelių platformų, turi versijas visoms pagrindinėms operacinėms sistemoms, yra labai patikimas ir išsiskiria savo saugumu bei našumu.
Kompiuteriui, kuriame veikia ši programinė įranga, suteiktas toks pat pavadinimas. Tai labai svarbu, nes ji yra atsakinga už puslapio užklausų, gautų iš lankytojų, kurie patenka į svetainę, priėmimą ir jų pristatymo ar atmetimo valdymą pagal nustatytą saugos politiką. Nors šis procesas gali atrodyti paprastas, jis apima daug aspektų ir funkcijų, kurias reikia atlikti:
- Užklausos našumas.
- Daugelis HTTP užklausų, įskaitant kelių užduočių atlikimą, gali neveikti paslauga.
- Prieigos prie failų, vartotojo autentifikavimo valdymo arba užklausų filtravimo pagal jų kilmę apribojimai.
- Klaidų tvarkymas lankytojų informacijos puslapiuose ir peradresavimas į iš anksto nustatytus puslapius.
- Perduodamos informacijos tvarkymas pagal jos formatą ir adekvatus naršyklės, prašančios nurodyto š altinio, informavimas.
- Valdymo žurnalas, kuriame saugomos gautos užklausos, įvykusios klaidos irapskritai visa informacija, kuri registruojama ir analizuojama siekiant gauti svetainės prieigos statistiką.
„Apache“leidžia nustatyti virtualų prieglobą pagal IP adresus arba pavadinimus, ty turėti kelias svetaines viename kompiuteryje.
Failas apache2.conf
Nr.
Jis yra /etc/apache2 kataloge ir kadangi tai tekstinis failas, jį galima lengvai redaguoti naudojant teksto rengyklę. Konfigūracijos failo ypatybės – visuotiniai serverio kintamieji ir funkcionalumo plėtiniai.
Visuotiniai serverio kintamieji yra kintamieji, apibrėžiantys bendrą veikimą:
- Apache direktyvų lentelė. Serverio pavadinimas žymimas kintamuoju ServerName, todėl bet koks peradresavimas arba nuoroda, esanti HTML dokumentuose, veikia gerai. Dauguma konfigūracijos kintamųjų yra paskirstomi tarp kitų mažų failų, saugomų modifikacijose.
- .htaccess yra paslėptas tekstinis failas, leidžiantis tinkinti serverio veikimą.
- „Apache“yra konkretus katalogas, kuriam nereikia keisti pagrindinio apache2.conf konfigūracijos failo. Kai žiniatinklio klientas prašo failo iš serverio, jis žiūri iš šakninio katalogo į pakatalogį, kuriame yra prašomas.htaccess, ir prieš pateikdamas užklausą atsižvelgia į jame esančias direktyvas.
Principas.htaccess:
- Draudžia įtraukti failus į katalogą.
- Peradresuoja žiniatinklio srautą.
- Nustatomi klaidų puslapiai.
- Apriboti prieigą prie tam tikrų failų.
- Uždrausti prieigą prie konkrečių IP adresų arba IP adresų diapazonų.
- Išplečia funkcionalumą, susijusį su kitais modulio iškvietimais ir konfigūracijos failais. Prieš visas su šiuo elementu susijusias direktyvas bus žodis „Įgalinti“.
Apache žiniatinklio serverio diegimas
Apache iš pradžių buvo sukurta dirbti su PHP technologija, tačiau ji taip pat gali dirbti su. NET be problemų, todėl ji yra sėkmingesnė už Microsoft IIS, kuri yra IIS naudojančių serverių bendradarbė ir teikia visišką PHP palaikymą be reikalo pakeisti konfigūraciją.
Norėdami įdiegti ir paleisti žiniatinklio serverį, pirmiausia turite jį atsisiųsti iš oficialios svetainės. Visada suraskite naujausią turimos programinės įrangos versiją ir patikrinkite, ar ji bus identifikuota kaip „Win32 Binary“, įskaitant „OpenSSL“.
Versijoje yra įmontuota diegimo ir duomenų apsaugos sistema. Pasirinkus, jis atsisiunčiamas į kompiuterį. Dukart spustelėkite failo piktogramą, kad pradėtumėte procesą, kuris yra paprastas, nes jį lydi asistentas.
Vienas iš pirmųjų langų, kuriame bus pateikta reikiama informacija, kad žiniatinklio serveris galėtų prisijungti prie tinklo, yra informacijos langas. Ten vartotojas užpildo trumpą formą, pridėdamas tinklo domeno pavadinimą, serverio pavadinimą ir el. pašto adresąadministratorius. Pirmosioms dviem parinktims pasirinkite localhost.
Toliau pasirodys diegimo langas, kuriame bus išvardyti visi galimi komponentai. Pasirinkite juos visus ir patikrinkite, ar yra aplankas c:appserv Apache2.2. Tada sukonfigūruokite „Apache“žiniatinklio serverį.
Žiniatinklio monitorius užduočių juostoje
Įdiegę Apache įsitikinkite, kad tai buvo padaryta teisingai. Norėdami tai padaryti, eikite į meniu „Pradėti“ir raskite parinktį „Vykdyti“. Atsiras iššokantis langas, kuriame įvesite cmd, atsiras sistemos iššokantis langas. Norėdami įsitikinti, kad vartotojas veikia kaip administratorius, dešiniuoju pelės klavišu spustelėkite langą ir pasirinkite "Vykdyti kaip administratorių".
Diegimo algoritmas:
- Raskite „Apache bin“aplanką „Windows“konsolėje, kad tai padarytumėte, konsolėje parašykite šį sakinį - c: appserv Apache2.2? in.
- Įvedę paspauskite Enter ir sistemos komponentas atrodys taip – C: appserv Apache2.2? In>.
- Aplanke bin įveskite http:.exe -k install ir paspauskite Enter.
- Bus rodomas pranešimas, panašus į „. Apache 2.2: service jau įdiegta“. Šis pranešimas patvirtins, kad „Apache“buvo sėkmingai įdiegtas.
Vienas iš efektyviausių būdų patikrinti, ar „Apache“veikia tinkamai, yra patikrinti, ar aktyvus taikomųjų programų monitorius. Tai galima pamatyti užduočių juostoje. Jei jis neaktyvus, suaktyvinkite jį eidami į meniu Pradėti, Visos programos ir Apache http Server 2.2., spustelėkite Stebėti Apache serverį ir suaktyvinkite.
Monitorius naudingas, nes leidžia sustabdyti serverį,pristabdykite ir suaktyvinkite jį visiškai patogiai, neperėję į konsolės langą, tiesiog spustelėdami piktogramą užduočių juostoje, kad atidarytumėte valdymo langą.
Linux diegimo patarimai
Jei vartotojas turi svetainę ir jai priglobti reikia platformos, galite naudotis vieno iš prieglobos paslaugų teikėjų paslaugomis arba patys pabandyti talpinti savo svetainę serveryje.
Diegimo algoritmas:
- Atsisiųskite naujausią stabilią „Apache“versiją.
- Atsisiųskite š altinio failus pagal sistemą.
- Išskleiskite programinės įrangos failus.
- Po to atsisiųstus failus reikės išpakuoti: gunzip -d httpd-2_0_NN.tar.gz; tar xvf
- Tai sukuria naują katalogą dabartiniame kataloge su š altinio failais.
- Kai tik pasirodys failai, pasakykite įrenginiui, kur rasti visus originalius. Lengviausias būdas tai padaryti – priimti visus numatytuosius nustatymus ir tiesiog įvesti:./configure.
- Nustatykite „Apache“, jei nekils problemų diegiant ir kuriant. Vartotojas koreguoja konfigūraciją, kuri prilygsta httpd.conf failo redagavimui. Paprastai jis redaguojamas naudojant teksto rengyklę - vi PREFIX /conf/httpd.conf. Kad galėtumėte atlikti pakeitimus, turite būti root.
- Patikrinkite serverio veikimą.
Aplikacija žiniatinklyje
Apach daugiausia naudojama statiniams ir dinaminiams puslapiams pateikti žiniatinklyje. Daugelis programų yra sukurtos suApache diegimo aplinka arba naudos šio serverio charakteristikas. Apach yra serverio komponentas populiarioje LAMP taikomųjų programų platformoje kartu su MySQL ir PHP, Perl, Python ir Ruby programavimo kalbomis, įskaitant Oracle duomenų bazę ir IBM WebSphere taikomųjų programų serverį. „Mac OS X“integruoja jį kaip savo žiniatinklio serverio dalį ir palaiko WebObjects programas.
Apache naudojama daugeliui kitų užduočių, kai turinį reikia pasiekti saugiai ir patikimai. Pavyzdžiui, kai bendrinate failus iš asmeninio kompiuterio į internetą. Naudotojas, kurio darbalaukyje įdiegta „Apache“, gali savavališkai įdėti failus į dokumento šaknį, iš kur jie gali būti bendrinami.
Žiniatinklio programų kūrėjai kartais naudoja vietinę Apache versiją, kad peržiūrėtų ir išbandytų kodą kūrimo metu. „Microsoft Internet Information Services“(IIS) yra pagrindinis „Apache“konkurentas, taip pat „Sun Microsystems“„Sun Java System“žiniatinklio serveris ir daugelis kitų programų, tokių kaip „Zeus“žiniatinklio serveris.
Kai kurias didžiausias svetaines pasaulyje palaiko „Apache“. „Google“paieškos variklio priekinė dalis yra pagrįsta modifikuota jos versija, vadinama „Google Web Server“(GWS). Daugelis „Wikipedia“projektų taip pat vykdomi „Apache“serveriuose.