Apache konfiguratsiya fayli. Apache konfiguratsiya fayli. Apache boshqaruv buyruqlari

Apache konfiguratsiya fayllari

Aksariyat paketlarda Apache-ning asosiy konfiguratsiya fayli httpd.conf deb nomlanadi. Tizim versiyasiga qarab, bu fayl turli kataloglarda joylashgan bo'lishi mumkin, lekin uning formati o'zgarishsiz qoladi. Caldera va SuSE tizimlarida httpd.conf fayli /etc/httpd katalogida joylashgan; Debian va Slackware-da u /etc/apache-da joylashgan (Slackware /etc/apache/httpd.conf.default namuna faylini taqdim etadi; server ishlashi uchun faqat uning nomini o'zgartirishingiz kerak. bu fayl va unga kerakli o'zgartirishlar kiritish); Red Hat va TurboLinux-da httpd.conf fayli /etc/httpd/conf/ katalogida joylashgan.

Odatdagidek, httpd.conf faylidagi # belgisi bilan boshlanadigan satrlarda izohlar mavjud. Server konfiguratsiyasini belgilaydigan variantlar quyidagicha ko'rsatilgan:

Direktiv ma'nosi

Direktiv - bu u bilan bog'liq bo'lgan qiymatga ega bo'lishi mumkin bo'lgan nom. Qiymat raqam, fayl nomi yoki ixtiyoriy belgilar qatori bo'lishi mumkin. Ba'zi direktivalar bir nechta kichik parametrlarni belgilashga imkon beradi. Bunday holda, direktiv nomi burchakli qavslarga joylashtiriladi. Bunday direktivaning misoli quyida keltirilgan.

Variantlar FollowSymLinks

AllowOverride None

Oxirgi satr boshida ko'rsatilgan bir xil direktivaning nomini o'z ichiga oladi, lekin unga hech qanday qiymat berilmaydi. Blokni tugatuvchi direktiv nomidan oldin qiyshiq chiziq qo‘yiladi.

Ba'zi hollarda, quyida keltirilgan qo'shimcha konfiguratsiya fayllari Apache-ni sozlash uchun ishlatiladi. Ular odatda httpd.conf bilan bir xil katalogga joylashtiriladi.

Access.conf. Ushbu faylga havola AccessConfig direktivasi yordamida tuzilgan va httpd.conf faylida joylashgan. access.conf faylida ko'pincha direktivalar mavjud , ularda ko'rsatilgan kataloglarga kirish xususiyatlarini belgilash. Hozirda bu fayl odatda bo'sh qoladi va ba'zan AccessConfig qiymati /dev/null ga o'rnatiladi, bu access.conf dan foydalanishni o'chiradi.

Mime.types. Veb-brauzerga ma'lumotlarni qanday qayta ishlash kerakligini aytish uchun veb-server MIME (Ko'p maqsadli Internet Mail Extensions) standartidan foydalanadi. Masalan, MIME tipidagi matn/plain ma'lumotlarning oddiy matn ekanligini anglatadi, image/jpeg esa JPEG (Joint Photographic Experts Group) formatida grafik ma'lumotlarni belgilaydi. MIME.types faylida MIME turlari va fayl kengaytmalari oʻrtasidagi xaritalash haqidagi maʼlumotlar mavjud. Masalan, .txt va .asc bilan tugaydigan fayl nomlari MIME tipidagi text/plain bilan bog'langan. Agar ushbu xaritalash to'g'ri o'rnatilmagan bo'lsa, veb-brauzer ba'zi turdagi fayllarni qayta ishlashda qiyinchiliklarga duch keladi. Paketning bir qismi sifatida taqdim etilgan fayl veb-sahifaga joylashtirilishi mumkin bo'lgan deyarli har qanday turdagi ma'lumotlarni qayta ishlashga imkon beradi. Noyob turlardan foydalanish kerak bo'lsa, ushbu faylga yangi yozuvlarni qo'shishingiz kerak bo'ladi.

Sehrli. Ushbu fayl, shuningdek, MIME turlari va ma'lumotlar o'rtasidagi xaritalarni aniqlash imkonini beradi. Ma'lumotni tahlil qilishda siz u yoki bu turdagi o'ziga xos belgilarni topishingiz mumkin. Masalan, ko'pgina fayllarda maxsus kalitlar mavjud - "sehrli" bayt ketma-ketligi. Bu ketma-ketliklar, aylantirildi matn ko'rinishi, sehrli faylda ko'rsatilgan. Agar siz ushbu fayl formatini yaxshilab o'rganmagan bo'lsangiz, unga o'zgartirish kiritish tavsiya etilmaydi. Sehrli faylning tuzilishi ushbu bobda muhokama qilinmaydi.

Foydalanuvchilar uchun Linux kitobidan muallif Kostromin Viktor Alekseevich

8.2.2. Asosiy konfiguratsiya fayllari Agar siz bo'limni o'qigan bo'lsangiz. 8.2.1 (yoki agar siz /etc/inittab fayliga qaragan bo'lsangiz), unda tasavvur qiling-a, oddiy holatda init jarayoni getty jarayonlarini ishga tushirishdan tashqari ikkita asosiy amalni bajaradi: /etc faylidan rc.sysinit skriptini ishga tushiradi. /rc.d katalogi; rc skriptini ishga tushiradi

DIY Linux server kitobidan muallif

12.5. SSL va Apache 12.5.1. SSL SSL (Secure Sockets Layer) o'rnatish - bu Internet xavfsizligini ta'minlash uchun Netscape tomonidan ishlab chiqilgan shifrlash usuli. Ushbu usul bir nechta shifrlash usullarini qo'llab-quvvatlaydi va mijoz darajasida va mijoz darajasida autentifikatsiyani ta'minlaydi.

Asterisk™ kitobidan: Telefoniya kelajagi Ikkinchi nashr muallif Meggelen Jim Vang

Linux tarmoq vositalari kitobidan Muallif: Smit Roderik V.

Linux kitobidan: To'liq qo'llanma muallif Kolisnichenko Denis Nikolaevich

DHCP konfiguratsiya fayllari Ko'pgina tarqatishlar Linux paketlari Internet dasturiy ta'minot konsorsiumi (http://www.isc.org/products/DHCP/) tomonidan ishlab chiqilgan DHCP serverini o'z ichiga oladi. Internet dasturiy ta'minot konsorsiumi (ISC) 2000 yil oxirida DHCP 3.0 versiyasini chiqardi, ammo 2002 yil boshida ko'pchilik Linux versiyalari hali ham bilan kelgan eski versiya 2.0

Ubuntu 10 kitobidan. Tez boshlash qo'llanmasi muallif Kolisnichenko D.N.

"C tili" kitobidan - yangi boshlanuvchilar uchun qo'llanma Prata Stiven tomonidan

Exim konfiguratsiya fayllari Eximning asosiy konfiguratsiya fayli exim.conf deb ataladi. Odatda u /etc katalogida joylashgan. Ushbu fayl quyidagi formatdagi yozuvlarni o'z ichiga oladi: variant = qiymat Odatdagidek, sharhlarni o'z ichiga olgan qatorlar # belgi bilan boshlanadi.

Linux kitobidan xaker ko'zlari bilan muallif Flenov Mixail Evgenievich

Linux yadrosini ishlab chiqish kitobidan Love Robert tomonidan

16.1. Apache-ni o'rnatish Distribyutsiyaga qarab, Apache veb-serveri o'rnatiladigan paket apache yoki httpd, hujjatlar to'plami esa mos ravishda apache-docs yoki httpd-manual deb nomlanishi mumkin. Birinchi holda, o'z ichiga olgan apache-umumiy paketini o'rnatishingiz kerak bo'ladi

Muallifning kitobidan

16.2. Apache sozlamalari. Konfiguratsiya fayllari Apache-ni o'rnatganingizdan so'ng, siz quyidagi fayllarni tahrirlashingiz kerak:? /etc/httpd/conf/httpd.conf - asosiy konfiguratsiya fayli. Apache 2.x uchun. bu fayl httpd2.conf deb ham atalishi mumkin;? /etc/logrotate.d/apache yoki /etc/logrotate.d/httpd (2.0 versiyasida) - aylanish fayli

Muallifning kitobidan

16.10. SSL va Apache 16.10.1. SSL SSL (Secure Sockets Layer) o'rnatish Netscape tomonidan ma'lumotlarning xavfsiz uzatilishini ta'minlash uchun ishlab chiqilgan shifrlash usulidir. Ushbu usul bir nechta shifrlash usullarini qo'llab-quvvatlaydi va mijoz va mijoz darajasida autentifikatsiyani ta'minlaydi.

Muallifning kitobidan

19.2. Bootloader konfiguratsiya fayllari ro'yxati 19.1 asosiy GRUB2 konfiguratsiya faylini ko'rsatadi - /boot/grub/grub.cfg. Uni qo'lda tahrirlash mumkin emas. Uni yaratish uchun ushbu konfiguratsiya faylini yaratuvchi /usr/sbm/grub-mkconfig yordam dasturidan foydalaning. shablonlarga asoslanadi,

Muallifning kitobidan

26.2.3. Server konfiguratsiya fayllari Server konfiguratsiya fayllari /etc/apache2 katalogida joylashgan. Asosiy konfiguratsiya fayli apache2.conf deb ataladi. Uning standart sozlamalari ko'pchilik foydalanuvchilarga mos keladi. Agar siz veb-serverdan nafaqat mahalliy sifatida foydalanishni rejalashtirmoqchi bo'lsangiz (uchun

Muallifning kitobidan

Manba fayllar va bajariladigan fayllar Bizning ajoyib dasturimiz qisqa va soddaligiga qaramay, kompyuter uchun mutlaqo ma'nosiz belgilar to'plamidir, chunki u #include yoki printf kabi direktivalarni "tushunmaydi". U faqat tushunadi maxsus til,

Muallifning kitobidan

5.3.1. Konfiguratsiya fayllari Barcha SSH protokoli konfiguratsiya fayllari /etc/ssh katalogida joylashgan. Bu erda siz quyidagi ro'yxatni ko'rishingiz mumkin:? SSH server konfiguratsiya fayli - sshd_config;? SSH mijoz konfiguratsiya fayli - ssh_config;? turli uchun asosiy fayllar

Muallifning kitobidan

Yadro disk raskadrovka konfiguratsiyasi opsiyalari Kompilyatsiya vaqtida yoqilgan yadro kodini disk raskadrovka va sinovdan o'tkazishda yordam beradigan bir nechta konfiguratsiya opsiyalari mavjud. Ushbu parametrlar yadro konfiguratsiyasi muharriri menyusidagi Yadroni buzish bandida mavjud. Bularning hammasi

Apache - bu veb-server.

Konfiguratsiya fayllari

Odatiy bo'lib, barcha konfiguratsiya fayllari "conf" papkasida saqlanadi.

httpd.conf asosiy konfiguratsiya fayli apache serveri. Ushbu faylga kiritilgan o'zgartirishlar kuchga kirishi uchun apache serverini qayta ishga tushirishni talab qiladi.

"Qo'shimcha" papkasida ("conf" jildining ichida) mavjud qo'shimcha konfiguratsiya fayllari. Agar kerak bo'lsa, ular asosiy konfiguratsiya fayliga ulanishi mumkin.

Konfiguratsiya fayllari sintaksisi

Bitta satrda faqat bitta direktiv bo'lishi kerak. \ (teskari qiyshiq chiziq) belgisi direktivaning keyingi satrda davom etishini ko'rsatish uchun satrning oxirgi belgisi sifatida ishlatilishi mumkin. \ belgisidan keyin satr oxiri belgisidan tashqari boshqa bo'shliq belgilari bo'lmasligi kerak.

Direktiv va uning argumentlari bo'sh joy bilan ajratiladi. Argumentlarning o'zi ham bo'shliqlar bilan ajratilgan. Agar argumentda bo'shliqlar bo'lsa, u tirnoq ichiga olinishi kerak.

Direktivlar katta-kichik harflarga sezgir emas, lekin argumentlar, aksincha, katta-kichik harflarga sezgir.

# (xesh) belgisi bilan boshlangan qator izoh hisoblanadi va e'tiborga olinmaydi. Sharhni direktiv bilan bir qatorga qo'yib bo'lmaydi.

Bo'shliq belgilari, direktivadan oldin qo'shilganlar e'tiborga olinmaydi, shuning uchun ular kodni o'qishni osonlashtirish uchun chekinishlarni kiritish uchun ishlatilishi mumkin. Bo'sh chiziqlar ham e'tiborga olinmaydi.

Modullar

Modul oddiygina plagin fayli boʻlib, u qoʻshimcha funksiyalarni qoʻshish imkonini beradi. Barcha plaginlar sukut bo'yicha "modullar" papkasida joylashgan.

Modullar sizga Apache veb-server yadrosiga kiritilmagan direktivalardan foydalanish imkonini beradi.

.htaccess

Htaccess - bu Apache veb-serverlari va shunga o'xshash serverlar uchun qo'shimcha konfiguratsiya fayli. Bu sizga asosiy konfiguratsiya faylini o'zgartirmasdan alohida kataloglar uchun funksionallikni sozlash imkonini beradi, chunki unga kirish ko'pincha taqiqlanadi.

.htaccess fayli faqat o'zi joylashgan katalogga va uning asosiy kataloglariga ta'sir qiladi. .htaccess fayli har qanday katalogga joylashtirilishi mumkin. Ushbu faylning ko'rsatmalari joriy katalogdagi barcha fayllarga va uning barcha pastki kataloglariga ta'sir qiladi (agar bu direktivalar asosiy .htaccess fayllari direktivalari tomonidan bekor qilinmasa).

.htaccess fayliga kiritilgan o'zgartirishlar serverni qayta ishga tushirishni talab qilmaydi.

Agar .htaccess faylida biron bir xatolik yuz bergan bo'lsa, masalan, direktiv yoki direktivaning qiymati noto'g'ri yozilgan bo'lsa, server xatolikni qaytaradi: Xato 500.

.htaccess fayli Apache konfiguratsiya fayllari bilan bir xil sintaksisdan foydalanadi.

Muayyan direktivaning “Kontekst”idagi direktivalar katalogidagi .htaccess faylida qaysi direktivalar joylashishi mumkinligini ko'rishingiz mumkin.

Tushunchalar: konfiguratsiya, direktivalar. Konfiguratsiya fayllari, direktivalar. Asosiy konfiguratsiya ko'rsatmalari. Server jarayonlari. Kataloglar va fayllarga kirishni boshqarish.

Konfiguratsiya (lotincha configuratio - o'zaro tartibga solish) - bu alohida mantiqiy va uslubiy texnika, turli mavzular haqidagi bilimlarni, bir xil ob'ekt haqida turli xil fikrlarni sintez qilish uchun aqliy texnika.

Direktivlar, g. (lotincha directio — yoʻnalish). Yuqori organ tomonidan bo'ysunuvchiga (server uchun) berilgan umumiy ko'rsatma ish stantsiyasi va hokazo.) .

Konfiguratsiya fayli juda oddiy formatga ega fayldir. Har bir satr kalit so'z va bir yoki bir nechta argumentlarni ifodalaydi. Oddiylik uchun ko'pchilik satrlarda faqat bitta argument mavjud. # belgisidan keyingi har qanday narsa izoh hisoblanadi va e'tiborga olinmaydi.

Apache /etc/httpd/conf/ katalogidagi xizmat fayllarini o'zgartirish orqali sozlangan. Veb-serverning asosiy konfiguratsiya fayli httpd.conf hisoblanadi. Konfiguratsiya direktivalari Include asosiy konstruktsiyasida file_name.conf ni o'z ichiga olgan turli xil fayllarga joylashtirilishi mumkin.

Agar fayl yoki katalogning joylashuvi konfiguratsiya faylida bilvosita ko'rsatilgan bo'lsa (aniq joylashuv fayl tizimining ildizidan boshlanadi - "/" belgisi bilan), Apache serverning haqiqiy manzilini aniqlash uchun ServerRoot direktivasida ko'rsatilgan katalogdan foydalanadi. maqsad.

Apache modullarining tavsifi va konfiguratsiya direktivalari

Direktivlar quyidagi darajalarda qo'llanilishi mumkin:

Server konfiguratsiya darajasi - direktiv faqat asosiy konfiguratsiya faylida ishlatilishi mumkin.

V daraja - direktiva turli virtual xostlar uchun turlicha ishlatilishi mumkin.

D darajasi - har qanday katalog uchun ushbu darajadagi direktiv yordamida o'z sozlamalaringizni o'rnatishingiz mumkin.

.htaccess fayllarining H darajasi - direktiva server tomonidan ruxsat etilgan joylarda .htaccess fayllarida foydalanishga ruxsat etiladi.

Istalgan vaqtda direktivada fayl nomi parametridan foydalanish ServerRoot katalogidan faylga mutlaq (“/” bilan boshlanadigan) yoki nisbiy yo‘lni belgilaydi.

CORE - veb-server yadrosi (Apache yadro moduli)

AccessConfig fayl nomi

Konfiguratsiya faylining joylashuvini o'rnatadi. Standart tizim konfiguratsiya fayli conf/access.conf; Ushbu faylni o'qishni bekor qilish uchun /dev/null ni o'rnatish tavsiya etiladi.

AccessFileName fayl fayli ...

Sukut bo'yicha on-the-fly konfiguratsiyasini sozlash uchun foydalaniladigan kirish fayllari nomlarini o'rnatadi - .htaccess.

AddModule modul moduli ... [A]

Alohida kutubxona fayli sifatida taqdim etilgan dinamik yuklangan modulni faollashtiradi.

AddModule modul moduli ...

Alohida kutubxona fayli sifatida taqdim etilgan yoki asosiy httpd moduli ichida tuzilgan dinamik yuklangan modulni faollashtiradi.

AllowOverride parametr parametrlari ...

Apache ichki .htaccess fayllarida direktivalardan foydalanish qoidalarini belgilaydi;

Yo'q - e'tibor bermaydi;

All - barcha direktivalardan foydalanadi;

Options - Options va XBitHack-dan foydalanishga imkon beradi;

Indekslar - kataloglarni indekslashni boshqarish bo'yicha ko'rsatmalar;

FileInfo - fayl turlarini va ularning ishlov beruvchilarini boshqarish uchun direktivalar;

AuthConfig - Auth* kataloglariga kirish uchun direktivalar;

Limit - ruxsat berish/rad etish/buyurtma berish.

AuthName sohasi

AuthType turi

Veb-sayt kataloglariga kirish uchun foydalanuvchi nomi va parolni so'rash va uzatish usulini belgilash uchun foydalaniladi. Ko'pincha ular Basic-dan foydalanadilar, kamroq - Digest va boshqalar.

BindAddress manzili [A]

Apache ulanishlarni qabul qiladigan manzilni belgilaydi. Xost nomi, IP manzili yoki * dan foydalanishingiz mumkin.

ClearModuleList[A]

Direktiv yuklangan modullar ro'yxatini tozalaydi. Ushbu direktivadan keyin kerakli modullar bilan ishlash uchun AddModule direktivalaridan foydalanishingiz kerak.

ContentDigest yoqilgan|o'chirilgan

MD5 ma'lumotlar xeshini yo'naltirishni yoqadi yoki o'chiradi. U barcha uzatilgan sahifalar uchun hisoblab chiqiladi va keshda saqlanmaydi.

CoreDumpDirectory nomi [A]

Favqulodda xatoliklarda yaratilgan xotira dump fayllari (yadro) saqlanadigan katalogga Apache ishora qiladi.

DefaultType mimetype

Agar Apache mime.types fayli yoki AddType direktivalari orqali turni aniqlay olmasa, mijozlarga yuborilgan MIME turini o'rnatadi. Standart matn/tekis qilib o'rnatiladi.

...

Berilgan katalogda joylashgan hujjatlarga kirishda Apachening xatti-harakatlarini belgilaydigan direktivalar guruhini birlashtiradi. Ism maskalaridan foydalanishga ruxsat beriladi - belgilar *, ? qobiq qoidalariga muvofiq. Agar niqob ishlatilsa, ismning oldiga tilda ~ belgisi qo'yiladi.

...

Muntazam ifoda bilan belgilangan kataloglar guruhini belgilaydi va Apache uchun ushbu guruhdagi kataloglar va fayllar bilan ishlash qoidalarini o'rnatadi.

DocumentRoot nomi

Serverga katalog daraxti ildizining joylashuvini ko'rsatadi, uning ostidagi veb-serverning ma'lumotlar tuzilishi.

ErrorDocument filename|string|URL

Xato bo'lsa, u ko'rsatilgan sahifalarga yo'naltiriladi. Bundan tashqari, yuzaga kelgan vaziyatga sharh qo'yishingiz mumkin, bu bitta tirnoq bilan boshlanishi kerak. Misol:

ErrorDocument 500 http://foo.example.com/cgi-bin/tester

ErrorDocument 404 /cgi-bin/bad_urls.pl

ErrorDocument 401 /subscription_info.html

ErrorDocument 403 "Kechirasiz, bugun kirishga ruxsat bera olmayman"

ErrorLog fayl nomi

Xato jurnali fayli nomi. Agar parametr qatori (/) bilan boshlansa, u holda faylga yo'l ServerRoot-dan ko'rsatilishi kerak; agar u (|) bilan boshlansa, xato xabarlari standart kiritishda belgilangan buyruqqa uzatiladi. Xususan, shu tarzda, masalan, jurnalni to'g'ridan-to'g'ri SQL DBMSda saqlashni amalga oshirishingiz yoki ularni darhol siqilgan holda saqlashingiz, masalan, gzip-ga o'tkazishingiz mumkin. Apache 1.3 va undan keyingi versiyalari, agar tizim ushbu xususiyatni qo'llab-quvvatlasa, sukut bo'yicha syslogga xabarlarni chiqaradi; lekin buni syslog:facility yordamida o'chirib qo'yish mumkin.

...

Faylga kirishni boshqarish. Bo'limlar direktiv bo'limlari o'qilgandan so'ng, konfiguratsiya faylidagi kabi tartibda qayta ishlanadi va .htaccess fayllari, lekin katalog bo'limlari o'qilishidan oldin . Argument fayl nomini yoki "?" ni o'z ichiga olgan niqobni o'z ichiga olishi kerak. - har qanday belgi, "*" - har qanday satr. Qo'shimcha ~ belgisi bilan kengaytirilgan reglardan foydalanish mumkin. iboralar (grep(1) dagi MUMKIN iboralar bo'limiga qarang) Masalan: Internetda tez-tez ishlatiladiganlarga mos keladi grafik fayllar.

...

Xuddi shunday , lekin muntazam iboralarni ishlatadi.

Bu faqat muhitda Apache va forking jarayonlarini ishga tushirish va berilgan nomga mos keladigan huquqlar bilan bog'liq.

HostNameLookups on|off|double

Teskari DNS yordamida tashrif buyuruvchining xost nomini aniqlash qobiliyatini nazorat qiladi. U sekin ishlaydi va sukut bo'yicha o'chirilgan hisoblanadi. Double xost nomi soʻrov yuborgan xost IP manziliga mos kelishiga ishonch hosil qilish uchun qoʻshimcha tekshiruvdan oʻtkazilishi kerakligini bildiradi.

IdentityCheck yoqish|o‘chirish

RFC1413 autentifikatsiyasini yoqing. Funktsiyani yoqish serverga kirish vaqtini sezilarli darajada oshiradi.

...

Va faqat agar amalga oshirilishi kerak bu parametr Apache ichki tuzilmalarida belgilangan. Parametr oldidagi [!] belgisi, agar parametr aniqlanmagan bo'lsa, direktiv blok o'qilishini bildiradi.

...

Direktivlar juft direktivlar tomonidan tuzilgan blok ichiga joylashtirilganligini bildiradi Va faqat agar amalga oshirilishi kerak ushbu modul Apache da tuzilgan. Modul oldidagi [!] belgisi, agar parametr aniqlanmagan bo'lsa, direktiv blok o'qilishini bildiradi.

Fayl nomini kiriting [A]

Direktiv konfiguratsiya fayllarini server konfiguratsiyasiga kiritish imkonini beradi.

KeepAlive on|off [A]

Mijozga TCP ulanishini buzmasdan ketma-ket bir nechta fayllarni so'rash imkonini beradi.

KeepAliveTimeout sek [A]

Apache mijozdan keyingi so'rovni kutishi uchun TCP ulanishi yopilgunga qadar vaqtni (soniyalarda) belgilaydi.

...

Ichkariga joylashtirilgan tarkib qaysi HTTP usuliga (masalan, GET yoki POST) tegishli ekanligini belgilash imkonini beradi. ... kirishni cheklash buyruqlari.

Quyidagi usullardan foydalanish mumkin: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, NUSXALASH, MOVE, LOCK, OCK.

Tinglash porti [A]

Apache-ni belgilangan manzillar va portlarni tinglashga majbur qiladi. Masalan, serverni 80 va 8000 portlarni tinglashga majburlash uchun quyidagi amallardan foydalaning:

Apache-ni ko'rsatilgan port raqamlari bilan turli xil interfeyslarda ishlashi uchun quyidagilardan foydalaning:

192.170.2.1:80 ni tinglang

192.170.2.5:8000 ni tinglang

ListenBacklog uzunligi [A]

Ulanishni qayta ishlash navbatining maksimal uzunligi.

...

Tafsilotlar apache-qo'llanmasida :)

...

Tafsilotlar apache-qo'llanmada

Lockfayl fayl nomi [A]

Direktiv qulflangan faylga yo'lni belgilaydi.

LogLevel emeg|alert|crit|xato|ogohlantirish|ogohlantirish|info|tuzatish

Protokolning axborot mazmuni darajasini belgilaydi (server ishining jurnal fayli). Tavsiya etilgan foydalanish: kamida darajadagi tanqid.

MaxClients soni [A]

Direktiv serverga bir vaqtning o'zida so'rovlar soniga cheklov o'rnatadi. Aslida, bu raqam serverning asosiy jarayonlari sonidan oshmasligi kerak, ular sukut bo'yicha 256 dan oshmasligi kerak. Vaziyatni to'g'irlash uchun httpd.h da HARD_SERVER_LIMIT ni tahrirlang va uni kompilyatsiya qiling.

MaxKeepAliveRequest soni [A]

Agar KeepAlive yoqilgan bo'lsa, mijozga TCP ulanishini uzmasdan belgilangan sonli fayllarni ketma-ket so'rash imkonini beradi. Agar parametr 0 ga o'rnatilgan bo'lsa, u holda Apache faqat KeepAliveTimeout parametri asosida ulanishni yopadi.

MaxRequestsPerChild soni [A]

Direktiv individual bola jarayoni bajara oladigan so'rovlar soniga cheklov o'rnatadi. MaxRequestsPerChild 0 ga o'rnatilgan bo'lsa, so'rovlar soni cheklanmagan.

MaxSpareServers soni [A]

Direktiv nofaol server jarayonlarining istalgan maksimal sonini belgilaydi. Agar Apache-ning Microsoft Windows versiyasi ishlatilsa, direktiv foydasiz.

MinSpareServers soni [A]

Direktiv kerakli minimal faol bo'lmagan server jarayonlarini o'rnatadi. Agar Apache-ning Microsoft Windows versiyasi ishlatilsa, direktiv foydasiz.

NameVirtualHost porti [A]

Ushbu port nomiga bo'lgan so'rovlar kirilayotgan xost nomi bilan ajratilishi kerakligini bildiradi (HTTP "Host:" sarlavhasi). Bitta IP manzil uchun bir nechta virtual xostlarni aniqlash imkonini beradi.

Param parametrlari...

Belgilangan kontent uchun Apache harakat sozlamalarini belgilaydi. Barcha mumkin bo'lgan sozlamalar apache-qo'llanmasida batafsil tavsiflangan. Tez-tez ishlatiladigan: Indekslar - katalog fayli topilmasa, katalog tarkibini ko'rsatishni yoqadi (DirectoryIndex direktivasi); ExecCGI - bu katalogga bajariladigan fayllarni (cgi, perl skriptlari) joylashtirish imkoniyatini beradi; O'z ichiga oladi - fayllarni SSI katalogiga joylashtirish imkoniyatini beradi. Har bir sozlama uni ishlatadigan mos modul tomonidan qo'llab-quvvatlanadi va agar kerakli modul yuklanmagan bo'lsa, ishlamasligi mumkin. Har bir Options direktivasi ota-kataloglar uchun belgilangan allaqachon ma'lum bo'lgan Variantlarga qo'shimcha sifatida qabul qilinadi. Har bir sozlamani ma'lum kontekstda yoqish yoki o'chirish uchun + yoki - bilan prefiks qo'yish mumkin.

PidFile fayl nomi [A]

Direktiv server jarayon identifikatorini yozadigan fayl nomini belgilaydi.

Apache portini belgilaydi - 0 dan 65535 gacha bo'lgan raqam (ba'zi portlar boshqa protokollar tomonidan ishlatilishi mumkinligini unutmang, qarang /etc/servises). http protokoli uchun standart port 80 ni tashkil qiladi.

userid|groupid|valid-user|fayl egasi|guruh egasi [A] talab qiladi

Qaysi foydalanuvchilarning katalogga kirish huquqini aniqlaydi.

Foydalanuvchi identifikatorini talab qilish - faqat ushbu foydalanuvchilar kirish huquqiga ega

Guruh nomini talab qiling [guruh nomi] - bu guruhlarning barcha foydalanuvchilari

Valid-userni talab qilish - barcha joriy foydalanuvchilar.

ResourceConfig fayl nomi [A]

Server httpd.conf ni o'qigandan so'ng ushbu fayldan boshqa ko'rsatmalarni o'qiydi. Fayl nomi ServerRoot ga nisbatan oʻrnatilgan. Oʻchirib qoʻyish mumkin: ResourceConfig /dev/null

RLimitCPU maks|sek[ maks|sek] [A]

RLimitMEM max|bayt[ maks|bayt] [A]

RLimitNPROC maksimal|hisob[ maks.|hisob] [A]

Har qanday|hammasini qondirish [A]

Ruxsat berish va Talab qilish bir vaqtda ishlatilsa, kirish siyosatini belgilaydi. Hududga kirish ism/parol va mijoz manzili bilan cheklangan bo'lsa ishlatiladi. Bunday holda, standart ("barchasi") mijozning manzilda tekshirilishini va to'g'ri foydalanuvchi nomi va parolni kiritishni talab qiladi. "Har qanday" parametr bo'lsa, mijoz to'g'ri nom va parolni kiritgan yoki xost cheklovidan o'tgan bo'lsa, kirish huquqiga ega bo'ladi. Parol orqali kirishni cheklash uchun foydalanish mumkin, lekin parolsiz ma'lum bir manzildan mijozlarga ruxsat berish.

ScoreBoardFile fayl nomi [A]

Direktiv bola va ona jarayonlari o'rtasidagi aloqa uchun server tomonidan ishlatiladigan fayl nomini belgilash uchun talab qilinadi. Apache-ni ishga tushirish va ushbu nom bilan fayl yaratganligini ko'rish orqali ushbu fayl kerak yoki yo'qligini bilib olishingiz mumkin. Ha bo'lsa, u faqat bitta Apache nusxasi tomonidan ishlatilishiga ishonch hosil qilishingiz kerak.

SendBufferSize baytlari [A]

TCP bufer hajmini o'rnatadi.

ServerAdmin elektron pochtasi

Xato xabarlarida server mijozga ko'rsatadigan elektron pochta manzilini o'rnatadi.

ServerAlias ​​xost nomi

Muqobil virtual xost nomini belgilaydi.

ServerName xost nomi

Direktiv server nomini belgilaydi; havola yaratishda foydalaniladi. Agar nom ko'rsatilmagan bo'lsa, server uni o'zining IP manzilidan olishga harakat qiladi.

ServerPath yo'li

Direktiv xost uchun eski yo'l nomini belgilaydi.

ServerRoot yo'li [A]

Server yashaydigan katalogni o'rnatadi. Odatda conf/ va logs/ pastki kataloglarini o'z ichiga oladi. Boshqa konfiguratsiya fayllari uchun yo'llar ushbu katalogga nisbatan qurilgan.

ServerSignature on|ff|mail

Server tomonidan yaratilgan hujjatning pastki qismidagi qatorni sozlaydi. Sukut bo'yicha o'chirilgan, Yoqilgan - virtual xostning server versiyasi va ServerNameni ko'rsatadi, Email pochta manzilini qo'shadi: ServerAdmin havolasi

ServerTokens Minimal|OS|Toʻliq [A]

Server OS va kompilyatsiya qilingan modullarni tavsiflovchi server tomonidan mijozga yuborilgan sarlavhani boshqaradi.

ServerType mustaqil|inetd [A]

Server tizim tomonidan qanday ishga tushirilishini aniqlaydi. inetd - inetd tizimi jarayonidan ishlaydi. mustaqil - demon jarayoni kabi.

StartServers soni [A]

Ishga tushganda yaratilgan bolalar jarayonlari sonini belgilaydi. Raqam baribir yukga qarab dinamik ravishda o'zgaradi, odatda bu sozlamani o'zgartirish uchun hech qanday sabab yo'q.

Apache kutadigan vaqt: GET so'rovini qabul qilish, POST va PUT so'rovlarida TCP paketlarini qabul qilish, javoblarda TCP paketlarini uzatishda ACKlar o'rtasida pauza qilish.

UseCanonicalName on|off

Apache SERVER_PORT bilan SERVER_NAME qiymatlari yordamida yaratgan sahifalar nomlarini yaratishga sabab bo'ladi.

Foydalanuvchi nomi

Server so'rovlarga javob beradigan foydalanuvchi identifikatorini o'rnatadi. Direktivdan foydalanish uchun server root sifatida ishlashi kerak.

...[A]

Bir juft direktiv tomonidan tuzilgan blok ichiga joylashtirilgan direktivalar Va Men berilgan virtual xostning konfiguratsiyasini aniqlayman. Har bir virtual xost noyob IP manzili, port raqami yoki xost nomiga ega bo'lishi kerak. Agar, masalan, server ichki tarmoq uchun tarmoq interfeysi va tashqi tarmoq uchun boshqa interfeysga ega bo'lsa, ushbu direktivani qo'llash mantiqiy.

mod_env - CGI/SSI fayllarida ishlash uchun o'zgaruvchilarni o'rnatadi va uzatadi

PassEnv o'zgaruvchisi [o'zgaruvchi] ...

Muhit o'zgaruvchisini (masalan, HOME) ishlov beruvchilarga uzatadi.

SetEnv o'zgaruvchi qiymati

Belgilangan qiymatni belgilangan muhit o'zgaruvchisiga yozadi.

UnsetEnv o'zgaruvchisi[ o'zgaruvchi] ...

O'zgaruvchini qayta o'rnatadi, bu uni ishlov beruvchilardan o'qishni imkonsiz qiladi.

mod_setenvif - muhit o'zgaruvchilarini o'rnatish uchun shartli ifodalardan foydalanadi

BrowserMatch regex env-variable[=value] ] ... [A]

O'tgandan foydalanadi muntazam ifoda mijoz brauzeridan User-Agent sarlavhasi uchun filtr sifatida. Muvaffaqiyatli urishda o'zgaruvchini berilgan qiymat bilan ishga tushiradi. Agar faqat o'zgaruvchi nomi ko'rsatilgan bo'lsa, u 1 raqami bilan ishga tushiriladi. Agar o'zgaruvchi oldingi "!" - o'zgaruvchi qayta o'rnatiladi.

BrowserMatchNoCase regex env-variable[=value] ] ... [A]

BrowserMatch-ga o'xshab harakat qiladi, bu o'tkazilgan User-Agent qiymati va filtr sifatida ishlatiladigan oddiy ifoda o'rtasidagi belgilar kattaligidagi farqlarga imkon beradi.

SetEnvIf atributi regex env-variable[=value] ] ... [A]

Direktiv tomonidan bajariladigan amal BrowserMatch ga butunlay o'xshaydi, lekin User-Agent o'rniga boshqa har qanday sarlavhadan foydalanish mumkin: Remote_Host; Remote_Addr; Remote_User; Request_method; Request_URI; Yo'naltiruvchi

SetEnvIfNoCase atributi regex env-variable[=value] ] ... [A]

SetEnvIf-dan farq yuqoridagi BrowserMatch-dan BrowserMatchNoCase bilan bir xil.

mod_unique_id - UNIQUE_ID noyob muhit o'zgaruvchisini yaratish

O'zgaruvchi tasodifiy ravishda serverning IP-manzilidan, ishlaydigan jarayonning sonidan, vaqt belgilaridan va qo'shimcha ichki hisoblagichlardan hosil bo'ladi.

O'zgaruvchi bir xil so'rovni boshqa usullar yordamida kuzatish imkoni bo'lmaganda qo'shma hujjatlarda foydalanish uchun mo'ljallangan.

mod_mime - faylni mijozga o'tkazishda uning mim turini aniqlash uchun mo'ljallangan

AddCharset belgilar toʻplami kengaytmasi...

Belgilangan fayl kengaytmalari uchun mijozga javob berishda Apache-ga ushbu belgilar to'plamini o'tkazishni aytadi.

AddEncoding MIME-enc kengaytmasi...

Belgilangan fayl kengaytmalari uchun Apache faylni kerakli MIME kodlash yordamida uzatishni aytadi.

AddHandler ishlovchi nomi kengaytmasi ...

Apache-ga kengaytmalari berilgan fayllar ma'lum bir ishlov beruvchiga uzatilishi kerakligini aytadi. Ishlovchi ichki (cgi-script va boshqalar) yoki avvalroq Action direktivasida tasvirlangan tashqi bo'lishi mumkin.

AddLanguage MIME-lang kengaytmasi ...

Fayl kengaytmalari va javobda yuborilgan til kodi o'rtasidagi munosabatni o'rnatadi.

AddType MIME tipidagi kengaytma...

MIME turi jadvalini fayl kengaytmalarining yangi xaritasi va mijozga javob berish uchun MIME kodi bilan yangilaydi.

DefaultLanguage MIME tili

Agar buni boshqa usullar bilan amalga oshirish mumkin bo'lmasa, har doim yuboriladigan javob tilini o'rnatadi.

ForceType MIME turi

Berilgan direktiva tayinlangan katalogdagi berilgan MIME turi bilan javobni majburlaydi.

RemoveEncoding kengaytmasi...

Ushbu kengaytmali fayllar uchun javobdagi MIME kodlash kodini olib tashlaydi.

RemoveHandler kengaytmasi ...

Apachega ushbu kengaytmali fayllar uchun ishlov beruvchilarni ishga tushirmaslikni aytadi.

RemoveType kengaytmasi ...

Mijozga javobda MIME turini standart MIME turiga qaytaradi

SetHandler ishlov beruvchisi

Ushbu ko'rsatma tayinlangan barcha fayllar uchun ushbu ishlov beruvchining chaqiruvini majburlaydi.

TypesConfig fayl nomi [A]

MIME tipidagi xaritalash jadvalining joylashuvini belgilaydi. Standart - conf.mime.types

mod_mime_magic - javobda yuborilgan faylning MIME turini aniqlash uchun murakkab qoidalardan foydalanadigan modul

MimeMagicFile fayl nomi

Veb-serverning ma'lum bir hujjat maydonida yoki Apache-da mavjud bo'lgan barcha hujjatlarda ko'rsatilgan fayl yordamida modul harakatini faollashtiradi.

mod_negotiation - mijoz va server o'rtasida uzatiladigan ma'lumotlar turlari bo'yicha muzokaralarni ta'minlaydi

CacheNegotiatedDocs [A]

Oraliq proksi-serverlar va mijoz kompyuterida izchil tarkibga ega hujjatlarni keshlash imkonini beradi.

LanguagePriority MIME-lang... [A]

Mijoz so'ragan hujjat tilini aniq aniqlash yoki topish imkoni bo'lmaganda, mijozga javob berishda foydalaniladigan tillarning ustuvorligini belgilaydi.

mod_alias - hujjatlarni veb-server kataloglarida o'zboshimchalik bilan joylashtirish imkonini beradi

Taxallus URL-yo'l fayl tizimi-yo'li

Apache-ga ushbu URL manzilining "pastida" joylashgan hujjatlarni ushbu manzildan "pastda" qidirish kerakligini aytadi fayl tizimi.

AliasMatch URL-regexp fayl tizimi yo'li

Muntazam ifoda bilan URL-manzillarni solishtirish orqali fayl tizimidagi ma'lumotlarni qidirish uchun murakkabroq qoidalarni belgilaydi.

Qayta yo'naltirish URL-yo'l URL

So'rovga javoban URL-yo'l va "quyida" hujjatlar belgilangan javob kodini qaytaradi (sukut bo'yicha 302) va mijozni boshqa URL manziliga yo'naltiradi. Holat raqam sifatida yoki ramziy ma'noda ko'rsatilishi mumkin: doimiy (301), temp (302), seeother (303), ketgan (410). 410 javob kodi uchun javob URL manzili qoldirilishi kerak.

RedirectMatch URL-regexp URL

Qayta yo'naltirishga o'xshab, o'tgan URLni solishtirish uchun aniq moslik o'rniga belgilangan oddiy ifodadan foydalaning.

RedirectTemp URL-yo'l URL

302 javob kodidan foydalangan holda qayta yo'naltirishga o'xshaydi.

RedirectPermanent URL-yo'l URL

301 javob kodidan foydalangan holda qayta yo'naltirishga o'xshaydi.

ScriptAlias ​​URL-yoʻl fayl tizimi yoʻli

Alias-ga o'xshash ishlaydi, lekin maqsadli katalog ichidagi barcha fayllar uchun avtomatik ravishda cgi-ishlab chiqaruvchi ishlov beruvchini o'rnatadi.

ScriptMatch URL-regexp fayl tizimi yo'li

ScriptAlias-ga o'xshash, URLni muntazam ifoda yordamida tekshirish.

mod_rewrite - serverdagi hujjatlarning joylashishini nazorat qiladi

Apache direktivalari tavsiflarining qisqacha to'plamida ushbu murakkab modul tomonidan hal qilinadigan vazifalarni tasvirlash qiyin. Harakat uchun qo'llanma sifatida apache-qo'llanmasining "Module mod_rewrite URL Rewriting Engine" va "URL qayta yozish bo'yicha qo'llanma" maxsus bo'limlaridan foydalanish yaxshidir. Ushbu moduldan qanday foydalanishni o'rganishning eng oson yo'li - u yordamida muayyan muammolarni va ularning echimlarini ko'rib chiqishdir.

Bola jarayonlarini yaratish uchun mas'ul bo'lgan yagona asosiy (ota-ona) jarayon mavjud bo'lib, u o'z navbatida ulanishlarni tinglaydi va mijoz so'rovlarini qayta ishlaydi. Apache har doim kiruvchi so'rovlarni qayta ishlashga tayyor bo'lgan bir nechta foydalanilmagan server jarayonlarini zaxirada saqlashga harakat qiladi.Shunday qilib, mijozlar so'roviga xizmat ko'rsatishdan oldin ajratiladigan yangi bolalar jarayonlari yaratilishini kutishlari shart emas.StartServers, MinSpareServers, MaxSpareServers va MaxClients direktivalari ota-ona jarayoni xizmat so'rovlari uchun bolalar jarayonlarini qanday yaratishini nazorat qiladi.

Umuman olganda, Apache juda mustaqil, shuning uchun ko'pchilik veb-saytlar uchun ushbu ko'rsatmalarni standart qiymatlaridan o'zgartirishga hojat yo'q.

Bir vaqtning o'zida 256 dan ortiq so'rovlarga xizmat ko'rsatishi kerak bo'lgan saytlar uchun MaxClients-ni ko'paytirish kerak bo'lishi mumkin va cheklangan xotiraga ega serverlarda joylashgan saytlar uchun MaxClients-ni serverni xotirani diskka va orqaga almashtirishga majburlamaslik uchun kamaytirish kerak bo'lishi mumkin). ishda jiddiy sekinlashuvlarga olib keladi.

Modullarni tanlash yaxshi Apache veb-server xavfsizligini ta'minlashning eng muhim bosqichlaridan biridir. Biz bitta yaxshi qoidaga amal qilishimiz kerak: qancha kam bo'lsa, shuncha yaxshi. Bizga kerak bo'lgan va taqdim etadigan funksiyani yoqish uchun yaxshi himoya, quyidagi modullar yoqilgan bo'lishi kerak:

httpd_core - Apache yadrosi, har bir Apache o'rnatilishida talab qilinadi.

mod_access - mijozning IP manzili yoki xost nomiga qarab server kataloglariga kirishni boshqaradi.

mod_auth - foydalanuvchilarga matnli fayllardan foydalanishga ruxsat berish uchun talab qilinadi.

mod_dir - Indeks fayllarini qidirish uchun talab qilinadi: "index.html", "default.html" va boshqalar.

mod_log_config - serverga yuborilgan so'rovlarni qayd qilishni ta'minlaydi. mod_mime - Serverda har xil MIME turlarini tashkil qilishni osonlashtiradigan direktivalarni o'z ichiga oladi.

Boshqa barcha Apache modullari o'chirilgan bo'lishi kerak. Biz ularni xavfsiz o'chirib qo'yishimiz mumkin, chunki ularga kerak bo'lmaydi. Keraksiz modullarni o'chirib qo'yish orqali biz tajovuzkorning ushbu modullardan birida topilgan zaiflikdan foydalanishining oldini olamiz.

Shuni ham ta'kidlash kerakki, ikkita Apache moduli (mod_autoindex va mod_info) eng xavfli hisoblanadi. Birinchi modul katalogni avtomatik ravishda indekslash imkonini beradi va sukut bo'yicha yoqilgan. Uning qanday ishlashini ko'rish uchun, masalan, http://server_name/icons/ ni kiriting va agar ushbu katalogda indeks fayllari bo'lmasa, butun katalog mazmuni ko'rsatiladi. Ikkinchi modul, mod_info, hech qachon Internet orqali mavjud bo'lmasligi kerak, chunki u butun Apache veb-server konfiguratsiyasini ochib beradi.

Keyingi savol modullarni qanday kompilyatsiya qilishdir. Menimcha, dinamik usul (kodlar dastur ishga tushirilganda yig'iladi) emas, balki statik usul eng yaxshisi (kodlar bajariladigan fayllarga kiritilgan). Statik usulni tanlash orqali biz yana mod_so moduliga ehtiyojni yo'qotamiz.

Mustaqil ish: Ma'lumotlar bazasi serveri bilan ishlash MySQL ma'lumotlari. Jadvallar yaratish. Ma'lumotlar bazasiga ma'lumotlarni kiritish, olish va yangilash.

Laboratoriya ishi No12. Apache veb-serverini o'rnatish va sozlash.

Mustaqil ish: MySQL ma'lumotlar bazasi serveri bilan ishlash.

Apache Internetdagi eng mashhur veb-server bo'lib, faol saytlarning yarmidan ko'piga xizmat qiladi.

Ushbu maqolada biz Ubuntu/Debian tizimidagi umumiy konfiguratsiya fayllari va asosiy Apache sozlamalarini ko'rib chiqamiz

Eslatma: Apache fayllari tarqatilishiga qarab farqlanadi, shuning uchun bu maqola RHEL foydalanuvchilari uchun mos emas.

Ubuntu/Debian-da Apache-ni o'rnatish

Agar Apache veb-server hali o'rnatilmagan bo'lsa, quyidagi buyruqlardan foydalaning:

sudo apt-get yangilanishi
sudo apt-get install apache2

O'rnatish muvaffaqiyatli bo'lganligini tekshirish uchun brauzeringizni serveringizning IP manziliga oching. Ekraningizda Apache xush kelibsiz sahifasi paydo bo'lishi kerak:

Ishlamoqda!
Bu server uchun standart veb-sahifa.
The veb-server dasturiy ta'minot ishlayapti, lekin hali hech qanday tarkib qo'shilmagan.

Apache fayl ierarxiyasi

Ubuntu va Debian-da Apache konfiguratsiya fayllarini /etc/apache2 papkasida saqlaydi.

cd /etc/apache2
ls -F
apache2.conf envvars magic mods-enabled/sites-available/
conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/

Ushbu papkada bir qator oddiylar mavjud matnli fayllar va pastki kataloglar. Ulardan eng muhimlari:

  • apache2.conf: asosiy server konfiguratsiya fayli. Unda deyarli barcha konfiguratsiyalar bajarilishi mumkin.
  • ports.conf: Bu fayl virtual xostlar tinglaydigan portlarni belgilaydi. SSL-ni o'rnatishda ushbu faylni tekshiring.
  • conf.d/: Bu katalog Apache konfiguratsiyasining ayrim jihatlarini boshqaradi. Masalan, u ko'pincha SSL konfiguratsiyasi va standart xavfsizlik siyosatini aniqlash uchun ishlatiladi.
  • sites-available/: Bu katalog barcha mavjud virtual xostlarni saqlaydi, ular saytda qaysi kontent taqdim etilishini belgilaydi. Bu xostlar faol emas.
  • sites-enabled/: Bu katalog faol virtual xostlarni belgilaydi. Odatda u saytlar mavjud katalogida belgilangan fayllarga ramziy havolalarni o'z ichiga oladi.
  • mods-/: Ushbu kataloglar saytlar mavjud va saytlar yoqilgan kabi ishlaydi. Ular modullarni saqlashadi.

Ko'rib turganingizdek, Apache konfiguratsiyalari asosiy konfiguratsiya fayli bilan chegaralanib qolmaydi, balki bir nechta fayl va kataloglar bo'ylab taqsimlanadi. Ushbu konfiguratsiya tuzilishi yangi fayllar bilan kengaytirilishi mumkin.

Apache konfiguratsiya fayli

Asosiy Apache sozlamalari /etc/apache2/apache2.conf da saqlanadi.

Ushbu fayl uchta asosiy bo'limni o'z ichiga oladi: Apache global sozlamalari, standart server sozlamalari va virtual xost konfiguratsiyalari.

Ubuntu va Debian-da faylning ko'p qismi global sozlamalarga bag'ishlangan va standart server konfiguratsiyasi va virtual xost sozlamalari Include direktivasi yordamida fayl oxirida ishlanadi.

Fayl oxirida siz ko'plab Include sozlamalarini topasiz. Ular modullarni belgilaydi, ports.conf hujjatini, conf.d/ katalogidan ma'lum fayllarni va saytlar faollashtirilgan/katalogidan virtual xost sozlamalarini qo'shadi.

Keling, Apache veb-serverining global sozlamalariga e'tibor qarataylik.

Apache global sozlamalari

Ushbu bo'lim ko'rib chiqiladi muhim parametrlar global sozlamalar Apache.

Taym-aut; turib qolish; tanaffus

Odatiy bo'lib, bu parametr 300 ga o'rnatiladi. Bu shuni anglatadiki, serverda har bir so'rovni bajarish uchun maksimal 300 soniya bor. Ko'pgina hollarda, bu qiymat juda katta bo'lib, uni 30-60 soniyagacha kamaytirish tavsiya etiladi.

KeepAlive

Agar bu sozlama Yoqilgan bo'lsa, server mijozga bitta ulanishda bir nechta ob'ektlarni so'rash imkonini beradi. Agar parametr mavjud bo'lsa O'chirilgan qiymat, keyin har bir yangi so'rov individual ulanishni yaratadi. Ushbu xatti-harakat yuqori trafikli saytning haddan tashqari yuklanishiga olib kelishi mumkin.

MaxKeepAliveRequests

Ushbu sozlama har bir ulanish uchun maksimal so'rovlar sonini aniqlash imkonini beradi. Bu sizga Apache ish faoliyatini oshirish imkonini beradi.

0 qiymati veb-serverga bitta ulanishda cheksiz miqdordagi so'rovlarni qayta ishlash imkonini beradi.

KeepAliveTimeout

Ushbu parametr so'rovlar orasidagi vaqt oralig'ini belgilaydi. Agar mijoz belgilangan vaqt ichida boshqa so'rov yaratmagan bo'lsa. Veb-server ulanishni to'xtatadi. Agar ushbu mijoz keyinchalik so'rov yuborsa, server yangi ulanishni yaratadi.

MPM sozlamalari

Apache qaysi modullar bilan tuzilganligini bilish uchun terminalni oching va quyidagilarni yozing:

apache2 -l
Modullarda tuzilgan:
yadro.c
mod_log_config.c
mod_logio.c
prefork.c
http_core.c
mod_so.c

Ko'rib turganingizdek, bu holda veb-server prefork.c moduli va apache2.conf fayli bilan kompilyatsiya qilinadi.

Virtual xost konfiguratsiyasi

Standart virtual xost saytlar mavjud katalogidagi standart faylda joylashgan.

Umumiy virtual xost formatini ko'rish uchun ushbu faylni oching:

sudo nano /etc/apache2/sites-available/default

ServerAdmin webmaster@localhost
DocumentRoot /var/www

Variantlar FollowSymLinks
AllowOverride None


Variantlar indekslari FollowSymLinks MultiViews
AllowOverride None
Buyurtmaga ruxsat berish, rad etish
hammadan ruxsat bering

. . .

Odatiy bo'lib, virtual xost 80-portda so'rovlarni qayta ishlaydi.

Bu veb-server ushbu portdagi har bir so'rovni bajarishi shart emas degani emas. Apache konfiguratsiyalarni bekor qilishi mumkin.

Yuqori darajadagi virtual xost sozlamalari

Ushbu sozlamalar Virtual Xost bo'limida o'rnatiladi va butun virtual xostga qo'llaniladi.

ServerAdmin parametri serverda muammolar yuzaga kelganda foydalanish uchun kontakt elektron pochta manzilini belgilaydi. Bu manzil xato sahifasiga kiritilishi mumkin. Buning uchun ServerSignature parametri (/etc/apache2/conf.d/security faylida) Email ga o'rnatilishi kerak.

ServerName direktivasi serverning domen nomi yoki IP manzilini belgilaydi. Bu ServerName qiymatiga mos keladigan bo'lsa, standart sozlamalarni bekor qilishi mumkin bo'lgan har bir virtual xost sozlamalari.

ServerAlias ​​parametri sizga sayt taxalluslarini qo'shish imkonini beradi - bir xil tarkibga olib keladigan muqobil nomlar va yo'llar. Misol uchun, domen taxallus ko'pincha www ga o'rnatiladi.

DocumentRoot veb-server ushbu virtual xost tarkibini saqlaydigan katalogni belgilaydi. Ubuntu'da buning uchun sukut bo'yicha /var/www.

Katalog sozlamalari

Virtual xost konfiguratsiyasi alohida fayl tizimi kataloglarini qayta ishlashni sozlash uchun maxsus bo'limga ega. Bu sozlamalar ham bekor qilinishi mumkin.

Birinchidan, virtual xost / katalogi (ildiz katalogi) uchun qoidalar to'plamini taklif qiladi. Ushbu bo'lim asosiy virtual xost konfiguratsiyasini taqdim etadi, chunki u fayl tizimida xizmat ko'rsatadigan barcha fayllarga tegishli.

Odatiy bo'lib, Ubuntu fayl tizimiga hech qanday cheklovlar qo'ymaydi. Apache bir nechta standart kirish cheklovlarini qo'shishni tavsiya qiladi, masalan:


Variantlar FollowSymLinks
AllowOverride None
Buyurtmani rad etish, ruxsat berish
Hammasidan rad eting

Agar keyingi katalog taʼriflarida boshqacha koʻrsatilmasa, bu barcha kontentga kirishni bloklaydi.

AllowOverride parametri .htaccess fayllari yordamida konfiguratsiyalarni bekor qilish imkonini beradi. Sozlamalarni bekor qilish uchun .htaccess fayli kontent katalogida bo'lishi kerak. Odatiy bo'lib, bu xususiyat o'chirilgan.

Alias ​​va ScriptAlias ​​sozlamalari

Ba'zan Alias ​​va ScriptAlias ​​parametrlari Katalog bo'limi oldida paydo bo'ladi.

Alias ​​direktivasi DocumentRoot-dan tashqaridagi kataloglarni taqdim etilayotgan tarkibga qo'shish imkonini beradi.

ScriptAlias ​​xuddi shunday ishlaydi, lekin bajariladigan fayllar bilan kataloglarga yo'lni o'z ichiga oladi.

Misol uchun, example.com uchun virtual xostdagi bunday qator example.com/content/ so'rovida /path/to/content/ katalogidagi tarkibga kirish imkonini beradi.

Taxallus /tarkib/ /yo'l/to/kontent/

Qo'shimcha kataloglarga kirishni ochishda siz ularga cheklangan imtiyozlarni o'rnatishingiz kerakligini unutmang.

Apache-da saytlar va modullarni yoqish

Virtual xost faylini yaratganingizdan so'ng uni yoqishingiz mumkin. Buning uchun saytlar faollashtirilgan katalogdagi faylga ramziy havola yaratishingiz kerak:

sudo a2ensite virtual host fayli

Saytingiz yoqilgandan so'ng, veb-serverga konfiguratsiyalarni qayta o'qishga ruxsat berish uchun Apache-ni qayta ishga tushiring:

sudo xizmati apache2 ni qayta yuklash

Virtual xostni o'chirish uchun siz faol saytlardan ramziy havolani olib tashlashingiz kerak:

sudo a2dissite virtual host fayli

Shundan so'ng veb-serverni qayta ishga tushirishingiz kerak:

sudo xizmati apache2 ni qayta yuklash

Siz quyidagi buyruqlar yordamida Apache modulini yoqishingiz va o'chirib qo'yishingiz mumkin (mos ravishda):

a2enmod
a2dismod

Ular avval aytib o'tilgan a2ensite va a2dissite buyruqlari bilan bir xil ishlaydi. Modulni yoqish yoki o'chirishdan so'ng veb-serverni qayta ishga tushirishingiz kerak.

Xulosa

Ushbu maqola faqat qamrab oladi asosiy sozlamalar Apache veb-server fayllari. Apache-ning funktsiyalar to'plami modullar yordamida sezilarli darajada kengaytirilishi mumkin.

Agar kerak bo'lsa qo'shimcha ma'lumot veb-server haqida, iltimos, murojaat qiling

Apache eng mashhur bepul veb-serverdir. 2016 yil holatiga ko'ra, u barcha Internet saytlarining 33 foizida qo'llaniladi, bu taxminan 304 milliard sayt. Ushbu veb-server 1995 yilda mashhur NCSA serverini almashtirish sifatida ishlab chiqilgan va uning ko'plab muammolarini hal qilgan. Mish-mishlarga ko'ra, uning ismi NCSA xatolarini tuzatayotgani uchun yamoqlardan kelib chiqqan. Endi bu Windows, Linux va MacOS-ni qo'llab-quvvatlaydigan va etarli darajada moslashuvchanlik, sozlash va funksionallikni ta'minlaydigan o'zaro faoliyat platformali dastur. Dastur modulli tuzilishga ega, bu modullar yordamida o'z funksionalligini deyarli cheksiz ravishda kengaytirish imkonini beradi.

Apache-ni Linux-ga bir nechta buyruqlar yordamida o'rnatishingiz mumkin, ammo dastur o'zgartirilishi mumkin bo'lgan juda ko'p sonli sozlamalarni, shuningdek yoqilganda yaxshiroq ishlaydigan modullarni taqdim etadi. Ushbu maqola Apache-ni o'rnatish va sozlashni o'z ichiga oladi, biz Ubuntu-dan asosiy tizim sifatida foydalanamiz, ammo siz ushbu amallarni boshqa har qanday tarqatishda takrorlashingiz mumkin. Biz nafaqat dasturning o'zini o'rnatishni, balki uni qanday sozlashni, apache virtual xostlarini o'rnatishni, shuningdek, eng foydali modullarni ko'rib chiqamiz.

Yoniq bu daqiqa, eng yangi versiya 2.4 dasturlari; shuning uchun Apache 2.4 ni o'rnatish ko'rib chiqiladi. Men allaqachon aytganimdek, ichida Linux dasturi tom ma'noda bir nechta buyruqlarda o'rnatadi. Ubuntu-ga o'rnatish uchun avval tizimni eng so'nggi versiyasiga yangilang:

sudo apt yangilanishi
$ sudo apt yangilash

Keyin apache2 ni o'rnating:

sudo apt install apache2

Boshqa tarqatishlarda dastur paketi bu yoki httpd deb ataladi va uni o'rnatish sizga hech qanday qiyinchilik tug'dirmaydi.

O'rnatish tugallangandan so'ng, kompyuterni yoqgandan so'ng uni qo'lda ishga tushirmaslik uchun veb-serverni ishga tushirishga qo'shishingiz kerak:

sudo systemctl apache2 ni yoqish

Apache sozlamalari

Apache konfiguratsiyasi bitta faylda saqlangan kunlar o'tdi. Lekin bu to'g'ri: har bir narsa o'z kataloglarida taqsimlanganda, konfiguratsiya fayllarida harakat qilish osonroq bo'ladi.

Barcha sozlamalar /etc/apache/ jildida joylashgan:

  • Fayl /etc/apache2/apache2.conf asosiy sozlamalar uchun javobgardir
  • /etc/apache2/conf-available/* - qo'shimcha sozlamalar veb-server
  • /etc/apache2/mods-available/*- modul sozlamalari
  • /etc/apache2/sites-available/*- virtual xost sozlamalari
  • /etc/apache2/ports.conf- apache ishlaydigan portlar
  • /etc/apache2/envvars

Siz sezganingizdek, conf, mods va sayt uchun ikkita papka mavjud. Bular mavjud va yoqilgan. Modul yoki xostni yoqsangiz, mavjud jilddan yoqish papkasiga ramziy havola yaratiladi. Shuning uchun sozlamalarni mavjud papkalarda bajarish yaxshiroqdir. Umuman olganda, siz ushbu papkalarsiz ham qila olasiz, hamma narsani olishingiz va hamma narsani bitta faylga eski uslubda tashlashingiz mumkin va hamma narsa ishlaydi, lekin hozir buni hech kim qilmaydi.

Avval ko'rib chiqaylik asosiy fayl konfiguratsiyalar:

vi /eta/apache2/apache2.conf

Taym-aut; turib qolish; tanaffus- server uzilgan ma'lumotlarni uzatish yoki qabul qilishni qancha vaqt davom ettirishga harakat qilishini bildiradi. 160 soniya kifoya qiladi.

Tirik turing- juda foydali parametr, u bir ulanishda bir nechta fayllarni uzatish imkonini beradi, masalan, nafaqat html sahifasi, balki tasvirlar va CSS fayllari ham mavjud.

MaxKeepAliveRequests 100- har bir ulanish uchun maksimal so'rovlar soni qancha ko'p bo'lsa, shuncha yaxshi.

KeepAliveTimeout 5- ulanish vaqti tugashi, odatda sahifani yuklash uchun 5-10 soniya kifoya qiladi, shuning uchun siz boshqa sozlashingiz shart emas, lekin barcha ma'lumotlar yuklanishidan oldin ulanishni uzishingiz shart emas.

Foydalanuvchi, guruh- dastur nomidan ishga tushadigan foydalanuvchi va guruh.

Xost nomi qidiruvi- IP manzillar o'rniga jurnallarga yozish domen nomlari, ishni tezlashtirish uchun uni o'chirib qo'yish yaxshiroqdir.

LogLevel- xatolarni qayd etish darajasi. Odatiy bo'lib, ogohlantirish ishlatiladi, lekin jurnallarni sekinroq to'ldirish uchun xatolikni yoqing

O'z ichiga oladi- barcha direktivalar yuqorida muhokama qilingan konfiguratsiya fayllarini ulash uchun javobgardir.

Katalog direktivalari fayl tizimidagi ma'lum bir katalogga kirish huquqlarini o'rnatish uchun javobgardir. Bu erda sintaksis:


Parametr qiymati

Bu erda quyidagi asosiy variantlar mavjud:

AllowOverride- .htaccess fayllarini ushbu katalogdan o'qish kerakligini ko'rsatadi; bular bir xil sozlamalar fayllari va bir xil sintaksisga ega. Hammasi - hamma narsaga ruxsat bering, Yo'q - bu fayllarni o'qimang.

DocumentRoot- foydalanuvchiga ko'rsatish uchun hujjatlarni qaysi papkadan olish kerakligi to'plami

Variantlar- ushbu jildda qaysi veb-server funksiyalariga ruxsat berilishi kerakligini bildiradi. Masalan, All - hamma narsaga ruxsat berish, FollowSymLinks - ramziy havolalarni kuzatish, Indekslar - indeks fayli bo'lmasa, katalog tarkibini ko'rsatish.

Talab qilish- qaysi foydalanuvchilar ushbu katalogga kirish huquqini belgilaydi. Barcha rad etilganlarni talab qiling - hammani rad eting, Hammasini talab qiling - hammaga ruxsat bering. Foydalanuvchini aniq belgilash uchun barchasi o'rniga foydalanuvchi yoki guruh direktivasidan foydalanishingiz mumkin.

Buyurtma- katalogga kirishni boshqarish imkonini beradi. Ikki qiymatni qabul qiladi: Ruxsat berish, Rad etish - ko'rsatilganlardan tashqari hamma uchun ruxsat berish yoki Rad etish, Ruxsat berish - ko'rsatilganlardan tashqari hamma uchun rad etish..ru.

Bu ko'rsatmalarning barchasi bu erda ishlatilmaydi, chunki biz standart qiymatlardan mamnunmiz, lekin .htaccess fayllarida ular juda foydali bo'lishi mumkin.

Bizda /etc/apache2/ports.conf fayli qoldi:

U faqat bitta direktivani o'z ichiga oladi - Listen, bu dastur qaysi portda ishlashi kerakligini aytadi.

Oxirgi fayl /etc/apache2/envvars, siz undan foydalana olmaysiz, unda boshqa konfiguratsiya fayllarida ishlatilishi mumkin bo'lgan o'zgaruvchilar mavjud.

htaccess orqali Apache serverini sozlash

.htaccess fayllari Ubuntu veb-serveringizni ma'lum bir katalogda ishlash uchun sozlash imkonini beradi. Ushbu faylda ko'rsatilgan barcha ko'rsatmalar xuddi tegga o'ralgandek bajariladi agar ular asosiy faylda bo'lsa.

Shuni ta'kidlash kerakki, server .htaccess dan ko'rsatmalarni o'qishi uchun asosiy yoki virtual xost faylidagi ushbu papka sozlamalari bo'lmasligi kerak. AllowOverride None Sizga kerak bo'lgan barcha sozlamalar ishlashi uchun AllowOverride All.

Aks holda, Apache serverining har qanday konfiguratsiyasi modullarni yoqishdan tortib, papkaga kirishni oddiygina o'zgartirishgacha bu yerda amalga oshirilishi mumkin. Biz allaqachon barcha parametrlarni ko'rib chiqqanimiz uchun, keling, bir nechta misol keltiramiz:

Buyurtmani rad etish, ruxsat berish
Hammadan rad eting

Konfiguratsiya papkalarini qo'llash uchun muhim bo'lgan ushbu jildga hamma kirishini rad etadi. Ko'pincha .htaccess mod_rewrite moduli bilan ishlash uchun ishlatiladi, bu sizga so'rovlarni tezda o'zgartirish imkonini beradi:

RewriteEngine yoqilgan
RewriteRule ^mahsulot/([^/\.]+)/?$ product.php?id=$1 [L]

Ammo bu juda keng mavzu va ushbu maqola doirasidan tashqarida.

Apache modullarini sozlash

Yuqorida aytganimdek, Apache - modulli dastur, uning funksionalligi modullar yordamida kengaytirilishi mumkin. Barcha mavjud yuklovchi modullar va modul konfiguratsiya fayllari /etc/apache/mods-available papkasida joylashgan. Va /etc/apache/mods-enable da faollashtirilgan.

Ammo bu papkalarning mazmunini tahlil qilishingiz shart emas. Apache 2.4 ni modullarni qo'shish orqali sozlash maxsus buyruqlar yordamida amalga oshiriladi. Siz barcha ishlaydigan modullarni buyruq bilan ko'rishingiz mumkin:

Siz modulni buyruq bilan yoqishingiz mumkin:

sudo a2enmod modul_name

Va o'chirib qo'ying:

sudo a2dismod modul_name

Modullarni yoqish yoki o'chirib qo'ygandan so'ng, apache-ni qayta ishga tushirishingiz kerak:

sudo systemctl apache2 ni qayta ishga tushiring

Ushbu buyruqlardan biri bajarilganda, kengaytmali yuklangan modul fayliga ramziy havola yaratiladi yoki mods mavjud katalogida o'chiriladi. Siz ushbu faylning mazmunini ko'rishingiz mumkin, faqat bitta qator mavjud. Masalan:

vi /etc/apache2/mods-available/deflate.load

Bu shuni anglatadiki, modul shunchaki ushbu qatorni apache2.conf fayliga qo'shish orqali faollashtirilishi mumkin. Ammo chalkashmaslik uchun buni qilish odatiy holdir.

Modul sozlamalari bir xil papkada, faqat yuk o'rniga .conf kengaytmali faylda joylashgan. Masalan, deflate siqish uchun bir xil modul sozlamalarini ko'rib chiqaylik:

vi /etc/apache2/mods-available/deflate.conf

Conf-mavjud papkadagi fayllar bir xil modullar, faqat ular apache-dan alohida o'rnatiladi, bular php modulini yoki boshqa dasturlash tilini yoqish uchun konfiguratsiya fayllari bo'lishi mumkin. Bu erda hamma narsa xuddi shunday ishlaydi, faqat ushbu modullarni yoqish va o'chirish buyruqlari biroz farq qiladi:

a2enconf modul_name

a2disconf modul nomi

Ko'rib turganingizdek, modullarni yoqish juda oddiy. Keling, bir nechta kerakli, ammo sukut bo'yicha yoqilmagan modullarni yoqaylik:

sudo a2enmod muddati tugaydi
$ sudo a2enmod sarlavhalari
$ sudo a2enmodni qayta yozish
$ sudo a2enmod ssl

Muddati tugaydi va sarlavhalar modullari serverdagi yukni kamaytiradi. Agar hujjat oxirgi so'rovdan keyin o'zgarmagan bo'lsa, ular "O'zgartirilmagan" sarlavhasini qaytaradi. Yaroqlilik muddati moduli brauzer qabul qilingan hujjatni keshlashi kerak bo'lgan vaqtni belgilash imkonini beradi. Qayta yozish sizga so'ralgan manzillarni tezda o'zgartirish imkonini beradi, CNC havolalarini yaratishda juda foydali va hokazo. Va oxirgisi SSL shifrlashni qo'llab-quvvatlashni faollashtiradi. Sozlamalarni tugatgandan so'ng apache2 ni qayta ishga tushirishni unutmang.

Apache virtual xostlarini sozlash

Agar faqat bitta veb-saytni bitta jismoniy mashinada joylashtirish mumkin bo'lsa, bu mutlaqo qulay bo'lmaydi. Apache bitta kompyuterda yuzlab saytlarni qo'llab-quvvatlashi va har biri uchun to'g'ri tarkibni taqdim etishi mumkin. Buning uchun virtual xostlar ishlatiladi. Server so'rov qaysi domenga kelishini aniqlaydi va ushbu domen papkasidan kerakli tarkibga xizmat qiladi.

Apache xostlari sozlamalari /etc/apache2/hosts-available/ jildida joylashgan. Yangi xost yaratish uchun istalgan nomli fayl yarating (xost nomi bilan tugash yaxshiroq) va uni kerakli ma'lumotlar bilan to'ldiring. Ushbu parametrlarning barchasini direktivaga o'rashingiz kerak VirtualHost. Bu erda muhokama qilingan parametrlarga qo'shimcha ravishda quyidagilar qo'llaniladi:

  • Server nomi- asosiy domen nomi
  • Server Alias- saytga kirish mumkin bo'lgan qo'shimcha nom
  • Server admin - Elektron pochta administrator
  • DocumentRoot- ushbu domen uchun hujjatlar bilan papka

Masalan:

vi /etc/apache2/sites-available/test.site.conf