π°Ubuntu 20.04 da Apache veb-serverini qanday o'rnatish kerak
// Qo'llanma //
Kirish
Apache HTTP serveri dunyodagi eng keng tarqalgan veb-serverdir. Bu dinamik yuklanadigan modullar, mustahkam media yordami va boshqa mashhur dasturlar bilan keng integratsiyalashuvni o'z ichiga olgan ko'plab kuchli xususiyatlarni taqdim etadi.
Ushbu qo'llanmada biz Ubuntu 20.04 serveringizga Apache veb-serverini qanday o'rnatishni tushuntiramiz.
1-qadam - Apache-ni o'rnatish
Apache Ubuntu'ning standart dasturiy ta'minot omborlarida mavjud bo'lib, uni an'anaviy paketlarni boshqarish vositalari yordamida o'rnatish imkonini beradi.
Eng so'nggi yuqoridagi o'zgarishlarni aks ettirish uchun mahalliy paket indeksini yangilashdan boshlaylik:
$ sudo apt updateKeyin apache2paketni o'rnating:
$ sudo apt install apache2O'rnatishni tasdiqlaganingizdan so'ng, aptApache va barcha kerakli bog'liqliklar o'rnatiladi.
2-qadam - xavfsizlik devorini sozlash
Apache-ni sinab ko'rishdan oldin standart veb-portlarga tashqi kirishga ruxsat berish uchun xavfsizlik devori sozlamalarini o'zgartirish kerak. Agar siz dastlabki shartlardagi ko'rsatmalarga amal qilgan bo'lsangiz, serveringizga kirishni cheklash uchun UFW xavfsizlik devori sozlangan bo'lishi kerak.
O'rnatish vaqtida Apache xavfsizlik devori orqali Apache-ga kirishni yoqish yoki o'chirish uchun ishlatilishi mumkin bo'lgan bir nechta ilova profillarini taqdim etish uchun o'zini UFW bilan ro'yxatdan o'tkazadi.
ufwIlova profillarini kiritish orqali roΚ»yxatlang :
$ sudo ufw app listSiz ilova profillari ro'yxatini olasiz:
OutputAvailable applications: Apache Apache Full Apache Secure OpenSSH
Chiqishdan ko'rinib turibdiki, Apache uchun uchta profil mavjud:
Apache : Bu profil faqat 80-portni ochadi (oddiy, shifrlanmagan veb-trafik)
Apache Full : Bu profil 80-portni (oddiy, shifrlanmagan veb-trafik) va 443-portni (TLS/SSL shifrlangan trafik) ochadi.
Apache Secure : Bu profil faqat 443-portni ochadi (TLS/SSL shifrlangan trafik)
Siz sozlagan trafikka ruxsat beradigan eng cheklovchi profilni yoqish tavsiya etiladi. Ushbu qo'llanmada hali serverimiz uchun SSL-ni sozlamaganimiz uchun biz faqat 80-portda trafikka ruxsat berishimiz kerak:
$ sudo ufw allow 'Apache'O'zgarishlarni quyidagi so'zlarni kiritish orqali tasdiqlashingiz mumkin:
$ sudo ufw statusChiqish ruxsat etilgan HTTP trafigining ro'yxatini beradi:
OutputStatus: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)
Natijada ko'rsatilgandek, profil Apache veb-serveriga kirishga ruxsat berish uchun faollashtirilgan.
3-qadam - Veb-serveringizni tekshirish
O'rnatish jarayoni oxirida Ubuntu 20.04 Apache-ni ishga tushiradi. Veb-server allaqachon ishlayotgan bo'lishi kerak.
systemdXizmat ishlayotganiga ishonch hosil qilish uchun init tizimi bilan tekshiring :
$ sudo systemctl status apache2Outputβ apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-04-23 22:36:30 UTC; 20h ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 29435 (apache2) Tasks: 55 (limit: 1137) Memory: 8.0M CGroup: /system.slice/apache2.service ββ29435 /usr/sbin/apache2 -k start ββ29437 /usr/sbin/apache2 -k start ββ29438 /usr/sbin/apache2 -k start
Ushbu chiqish bilan tasdiqlanganidek, xizmat muvaffaqiyatli boshlandi. Biroq, buni sinab ko'rishning eng yaxshi usuli bu Apache'dan sahifa so'rashdir.
Dasturiy ta'minot sizning IP manzilingiz orqali to'g'ri ishlayotganligini tasdiqlash uchun standart Apache ochilish sahifasiga kirishingiz mumkin. Agar siz serveringizning IP-manzilini bilmasangiz, uni buyruq satridan bir necha xil usullar bilan olishingiz mumkin.
Buni serveringizning buyruq satriga yozib ko'ring:
$ hostname -IBo'shliqlar bilan ajratilgan bir nechta manzillarni qaytarib olasiz. Ularning ishlashini aniqlash uchun har birini veb-brauzeringizda sinab ko'rishingiz mumkin.
Yana bir variant - Icanhazip vositasidan foydalanish, bu sizning umumiy IP-manzilingizni internetdagi boshqa joydan o'qilgandek berishi kerak:
$ curl -4 icanhazip.comServeringizning IP-manziliga ega bo'lsangiz, uni brauzeringizning manzil satriga kiriting:
http://your_servbasher_ipSiz standart Ubuntu 20.04 Apache veb-sahifasini ko'rishingiz kerak:

Ushbu sahifa Apache to'g'ri ishlayotganligini ko'rsatadi. Shuningdek, u muhim Apache fayllari va katalog manzillari haqida ba'zi asosiy ma'lumotlarni o'z ichiga oladi.
4-qadam - Apache jarayonini boshqarish
Endi veb-serveringiz ishlayotgan bo'lsa, keling, yordamida ba'zi asosiy boshqaruv buyruqlarini ko'rib chiqamiz systemctl.
Veb-serveringizni to'xtatish uchun quyidagilarni kiriting:
$ sudo systemctl stop apache2Veb-server to'xtatilganda uni ishga tushirish uchun quyidagilarni kiriting:
$ sudo systemctl start apache2Xizmatni to'xtatib, keyin yana ishga tushirish uchun quyidagilarni kiriting:
$ sudo systemctl restart apache2Agar siz shunchaki konfiguratsiyani o'zgartirayotgan bo'lsangiz, Apache ko'pincha ulanishlarni uzmasdan qayta yuklashi mumkin. Buning uchun ushbu buyruqdan foydalaning:
$ sudo systemctl reload apache2Odatiy bo'lib, Apache server ishga tushganda avtomatik ravishda ishga tushadigan qilib tuzilgan. Agar bu siz xohlagan narsa bo'lmasa, quyidagini kiritish orqali ushbu xatti-harakatni o'chirib qo'ying:
$ sudo systemctl disable apache2Xizmatni yuklashda ishga tushirish uchun qayta yoqish uchun quyidagilarni kiriting:
$ sudo systemctl enable apache2Endi server qayta ishga tushganda Apache avtomatik ravishda ishga tushishi kerak.
5-qadam β Virtual xostlarni sozlash (tavsiya etiladi)
Apache veb-serveridan foydalanganda, konfiguratsiya tafsilotlarini inkapsulyatsiya qilish va bitta serverdan bir nechta domenlarni joylashtirish uchun virtual xostlardan (Nginx-dagi server bloklariga o'xshash) foydalanishingiz mumkin. Biz your_domain nomli domenni o'rnatamiz , lekin siz uni o'zingizning domen nomingiz bilan almashtirishingiz kerak . Agar siz DigitalOcean bilan domen nomini o'rnatayotgan bo'lsangiz, bizning Tarmoq hujjatlariga qarang .
Ubuntu 20.04-dagi Apache-da sukut bo'yicha yoqilgan bitta server bloki mavjud bo'lib, u /var/www/htmlkatalogdagi hujjatlarga xizmat ko'rsatish uchun sozlangan. Bu bitta sayt uchun yaxshi ishlayotgan bo'lsa-da, agar siz bir nechta saytlarni joylashtirsangiz, u noqulay bo'lishi mumkin. ni o'zgartirish o'rniga, mijoz so'rovi boshqa saytlarga mos kelmasa, xizmat ko'rsatish uchun standart katalog sifatida o'rnida qoldirib , your_domain sayti uchun /var/www/htmlkatalog tuzilmasini yarataylik ./var/www/var/www/html
Domeningiz uchun quyidagi tarzda katalog yarating :
$ sudo mkdir /var/www/your_domain$USERKeyin, atrof- muhit o'zgaruvchisi bilan katalogga egalik huquqini tayinlang :
$ sudo chown -R $USER:$USER /var/www/your_domainAgar siz standart fayl ruxsatlarini o'rnatadigan umask qiymatini o'zgartirmagan bo'lsangiz, veb-ildizlaringizning ruxsatlari to'g'ri bo'lishi kerak. Ruxsatlaringiz to'g'ri ekanligiga ishonch hosil qilish va egasiga fayllarni o'qish, yozish va bajarishga ruxsat berish va guruhlarga va boshqalarga faqat o'qish va bajarish uchun ruxsat berish uchun siz quyidagi buyruqni kiritishingiz mumkin:
$ sudo chmod -R 755 /var/www/your_domainKeyin, yoki sevimli muharriringiz yordamida namuna index.htmlsahifasini yarating:nano
$ sudo nano /var/www/your_domain/index.htmlIchkarida quyidagi HTML namunasini qo'shing:
<html>
<head>
<title>Welcome to Your_domain!</title>
</head>
<body>
<h1>Success! The your_domain virtual host is working!</h1>
</body>
</html>ish tugagach, faylni saqlang va yoping.
Apache ushbu tarkibga xizmat qilishi uchun to'g'ri ko'rsatmalarga ega virtual xost faylini yaratish kerak. To'g'ridan-to'g'ri manzilda joylashgan standart konfiguratsiya faylini o'zgartirish o'rniga, quyidagi manzilda /etc/apache2/sites-available/000-default.confyangisini yarataylik :/etc/apache2/sites-available/your_domain.conf
$ sudo nano /etc/apache2/sites-available/your_domain.confStandartga o'xshash, ammo yangi katalog va domen nomimiz uchun yangilangan quyidagi konfiguratsiya blokiga joylashtiring:
$ <VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>EΚΌtibor bering, biz DocumentRootyangi katalogimizga va sizning_domen saytingiz administratori kirishi mumkin ServerAdminboΚ»lgan elektron pochta manziliga yangiladik. Shuningdek, biz ikkita direktivani qo'shdik: , bu virtual xost ta'rifiga mos keladigan asosiy domenni o'rnatadi va , xuddi asosiy nomga mos keladigan boshqa nomlarni belgilaydi.ServerNameServerAlias
Ish tugagach, faylni saqlang va yoping.
Faylni a2ensiteasbob bilan faollashtiramiz:
$ sudo a2ensite your_domain.confQuyidagida belgilangan standart saytni o'chirib qo'ying 000-default.conf:
$ sudo a2dissite 000-default.confKeyinchalik, konfiguratsiya xatolarini tekshiramiz:
$ sudo apache2ctl configtestSiz quyidagi chiqishni olishingiz kerak:
Output Syntax OK
O'zgartirishlaringizni amalga oshirish uchun Apache-ni qayta ishga tushiring:
$ sudo systemctl restart apache2Apache endi sizning domen nomingizga xizmat qilishi kerak. ga o'tish orqali buni sinab ko'rishingiz mumkin , bu erda siz shunga o'xshash narsani ko'rishingiz kerak:http://your_domain

6-qadam β Muhim Apache fayllari va kataloglari bilan tanishish
Endi siz Apache xizmatini qanday boshqarishni bilasiz, bir necha muhim katalog va fayllar bilan tanishish uchun bir necha daqiqa vaqt ajratishingiz kerak.
Tarkib
/var/www/html: Haqiqiy veb-kontent, sukut bo'yicha faqat siz ilgari ko'rgan standart Apache sahifasidan iborat bo'lib,/var/www/htmlkatalogdan tashqarida taqdim etiladi. Buni Apache konfiguratsiya fayllarini o'zgartirish orqali o'zgartirish mumkin.
Server konfiguratsiyasi
/etc/apache2: Apache konfiguratsiya katalogi. Barcha Apache konfiguratsiya fayllari shu yerda joylashgan./etc/apache2/apache2.conf: Asosiy Apache konfiguratsiya fayli. Bu Apache global konfiguratsiyasiga o'zgartirish kiritish uchun o'zgartirilishi mumkin. Ushbu fayl konfiguratsiya katalogidagi ko'plab boshqa fayllarni yuklash uchun javobgardir./etc/apache2/ports.conf: Bu fayl Apache tinglaydigan portlarni belgilaydi. Odatiy bo'lib, Apache 80-portni tinglaydi va SSL imkoniyatlarini ta'minlovchi modul yoqilganda qo'shimcha ravishda 443-portni tinglaydi./etc/apache2/sites-available/: Har bir sayt uchun virtual xostlar saqlanishi mumkin bo'lgan katalog. Apache ushbu katalogda joylashgan konfiguratsiya fayllarini katalogga ulanmagan holda ishlatmaydisites-enabled. Odatda, server blokining barcha konfiguratsiyasi ushbu katalogda amalga oshiriladi va keyina2ensitebuyruq bilan boshqa katalogga ulanish orqali yoqiladi./etc/apache2/sites-enabled/: Har bir sayt uchun yoqilgan virtual xostlar saqlanadigan katalog.sites-availableOdatda, ular katalogda joylashgan konfiguratsiya fayllariga ulanish orqali yaratiladia2ensite. Apache to'liq konfiguratsiyani kompilyatsiya qilish uchun ishga tushirilganda yoki qayta yuklanganda ushbu katalogdagi konfiguratsiya fayllari va havolalarini o'qiydi./etc/apache2/conf-available/, : Bu kataloglar va kataloglari/etc/apache2/conf-enabled/bilan bir xil munosabatga ega , lekin virtual xostga tegishli bo'lmagan konfiguratsiya fragmentlarini saqlash uchun ishlatiladi. Katalogdagi fayllar buyruq bilan yoqilishi va buyruq bilan o'chirilishi mumkin .sites-availablesites-enabledconf-availablea2enconfa2disconf/etc/apache2/mods-available/,/etc/apache2/mods-enabled/: Bu kataloglarda mos ravishda mavjud va yoqilgan modullar mavjud. Shu bilan tugaydigan.loadfayllar ma'lum modullarni yuklash uchun fragmentlarni o'z ichiga oladi, shu bilan tugaydigan fayllar esa.confushbu modullar uchun konfiguratsiyani o'z ichiga oladi.a2enmodModullarni vaa2dismodbuyrug'i yordamida yoqish va o'chirish mumkin .
Server jurnallari
/var/log/apache2/access.log: Odatiy bo'lib, veb-serveringizga bo'lgan har bir so'rov, agar Apache boshqacha qilish uchun sozlanmagan bo'lsa, ushbu jurnal faylida qayd etiladi./var/log/apache2/error.log: Odatiy bo'lib, barcha xatolar ushbu faylda qayd etiladi.LogLevelApache konfiguratsiyasidagi direktiv xato jurnallari qancha tafsilotlarni o'z ichiga olishini belgilaydi .
Xulosa
Endi veb-serveringiz o'rnatilgan bo'lsa, sizda xizmat ko'rsatishingiz mumkin bo'lgan kontent turi va yanada boyroq tajriba yaratish uchun foydalanishingiz mumkin bo'lgan texnologiyalar uchun ko'plab variantlar mavjud.
Last updated
Was this helpful?
