Keepalived test



Yüklə 13,79 Mb.
səhifə119/125
tarix21.08.2023
ölçüsü13,79 Mb.
#140060
1   ...   115   116   117   118   119   120   121   122   ...   125
abdurakhmonov

Qo'shimcha o'qish


• MariaDB ni opsiya fayllari bilan sozlash: https://mariadb.com/kb/en/ configuring-mariadb-with-option-files/

14

Veb-kontentga xizmat ko'rsatish


Ubuntu Serverning moslashuvchan tabiati uni tashkilotingizning veb-mavjudligini joylashtirish uchun ajoyib platformaga aylantiradi. Ushbu bobda biz internetdagi yetakchi veb-server dasturlarini tashkil etuvchi Apache va NGINX-ni ko'rib chiqamiz. Biz ikkalasini ham o'rnatish, sozlash va kengaytirish, shuningdek, ularni TLS bilan himoyalash orqali o'tamiz. Bundan tashqari, biz Nextcloud-ni o'rnatishni ham ko'rib chiqamiz, bu sizning tashkilotingiz uchun hamkorlik qilish va fayllarni almashish uchun foydalanishi uchun o'zingizning shaxsiy bulutli muhitingizni o'rnatish uchun ajoyib yechimdir. Ubuntu serverida veb-kontentni joylashtirish bilan bog'liq tushunchalar ustida ishlayotganimizda, biz quyidagilarni ko'rib chiqamiz:

  • Apache-ni o'rnatish va sozlash

  • Qo'shimcha Apache modullarini o'rnatish

  • TLS bilan Apache xavfsizligini ta'minlash

  • NGINX-ni o'rnatish va sozlash

  • Keepalived bilan uzilishni sozlash

  • NextCloud-ni sozlash va sozlash

Ishni boshlash uchun biz birinchi navbatda Apache konfiguratsiyasini, shuningdek, ba'zi bir asosiy konfiguratsiyani ko'rib chiqamiz.

Apache-ni o'rnatish va sozlash


Har qanday texnologiya bilan tanishishning eng yaxshi usuli - bu to'g'ridan-to'g'ri sho'ng'ish. Biz bu bobni Apache-ni o'rnatishdan boshlaymiz. Lekin birinchi navbatda, Apache nima? Hali bilmaganlar uchun Apache foydalanuvchilarga veb-sahifalarni taqdim etish uchun odatda Linux va Unix serverlarida ishlaydigan mashhur dasturdir. U fonda ishlaydi va serveringizda mavjud bo'lgan URL manzilini so'raganlarga HTML sahifalariga xizmat qiladi.
Apache-ni o'rnatish juda oson; Bu shunchaki apache2 paketini o'rnatish masalasi:
sudo apt install apache2
Odatiy bo'lib, Ubuntu paketi o'rnatilgandan so'ng darhol ishga tushadi va apache2 demonini yoqadi. Buni quyidagi buyruq bilan tasdiqlashingiz mumkin:
systemctl status apache2
Haqiqatan ham, bu nuqtada sizda (barcha niyat va maqsadlar uchun) to'liq ishlaydigan veb-server mavjud. Agar siz veb-brauzerni ochsangiz va hozirgina Apache-ni o'rnatgan serverning IP-manzilini kiritmoqchi bo'lsangiz, Apache-ning namunaviy veb-sahifasini ko'rishingiz kerak:

14.1-rasm: Apache tomonidan taqdim etilgan standart veb-sahi
Mana, siz rasmiy ravishda veb-kontentga xizmat qildingiz. Sizga kerak bo'lgan yagona narsa apache2 paketini o'rnatish edi va sizning serveringiz veb-serverga aylantirildi.
Bob tugadi, davom etish vaqti.
Albatta, Apache-da uni o'rnatish va namunaviy veb-sahifani taqdim etishdan ko'ra ko'proq narsa bor. Namunaviy veb-sahifadagi kontentni oʻzingizga almashtirishingiz va foydalanuvchilarga kontentni joylashtirishga kelganda hamma narsa tayyor boʻlishi mumkin boʻlsa-da, tushunish uchun koʻp narsa bor. Misol uchun, /etc/apache2 katalogida saytlar qanday joylashtirilishini boshqaradigan bir nechta konfiguratsiya fayllari mavjud, shuningdek, Apache hosting veb-sahifalarini topish uchun qaysi kataloglarni qidiradi. Apache shuningdek plaginlarga ega, biz ularni ham ko'rib chiqamiz.
Apache veb-sahifalarga xizmat ko'rsatadigan katalog hujjat rooti sifatida tanilgan, sukut bo'yicha /var/www/html. Ushbu katalog ichida siz index.html faylini ko'rasiz, bu aslida o'zgartirilmagan Apache serveriga tashrif buyurganingizda ko'riladigan standart sahifadir. Aslida, bu server ishlayotganligini ko'rsatish uchun mo'ljallangan sinov sahifasi, shuningdek, standart konfiguratsiyaga oid ba'zi ma'lumotlar.
Siz serverda faqat bitta veb-saytni joylashtirish bilan cheklanmaysiz. Apache virtual xost kontseptsiyasini qo'llab-quvvatlaydi, bu sizga bitta serverdan bir nechta veb-saytlarga xizmat ko'rsatish imkonini beradi. Har bir virtual xost alohida konfiguratsiya faylidan iborat bo'lib, u o'zini nomiga yoki IP manziliga qarab farqlaydi. Misol uchun, sizda acmeconsulting.com va acmesales.com kabi ikki xil veb-saytga ega bo'lgan bitta IP-manzilga ega Apache serveringiz bo'lishi mumkin. Bu faraziy veb-saytlar, lekin siz bu fikrni tushunasiz. Buni sozlash uchun siz acmeconsulting.com va acmesales.com uchun alohida konfiguratsiya fayllarini yaratasiz va ularni Apache konfiguratsiya katalogida saqlang. Har bir konfiguratsiya fayli bandini o'z ichiga oladi, unda siz bir-biridan farq qiluvchi nom yoki IP manzil kabi identifikatorni joylashtirasiz. So‘rov kelib tushganda, Apache foydalanuvchi brauzeriga acmeconsulting.com yoki acmesales.com ga xizmat ko‘rsatadi, bu so‘rov kelganda qaysi mezonlarga mos kelishiga bog‘liq. Har bir sayt uchun konfiguratsiya fayllari odatda.conf fayl nomi kengaytmasi bilan tugaydi va shunday bo‘ladi. /etc/apache2/ sites-available katalogida saqlanadi. Bularning barchasini tez orada batafsilroq ko'rib chiqamiz.
Yangi saytni (virtual xost) o'rnatish uchun asosiy ish jarayoni odatda quyidagilarga o'xshash bo'ladi:

  • Veb-ishlab chiquvchi veb-sayt va tegishli fayllarni yaratadi

  • Ushbu fayllar Ubuntu serveriga odatda quyi katalogda yuklanadi

/var/www yoki administrator tanlagan boshqa katalog

  • Server ma'muri sayt uchun konfiguratsiya faylini yaratadi va uni /etc/apache2/sites-available katalogiga ko'chiradi.

  • Administrator saytni faollashtiradi va Apache-ni qayta yuklaydi

Virtual xostlarni yoqish Debian va Ubuntu-da boshqa platformalarga qaraganda bir oz boshqacha ko'rib chiqiladi. Aslida, bu maqsadni bajarish uchun ikkita maxsus buyruq mavjud: saytni yoqish uchun a2ensite va saytni o'chirish uchun a2dissite. Siz ushbu buyruqlarni, masalan, CentOS kabi tarqatishlarda topa olmaysiz. Har bir sayt uchun konfiguratsiya fayllari /etc/apache2/sites-available/ katalogida saqlanadi va biz har bir konfiguratsiyani yoqish uchun a2ensite buyrug'idan foydalanamiz. Acmeconsulting.com URL manziliga ega sayt bizning Ubuntu serverimizda joylashtirilishi kerak deb hisoblasak, biz /etc/apache2/sites-available/acmeconsulting.com.conf konfiguratsiya faylini yaratamiz va saytni quyidagi buyruqlar bilan yoqamiz:
sudo a2ensite acmeconsulting.com.conf sudo systemctl reload apache2

Men misollarimda mutlaq yo'llardan foydalanmayapman; konfiguratsiya faylini toʻgʻri joyga koʻchirgan ekansiz, a2ensite va a2dissite buyruqlari uni qayerdan topishni bilib oladi.

saytning konfiguratsiya fayliga qarshi a2dissite buyrug'ini bajaramiz:
sudo a2dissite acmeconsulting.com.conf sudo systemctl reload apache2
Agar bu sahna ortida qanday ishlashi bilan qiziqsangiz, a2ensite buyrug'i konfiguratsiya fayliga qarshi ishga tushirilganda, u asosan ushbu faylga ramziy havola yaratadi va uni /etc/apache2/sites-enabled katalogida saqlaydi. Saytni o'chirish uchun a2dissite-ni ishga tushirganingizda, bu ramziy havola o'chiriladi. Apache, sukut bo'yicha, /etc/apache2/sites-enabled katalogida topilgan har qanday konfiguratsiya fayllaridan foydalanadi. Saytni yoqqan yoki o‘chirib qo‘ygandan so‘ng, siz Apache konfiguratsiyasini yangilashingiz kerak bo‘ladi, bu yerda qayta yuklash opsiyasi ishga tushadi. Bu buyruq Apache’ni o‘zi qayta ishga tushirmaydi (shuning uchun mavjud saytlaringizdan foydalanayotgan foydalanuvchilar bezovtalanmaydi), lekin u Apache-ga konfiguratsiya fayllarini qayta yuklash imkoniyatini beradi. Agar oldingi buyruqlarda qayta yuklashni qayta ishga tushirish bilan almashtirsangiz, Apache to'liq qayta ishga tushirishni amalga oshiradi. Agar siz Apache bilan muammoga duch kelsangiz yoki yangi plaginni yoqsangiz, buni qilishingiz kerak, lekin ko'p hollarda ishlab chiqarish tizimida qayta yuklash opsiyasi afzal ko'riladi.
/etc/apache2/apache2.conf manzilida joylashgan. Ushbu faylning mazmunini ko'ring; izohlarda Apache konfiguratsiyasi qanday tuzilganligi haqida yaxshi ma'lumot mavjud. Ushbu fayldagi quyidagi qatorlar alohida qiziqish uyg'otadi:
# Virtual xost konfiguratsiyasini qo'shing:
IncludeOptional sites-enabled/*.conf
/etc/apache2/sites-enabled katalogida yoqilgan saytlarni qidirish uchun shunday sozlagan. U erda.conf fayl kengaytmasi bilan saqlangan har qanday fayl Apache tomonidan o'qiladi. Agar xohlasangiz, aslida bu qatorlarni olib tashlashingiz mumkin va Apache boshqa platformalarda bo'lgani kabi o'zini tutadi va a2ensite va a2dissite buyruqlari endi hech qanday maqsadga ega bo'lmaydi. Biroq, Ubuntu-ni amalga oshirish ramkasini buzilmasdan saqlash yaxshiroqdir, chunki konfiguratsiya fayllarini ajratish mantiqiy ma'noga ega va konfiguratsiyani soddalashtirishga yordam beradi. Ushbu bob konfiguratsiyani boshqarishning Ubuntu usuli bilan birga bo'ladi.
Agar siz faqat bitta saytga ega bo'lsangiz, qo'shimcha virtual xost talab qilinmaydi. Agar Apache konfiguratsiyasiga hech qanday o'zgartirish kiritmasangiz, /var/www/html mazmuni standart virtual xost tomonidan xizmat qiladi. Apache bilan jo'natiladigan misol sayt bu erdan keladi. Agar siz faqat bitta saytni joylashtirishingiz kerak bo'lsa, ushbu katalogda saqlangan standart index.html faylini olib tashlashingiz va uni veb-saytingiz talab qiladigan fayllar bilan almashtirishingiz mumkin. Agar buni o'zingiz sinab ko'rmoqchi bo'lsangiz, standart index.html faylining zaxira nusxasini yaratishingiz va standart HTML bilan yangisini yaratishingiz mumkin. Faylga qo'shilgan kontentni aks ettirish uchun standart sahifa o'zgarishini ko'rishingiz kerak.
000 -default.conf fayli o'ziga xosdir, chunki u asosan standart Apache namuna veb-saytini boshqaradigan konfiguratsiya faylidir. Agar siz /etc/ apache2/sites-available va / etc/ apache2 /sites-enabled kataloglarining mazmuniga qarasangiz, mavjud saytlarda saqlangan 000 -default.conf konfiguratsiya faylini ko'rasiz.. Bu shuni ko'rsatadiki, sukut bo'yicha ushbu sayt Apache-ga kiritilgan va uning konfiguratsiya fayli Apache o'rnatilishi bilanoq yoqilgan. Barcha maqsadlar va maqsadlar uchun, agar siz serveringizda faqat bitta veb-saytni joylashtirishni rejalashtirmoqchi bo'lsangiz, 000-default.conf konfiguratsiya fayli kerak bo'ladi. Ushbu faylning mazmuni quyidagicha, lekin men ushbu sahifadagi joyni tejash uchun fayldan sharhlarni olib tashladim:

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

80- portda tinglashni va so'rovlar kelib tushishi bilanoq /var/www/html dan tarkibni taqdim etishni aytadi. deklaratsiyasi boshida hamma narsani tinglaydi ( yulduzcha joker belgidir ) 80- portda, shuning uchun bu asosan 80- portdan serverga keladigan barcha veb-trafiklarni boshqaradi. ServerAdmin bandi sayt bilan bog'liq muammo bo'lsa, ko'rsatiladigan har qanday xato xabarlarida ko'rsatiladigan elektron pochta manzilini belgilaydi.
DocumentRoot sozlamasi Apache-ga ushbu virtual xostga ulanish uchun xizmat qiladigan fayllarni topish uchun qaysi katalogni izlash kerakligini aytadi. /var/www/html sukut bo'yicha, lekin ba'zi ma'murlar buni sozlashni tanlashadi. Ushbu faylda jurnal ma'lumotlarini jo'natish uchun qatorlar ham mavjud. Kirish jurnali HTTP so'rovlari bilan bog'liq ma'lumotlarni o'z ichiga oladi va sukut bo'yicha /var/log/access.log da saqlanadi. Xatolar jurnali /var/log/error.log manzilida saqlanadi va kimdir saytingizga kirishda muammoga duch kelganda foydalanishingiz mumkin bo'lgan ma'lumotlarni o'z ichiga oladi. $ {APACHE_LOG_DIR} oʻzgaruvchisi sukut boʻyicha /var/log ga teng boʻladi va bu /etc/apache2/envvars faylida oʻrnatiladi, agar biron sababga koʻra buni oʻzgartirmoqchi boʻlsangiz (masalan, maxsus jurnaldan foydalanmoqchi boʻlsangiz) katalog).
Agar siz qo'shimcha virtual xost yaratish orqali bir xil serverda boshqa saytni joylashtirishni istasangiz, ba'zi qo'shimcha sozlashlar bilan asl fayl bilan bir xil ramkadan foydalanishingiz mumkin. Virtual xost fayllari /etc/apache2/sites-available katalogida saqlanadi, fayl nomi.conf bilan tugaydi. Bu yerda gipotetik veb-sayt uchun misol, acmeconsulting.com. Bu kabi virtual xost fayli /etc/apache2/sites-available/acmeconsulting.com.conf sifatida saqlanishi mumkin:

ServerAdmin webmaster@localhost
DocumentRoot /var/www/acmeconsulting
ErrorLog ${APACHE_LOG_DIR}/acmeconsulting.com-error.log
CustomLog ${APACHE_LOG_DIR}/acmeconsulting.com-access.log combined

Vaqtni tejash uchun men odatda boshqa virtual xost faylini, hatto standart faylni ham nusxalayman va shunga mos ravishda o'zgartiraman. Ushbu misolda men ba'zi muhim farqlarni ta'kidladim. Birinchidan, ushbu virtual xost bilan men 80- portga kiradigan barcha ulanishlarni tinglamayapman ; Buning o'rniga men 80 portdagi 192.168.1.104 IP manziliga kiruvchi trafikni qidiryapman. Bu ishlaydi, chunki bu serverda ikkita tarmoq kartasi va shuning uchun ikkita IP-manzil mavjud. Virtual xostlar bilan men so'rov qaysi IP-manzilga kelishiga qarab boshqa veb-saytga xizmat qila olaman.
DocumentRoot-ni /var/www/acmeconsulting ga o'rnatdim. Har bir virtual xost har bir saytni boshqalardan alohida saqlash uchun o'zining shaxsiy DocumentRootiga ega bo'lishi kerak. Mening serverlarimda odatda namunaviy virtual xostni o'chirib qo'yaman yoki o'chirib tashlayman (birlamchi DocumentRoot- ga ega /var/www/html ). Buning o'rniga, men /var/www asosiy katalog sifatida foydalanaman va har bir virtual xost ushbu bazaning pastki katalogi sifatida o'z katalogini oladi.
Men foydali deb bilgan yana bir o'zgarish - har bir virtual xostga o'z log fayllarini berish. Odatda, Apache barcha saytlar uchun jurnal yozuvlarini saqlash uchun /var/log/apache2/error.log va /var/log/apache2/access.log dan foydalanadi. Agar sizning serveringizda faqat bitta sayt bo'lsa, bu yaxshi. Biroq, siz bir nechta saytlarga xizmat ko'rsatayotganingizda, men har bir saytga o'zining mustaqil jurnal fayllarini berishni foydali deb bilaman. Shunday qilib, agar siz biron bir sayt bilan muammoga duch kelsangiz, muammolarni bartaraf qilishda izlayotgan narsani topish uchun bog'liq bo'lmagan jurnal yozuvlari bo'ylab harakatlanishingiz shart emas. Mening misolimda men veb-sayt nomini jurnal fayl nomlariga kiritdim, shuning uchun bu virtual xost /var/log/apache2/ acmeconsulting.com-error.log faylidagi xatolarni qayd qilmoqda va kirish jurnali /var/ ga yozilmoqda. log/ apache2/acmeconsulting.com-access.log. Ushbu jurnal fayllari Apache-ni qayta yuklaganingizdan so'ng siz uchun avtomatik ravishda yaratiladi.
Faqat bitta IP-manzilga ega bo'lgan server bilan siz hali ham bir nechta virtual xostlarni o'rnatishingiz mumkin. Virtual xostlarni IP bo'yicha farqlash o'rniga, ularni nomi bilan farqlashingiz mumkin. Bu Ubuntu'ning Virtual Private Server ( VPS ) o'rnatishlarida keng tarqalgan bo'lib, u erda odatda VPS provayderingiz tomonidan sizga bitta IP-manzil tayinlanadi. Nomga asoslangan virtual xostlar uchun biz konfiguratsiyamizdagi ServerName opsiyasidan foydalanamiz. Bu qanday ishlashini ko'rish uchun quyidagi misolga qarang. Ushbu misol bilan men o'z fayllariga nomga asoslangan virtual xostlarni qo'shyapman. Men o'zimga qo'ng'iroq qildim
000-virtual-hosts.conf va katalogda saqlangan. Tarkiblari quyidagicha:

ServerName acmeconsulting.com
DocumentRoot /var/www/acmeconsulting


ServerName acmesales.com
DocumentRoot /var/www/acmesales

DocumentRoot bilan ServerName e'lon qilaman. Birinchi misol bilan, acmeconsulting.com so'rovi bo'yicha serverga kelgan har qanday trafik /var/www/acmeconsulting DocumentRoot bilan ta'minlanadi. Ikkinchi misol acmesales.com dan trafikni qidiradi va uni /var/www/acmesales ga yo'naltiradi. Bu yerda qancha virtual xostlarni serveringizda joylashtirmoqchi bo'lsangiz, shuncha ko'p ro'yxatlashingiz mumkin. Agar sizning serveringiz har bir saytga trafikni boshqarish uchun etarli resurslarga ega bo'lsa, siz xohlagancha ko'p joylashtirishingiz mumkin.
Agar siz virtual xostlar bilan domen nomlaridan foydalanayotgan bo'lsangiz, bu faylda havola qilingan domen nomi serveringizning IP manziliga mos keladigan tarmoqni o'rnatganingizdagina ishlaydi. Konfiguratsiyangizga qarab, buni qilishning bir necha yo'li mavjud. Agar siz DigitalOcean yoki Linode kabi VPS provayderidan foydalanayotgan bo'lsangiz, serveringiz allaqachon IP-manzilga ega bo'ladi va shu IP-ga ishora qilish uchun DNS serveringizdagi A yozuvini tahrirlashingiz kifoya. (DNS yozuvlarining har xil turlari, masalan, A yozuvi Tarmoq xizmatlarini sozlash 11-bobida yoritilgan.) Agar siz o'zingizning DNS serveringizda ishlayotgan bo'lsangiz, u erga A yozuvini qo'shasiz. Agar siz tashqi DNS provayderidan foydalansangiz, hisob qaydnomangiz uchun asboblar paneliga kirasiz va u yerga A yozuvini qo'shasiz. Sinov maqsadlarida siz /etc/hosts faylingizni yangi veb-serveringizga ishora qilish uchun tahrirlashingiz mumkin. Agar siz VPS provayderidan foydalanmasangiz, ichki veb-serveringizga ishora qilish uchun xavfsizlik devoringizdagi 80- portni yo'naltirishingiz kerak bo'ladi. Bu kitobning doirasidan tashqarida, chunki xavfsizlik devorlarining ko'plab turli modellari mavjud va ularning barchasini qamrab olishning iloji yo'q.
Ushbu bobni davom ettirar ekanmiz, biz Apache uchun qo'shimcha konfiguratsiyani amalga oshiramiz. Shu nuqtada, Ubuntu Serverda Apache qanday sozlanishi asoslarini tushunishingiz kerak. Qo'shimcha amaliyot uchun qo'shimcha virtual xostlar yarating va ular uchun turli sahifalarga xizmat qiling.

Yüklə 13,79 Mb.

Dostları ilə paylaş:
1   ...   115   116   117   118   119   120   121   122   ...   125




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin