Apache kuchli server boʻlib, uning nomi Shimoliy Amerika hindularining Apache qabilasi nomi bilan bogʻlangan inglizcha iboradan kelib chiqqan. Rus foydalanuvchilari orasida u "Apache" umumiy nomiga ega. Bu GPL litsenziyasiga ega ochiq kodli dastur. Uning eng katta afzalliklaridan biri oʻzaro platforma serveridir, yaʼni u mukammal ishlashni saqlab, turli xil operatsion tizimlarda ishlashi mumkin.
1996 yildan beri bu barqarorligi va xavfsizligi tufayli dunyodagi eng mashhur server hisoblanadi. Apache dasturi Apache Software Foundation tomonidan boshqariladigan foydalanuvchilar dasturchilari hamjamiyati tomonidan ishlab chiqilgan.
Apache tarixi
1989-yil mart oyida CERN (Shveytsariya) da ishlovchi ingliz olimi Tim Berners Li CERN loyihalarida katta hajmdagi axborotni boshqarishning yangi usulini taklif qildi. O'sha paytda hech kim Apache nima ekanligini bilmas edi. Giperbog'langan hujjatlar tarmog'ining dastlabki rivojlanishi, 1965 yilda Ted Nelson ularni chaqirganidek, WWW ning yaratilishiga olib keldi.- birinchi dasturiy ta'minot 1990 yil noyabr oyida World Wide Web nomi ostida veb-brauzer, grafik interfeys va WYSIWYG muharriri bilan chiqarilgan. Ikki yil o'tgach, WWW serverlari ro'yxatida atigi o'ttizga yaqin yozuv bor edi, ular orasida HTTPs NCSA ham bor edi.
Apache-ning haqiqiy hikoyasi 1995-yil mart oyida NCSA HTTPD 1.3 serveriga asoslangan Apache 0.2-ning chiqarilishi bilan boshlanadi. Ko'pgina foydalanuvchilar bugungi kunda Apache nima ekanligini va uning mavjudligining birinchi oylarida dastur qanday bo'lganini bilishga qiziqishmoqda. Bu shunchaki NCSA serveriga kiritilgan tahrirlar to'plami edi. Keyinchalik Robert Thau Shambhala 0.1 ni juda muvaffaqiyatli modullar uchun API bilan chiqardi.
Loyihaning eng katta bosqichlari 1997-yil aprel oyida 1.2 versiyasi sifatida kiritilgan HTTP 1.1 standartiga toʻliq mos kelishi edi. Ushbu versiya allaqachon 1997 yil iyul oyida ishga tushirilgan Windows NT platformasini o'z ichiga olgan. Konfiguratsiya fayllarini birlashtirish 1.3.3-versiyasida amalga oshirildi.
Apache guruhi veb-serverning evolyutsiyasi va maxsus ishlab chiqish qarorlari uchun javobgardir. Ushbu guruhni asosiy ishlab chiquvchilardan ajratish kerak - Core group. Ko'pgina ishlab chiquvchilarning ixtiyoriy tabiati ularning barchasi bir vaqtning o'zida Apache'da faol bo'lish ehtimolini yo'q qiladi, shuning uchun yadro uni ushlab turish va ishlashi uchun javobgardir. Umuman olganda, ishlab chiquvchilar qabul qilishi kerak bo'lgan qarorlar yadroga tegishli bo'lib, kodni kiritish uchun ovozlar bilan cheklanadi. Boshqa tomondan, ular odatda CVS omboriga yozish huquqiga ega, shuning uchun ular kodning toʻgʻri va sifatli boʻlishini taʼminlash uchun shlyuz vazifasini bajaradi.
Minimal talablar vaimtiyozlar
Apache internetda keng qabul qilingan va 1996 yildan beri eng koʻp foydalaniladigan HTTP serveri hisoblanadi. 2005 yilda serverdan butun dunyo bo'ylab saytlarning 70 foizi foydalanilganda o'zining eng yuqori bozor ulushiga erishdi. So'nggi yillarda uning bozor ulushi kamaydi. Shunisi e'tiborga loyiqki, Apache uchun bunday pasayish texnologiyaning mashhur emasligi va degradatsiyasidan dalolat bermaydi.
Foydalanish uchun minimal talablar:
- Protsessor - Pentium.
- RAM - 64 MB.
- OS-Microsoft Windows, GNU/Linux.
- Oʻrnatish hajmi - 50 MB.
Foydalar:
- Modulli dizayn.
- Ochiq manba.
- Koʻp platformali dizayn.
- Kengaytirish imkoniyati.
- Mashhur - yordam va yordam olish oson.
Server arxitekturasi
Apache modulli serveri asosiy boʻlim va asosiy funksiyalarning koʻpini taʼminlaydigan turli modullardan iborat. Ushbu modullardan ba'zilari:
- mod_ssl - TLS orqali xavfsiz aloqa;
- mod_rewrite - manzilni qayta yozish, odatda php kabi dinamik sahifalarni qayerda yaratilganligi haqida qidiruv tizimlarini aldash uchun statik sahifalarga aylantirish uchun ishlatiladi;
- mod_dav - WebDAV protokolini qoʻllab-quvvatlash (RFC 2518);
- mod_deflate - kontent mijozga yuborilganda siqish algoritmi shaffof boʻladi;
- mod_auth_ldap - foydalanuvchilarga LDAP serverida autentifikatsiya qilish imkonini beradi;
- mod_proxy_ajp -Java-dagi Jakarta Tomcat dinamik sahifalari (servletlar va JSP) bilan bog'lanish uchun ulagich.
Asosiy server tashqi modullarni oʻz ichiga olishi uchun kengaytirilishi mumkin, jumladan:
- mod_cband - trafikni boshqarish va tarmoqli kengligi cheklovi;
- mod_perl - Perlda dinamik;
- mod_php - PHPda dinamik;
- mod_python - Pythonda dinamik;
- mod_rexx - REXX va REXX obyektlarida dinamik;
- mod_ruby - Ruby'da dinamik;
- mod asp dot net - Microsoft. NET'da dinamik;
- mod_mono - dinamikdan monoga;
- mod_security - xavfsizlik uchun ilova darajasidagi filtrlash.
Konfiguratsiya va xavfsizlik
Xavfsizlik nuqtai nazaridan Apache nima ekanligini tushunish uchun uning konfiguratsiyasini hisobga olishingiz kerak. Konfiguratsiyaning katta qismi dastur ishlayotgan tizimga qarab apache2.conf va httpd.conf fayllarida amalga oshiriladi. Bu faylga kiritilgan har qanday oʻzgartirish serverni qayta ishga tushirishni yoki majburiy qayta oʻqishni talab qiladi.
Apache-ning asosiy dasturiy ta'minoti tarqatiladigan dasturiy ta'minot litsenziyasi Apache HTTP Server va ochiq kodli hamjamiyat tarixining o'ziga xos belgisidir. Litsenziya ochiq va yopiq manbali mahsulotlarni tarqatishga ruxsat beradi.
Erkin dasturiy ta'minot jamg'armasi Apache litsenziyasini GNU General Public License (GPL) 2-versiyasiga mos deb hisoblamaydi, unda dasturiy ta'minot litsenziyalangan va dasturiy ta'minot bilan integratsiyalanmagan. Buni oldindan hisobga olish kerakGPL litsenziyasi ostida tarqatilgan Apache veb-serverini o'rnating. Biroq, GPLning 3-versiyasida patent tovonlari bo‘yicha bandlarga ega bo‘lgan litsenziyalar bilan mos kelishiga ruxsat beruvchi qoida mavjud.
Aniqlangan va tuzatilgan aksariyat xavfsizlik zaifliklaridan faqat mahalliy foydalanuvchilar foydalanishi mumkin, masofadan turib emas. Biroq, ba'zilari ma'lum holatlarda hali ham masofadan ishlaydi. Yoki ular zararli mahalliy foydalanuvchilar tomonidan bepul Apache veb-serverining moduli sifatida PHP dan foydalangan holda umumiy hosting shartnomalarini buzish uchun foydalanilsa.
Apache ishlashini tekshirish
Apache toʻgʻri ishlayotganiga ishonch hosil qilish uchun veb-brauzerni oching va quyidagi manzilni kiriting: https://localhost. Keyin Enter tugmasini bosing, "Bu ishlayapti" degan xabar bilan oq sahifa paydo bo'ladi, bu veb-server yaxshi ishlayotganidan dalolat beradi.
Apache sizning ehtiyojlaringizga moslashtirish va moslashtirish uchun maxsus konfiguratsiyalar yaratish imkonini beradi. Buning uchun C:appserv Apache2.2 conf-da http.conf faylini toping. Ishlash vaqtidagi xatolarni oldini olish uchun u zaxiralanadi, keyin istalgan tahrirlovchida ochiladi va kerakli qatorlar oʻzgartiriladi.
Bu amallarni toʻgʻri bajarish uchun siz Apache ishchisi haqida yaxshi bilimga ega boʻlishingiz kerak, chunki kiritilgan har qanday oʻzgarishlar Apache ishlashi va ishga tushirilishida aks etadi. Eng so'nggi tavsiyalar tufayli server o'rnatiladi. U yuklab olish imkonini beruvchi asosiy konfiguratsiyada ishlaydisahifalar yoki Internetdagi tarmoq ilovalari.
Axborot boshqaruvi
Apache eng koʻp foydalaniladigan veb-server boʻlib, dunyodagi eng koʻp oʻrnatishlar boʻyicha yetakchi boʻlib, Microsoft Internet Information Server (IIS) kabi boshqa yechimlardan ancha oldinda. Bu loyiha foydalanish uchun ochiq, chunki u koʻp platformali, barcha asosiy operatsion tizimlar uchun versiyalari mavjud, juda ishonchli va xavfsizligi va ishlashi bilan ajralib turadi.
Ushbu dastur ishlayotgan kompyuter bir xil nomga ega. Bu juda muhim, chunki u saytga kirgan mehmonlardan kelgan sahifa so'rovlarini qabul qilish va belgilangan xavfsizlik siyosatiga muvofiq ularni yetkazib berish yoki rad etishni boshqarish uchun javobgardir. Garchi bu jarayon oddiy ko‘rinsa-da, u bajarilishi kerak bo‘lgan ko‘plab jihatlar va funksiyalarni o‘z ichiga oladi:
- Soʻrovlar unumdorligi.
- Koʻp sonli HTTP soʻrovlari, jumladan, koʻp vazifalilik, xizmatni yopib qoʻyishi mumkin.
- Faylga kirish, foydalanuvchi autentifikatsiyasini nazorat qilish yoki soʻrovlarni kelib chiqishiga qarab filtrlash cheklovlari.
- Tashrif buyuruvchilar haqida ma'lumot sahifalarida xatolarni ko'rib chiqish va oldindan belgilangan sahifalarga yo'n altirish.
- Uzatiladigan ma'lumotni uning formatiga ko'ra boshqarish va ko'rsatilgan resursni so'ragan brauzerni tegishli ravishda xabardor qilish.
- Qabul qilingan so'rovlar, yuzaga kelgan xatolar va saqlash uchun boshqaruv jurnaliumuman olganda, saytga kirish statistikasini olish uchun roʻyxatga olingan va tahlil qilingan barcha maʼlumotlar.
Apache sizga IP manzillar yoki nomlar asosida virtual xostingni sozlash imkonini beradi, ya'ni bitta kompyuterda bir nechta veb-saytlarga ega bo'ladi.
Fayl apache2.conf
Shubhasiz, apache2.conf eng muhim fayldir, chunki u veb-sahifalarning umumiy harakatini belgilaydi va shuningdek, server funksiyalarini kengaytiruvchi turli modullarga kirish uchun javobgardir.
U /etc/apache2 katalogida joylashgan va u matnli fayl bo'lgani uchun uni matn muharriri yordamida osongina tahrirlash mumkin. Konfiguratsiya fayli xususiyatlari - Server global oʻzgaruvchilari va funksional kengaytmalari.
Global server oʻzgaruvchilari umumiy operatsiyani belgilaydigan oʻzgaruvchilardir:
- Apache direktivalari jadvali. Server nomi ServerName o'zgaruvchisi bilan belgilanadi, shuning uchun HTML hujjatlarida mavjud bo'lgan har qanday qayta yo'n altirish yoki havola yaxshi ishlaydi. Aksariyat konfiguratsiya oʻzgaruvchilari mods-available-da saqlangan boshqa kichik fayllar orasida taqsimlanadi.
- .htaccess maxfiy matn fayli boʻlib, u server qanday ishlashini sozlash imkonini beradi.
- "Apache" - bu asosiy apache2.conf konfiguratsiya faylini o'zgartirmasdan ma'lum bir katalog. Veb-mijoz serverdan fayl so'raganda, u asosiy katalogdan so'ralgan.htaccess-ni o'z ichiga olgan pastki katalogga qaraydi va so'rov yuborishdan oldin uning tarkibidagi direktivalarni hisobga oladi.
Principle.htaccess:
- Fayllarni katalogga kiritishni taqiqlaydi.
- Veb-trafikni qayta yoʻn altiradi.
- Xatolik sahifalarini sozlaydi.
- Ayrim fayllarga kirishni cheklash.
- Muayyan IP-manzillar yoki IP-manzillar diapazoniga kirishni taqiqlash.
- Boshqa modul chaqiruvlari va konfiguratsiya fayllari bilan bogʻliq funksiyalarni kengaytiradi. Bu band bilan bogʻliq barcha koʻrsatmalardan oldin “Enable” soʻzi boʻladi.
Apache veb-serverini oʻrnatish
Apache dastlab PHP texnologiyasi bilan ishlash uchun moʻljallangan edi, lekin u. NET bilan ham muammosiz ishlashi mumkin, bu esa uni IIS dan foydalanadigan serverlar uchun hamkor boʻlgan va PHP ni toʻliq qoʻllab-quvvatlashni taʼminlovchi Microsoft IISʼdan koʻra muvaffaqiyatliroq qiladi. konfiguratsiyani o'zgartiring.
Veb-serverni oʻrnatish va ishga tushirish uchun avval uni rasmiy saytdan yuklab olishingiz kerak. Har doim mavjud dasturiy ta'minotning eng so'nggi versiyasini toping va uning Win32 Binary, shu jumladan OpenSSL sifatida aniqlanishini tekshiring.
Versiyada oʻrnatilgan oʻrnatish va maʼlumotlarni himoya qilish tizimi mavjud. Tanlangandan so'ng, u kompyuterga yuklab olinadi. Jarayonni boshlash uchun fayl belgisini ikki marta bosing, bu juda oddiy, chunki unga yordamchi hamrohlik qiladi.
Veb-server tarmoqqa ulanishi uchun kerakli ma'lumotlarni taqdim etadigan birinchi oynalardan biri bu axborot oynasidir. U erda foydalanuvchi tarmoq domen nomini, server nomini va elektron pochta manzilini qo'shish orqali qisqa shaklni to'ldiradiadministrator. Birinchi ikkita variant uchun localhost-ni tanlang.
Keyingi oʻrnatish oynasi paydo boʻladi, unda barcha mavjud komponentlar roʻyxatga olinadi. Ularning barchasini tanlang va c:appserv Apache2.2 jildining mavjudligini tekshiring. Keyin Apache veb-serverini sozlang.
Vazifalar panelidagi veb-monitor
Apache-ni o'rnatgandan so'ng, uning to'g'ri bajarilganligiga ishonch hosil qiling. Buni amalga oshirish uchun "Ishga tushirish" menyusiga o'ting va "Ishga tushirish" opsiyasini toping. Siz cmd kiritadigan qalqib chiquvchi oyna paydo bo'ladi, tizim qalqib chiquvchi ekran paydo bo'ladi. Foydalanuvchi administrator sifatida ishlayotganiga ishonch hosil qilish uchun oynani o‘ng tugmasini bosing va “Administrator sifatida ishga tushirish”ni tanlang.
Oʻrnatish algoritmi:
- Windows konsolida Apache bin jildini toping, buning uchun konsolda quyidagi jumlani yozing - c: appserv Apache2.2? in.
- Kirishdan keyin Enter tugmasini bosing va tizim komponenti quyidagicha ko'rinadi - C: appserv Apache2.2? In>.
- Xizma jildiga http:.exe -k install yozing va Enter tugmasini bosing.
- ". Apache 2.2: xizmat allaqachon o'rnatilgan" kabi xabar paydo bo'ladi. Bu xabar Apache muvaffaqiyatli oʻrnatilganligini tasdiqlaydi.
Apache to'g'ri ishlayotganligini tekshirishning eng samarali usullaridan biri bu ilova monitorining faolligini tekshirishdir. Buni vazifalar panelida ko'rish mumkin. Agar u faol bo'lmasa, uni "Ishga tushirish" menyusiga, "Barcha dasturlar" va "Apache http Server 2.2." ga o'tish orqali faollashtiring, "Monitor Apache Server" tugmasini bosing va uni faollashtiring.
Monitor foydali, chunki u serverni toʻxtatish imkonini beradi,To‘xtatib turing va uni konsol oynasiga o‘tmasdan to‘liq qulay tarzda faollashtiring, shunchaki boshqaruv oynasini ochish uchun vazifalar panelidagi belgini bosing.
Linux oʻrnatish boʻyicha maslahatlar
Agar foydalanuvchining veb-sayti boʻlsa va uni joylashtirish uchun platforma kerak boʻlsa, siz hosting provayderlaridan birining xizmatlaridan foydalanishingiz yoki veb-saytingizni serverda oʻzingiz joylashtirishga harakat qilishingiz mumkin.
Oʻrnatish algoritmi:
- Apachening eng soʻnggi barqaror versiyasini yuklab oling.
- Tizimga muvofiq manba fayllarni yuklab oling.
- Dastur fayllarini chiqarib oling.
- Bundan keyin yuklab olingan fayllarni ochish kerak bo'ladi: gunzip -d httpd-2_0_NN.tar.gz; tar xvf
- Bu joriy katalogda manba fayllar bilan yangi katalog yaratadi.
- Fayllar paydo boʻlishi bilanoq, barcha asl fayllarni qaerdan topish mumkinligini mashinaga ayting. Buning eng oson yo‘li barcha standart sozlamalarni qabul qilish va quyidagini kiritish:./configure.
- Oʻrnatish va qurishda hech qanday muammo boʻlmasa, Apache-ni sozlang. Foydalanuvchi konfiguratsiyani sozlaydi, bu httpd.conf faylini tahrirlashga teng. Odatda u matn muharriri bilan tahrirlanadi - vi PREFIX /conf/httpd.conf. Har qanday oʻzgartirishlar kiritish uchun root boʻlishingiz kerak.
- Server ishlashini tekshiring.
World Wide Web-dagi ilova
Apach asosan World Wide Webga statik va dinamik sahifalarni yuborish uchun ishlatiladi. Ko'pgina ilovalar bilan yaratilganApache amalga oshirish muhitlari yoki ushbu serverning xususiyatlaridan foydalanadi. Apach MySQL va PHP, Perl, Python va Ruby dasturlash tillari, jumladan Oracle ma'lumotlar bazasi va IBM WebSphere dastur serveri bilan birga mashhur LAMP dastur platformasidagi server komponentidir. Mac OS X uni oʻzining veb-serverining bir qismi va WebObjects ilovalarini qoʻllab-quvvatlashi sifatida birlashtiradi.
Apache kontentga xavfsiz va ishonchli tarzda kirish kerak boʻlgan boshqa koʻplab vazifalar uchun ishlatiladi. Masalan, shaxsiy kompyuterdan Internetga fayllarni almashishda. Ish stolida Apache oʻrnatilgan foydalanuvchi fayllarni hujjat ildiziga oʻzboshimchalik bilan joylashtirishi mumkin, u yerdan ular baham koʻrilishi mumkin.
Veb-ilova ishlab chiquvchilari baʼzan dasturlash jarayonida kodni oldindan koʻrish va sinab koʻrish uchun Apache’ning mahalliy versiyasidan foydalanadilar. Microsoft Internet Information Services (IIS) Apache-ning asosiy raqobatchisi, shuningdek, Sun Microsystems-ning Sun Java System veb-serveri va Zeus Web-Server kabi ko'plab boshqa ilovalardir.
Dunyodagi eng yirik veb-saytlardan ba'zilari Apache tomonidan quvvatlanadi. Google qidiruv tizimining old tomoni uning Google Web Server (GWS) deb nomlangan o'zgartirilgan versiyasiga asoslangan. Koʻpgina Vikipediya loyihalari ham Apache serverlarida ishlaydi.