• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. Как да конфигурирате уеб сървъра Apache на Ubuntu или Debian ...

Как да конфигурирате уеб сървъра Apache на Ubuntu или Debian ...

Rsdaa 21/12/2021 1789

Какво е Apache?

Apache е най-популярният уеб сървър в интернет. Той се използва за обслужване на повече от половината от всички активни уебсайтове.

Въпреки че има много жизнеспособни уеб сървъри, които ще обслужват вашето съдържание, е полезно да разберете как работи Apache поради неговата повсеместност.

В тази статия ще разгледаме някои общи конфигурационни файлове и опции, които могат да се контролират в тях. Тази статия ще следва оформлението на Ubuntu/Debian на Apache файловете, което е различно от начина, по който другите дистрибуции изграждат конфигурационната йерархия.

Как да инсталирате Apache на Ubuntu и Debian

Ако все още нямате инсталиран Apache, можете да го направите сега, като издадете следните команди:

sudo apt-get updatesudo apt-get install apache2

Това е всичко, което е необходимо, за да имате работещ уеб сървър. Ако посетите IP адреса на вашия VPS в уеб браузър, ще получите индексната страница на Apache по подразбиране:

your_domain_name_or_ip_address Работи! Това е уеб страницата по подразбиране за този сървър. Софтуерът на уеб сървъра работи, но все още не е добавено съдържание.

Файловата йерархия на Apache в Ubuntu и Debian

В Ubuntu и Debian , Apache съхранява основните си конфигурационни файлове в папката "/etc/apache2":

cd /etc/apache2ls -Fapache2.confenvvars magicmods-enabled/sites-available/conf.d/ httpd.confmods-available/ports.conf sites-enabled/

Има редица обикновени текстови файлове и някои поддиректории в тази директория. Това са някои от по-полезните местоположения, с които трябва да се запознаете:

apache2.conf: Това е основният конфигурационен файл за сървъра. Почти цялата конфигурация може да се направи от този файл, въпреки че се препоръчва използването на отделни, определени файлове за простота. Този файл ще конфигурира настройките по подразбиране и ще бъде централната точка за достъп за сървъра да чете подробности за конфигурацията.ports.conf: Този файл се използва за указване на портовете, които виртуалните хостове трябва да слушат. Не забравяйте да проверите дали този файл е правилен, ако конфигурирате SSL.conf.d/: Тази директория е използва се за контролиране на специфични аспекти на конфигурацията на Apache. Например, често се използва за дефиниране на SSL конфигурация и избор на защита по подразбиране.sites-available/: Тази директория съдържа всички виртуални хост файлове, които дефинират различни уеб сайтове. Те ще установят кои съдържанието се обслужва за кои заявки. Това са налични конфигурации, а не активни конфигурации. sites-enabled/: Тази директория установява кои дефиниции на виртуален хост действително се използват. Обикновено тази директория се състои от символни връзки към файлове, дефинирани в „sites-available " directory.mods-[enabled,available]/: Тези директории са подобни по функция на директориите на сайтовете, но дефинират модули, които могат да бъдат заредени по избор вместо това.

Както можете да видите, конфигурацията на Apache не се извършва в единичен монолитен файл, но вместо това се случва чрез модулен дизайн, където нови файлове могат да се добавят и модифицират според нуждите.

Разглеждане на файла Apache2.conf

Основните подробности за конфигурацията на вашия сървър Apache се съхраняват във файла "/etc/apache2/apache2.conf".

Този файл е разделен на три основни секции: конфигурация за глобалния сървърен процес на Apache, конфигурация за сървъра по подразбиране и конфигурация на виртуални хостове.

В Ubuntu и Debian по-голямата част от файла е за глобални дефиниции, а конфигурацията на сървъра по подразбиране и виртуалните хостове се обработва в края, като се използва директивата "Включи ...".

Директивата "Include" позволява на Apache да чете други конфигурационни файлове в текущия файл на мястото, където се появява изразът. Резултатът е, че Apache динамично генерира общ конфигурационен файл при стартиране.

Ако превъртите до долната част на файла, има няколко различни оператора „Включване“. Те зареждат дефиниции на модули, документа ports.conf, конкретните конфигурационни файлове в директорията „conf.d/“ и накрая дефинициите на виртуалния хост в директорията "sites-enabled/".

Ще се съсредоточим върху първата част от файла, за да научим как Apache дефинира своите глобални настройки.

Секция за глобална конфигурация

Този раздел се използва за конфигуриране на някои опции, които контролират как Apache работи като цяло.

Има някои интересни опции, които може да искате да промените в този раздел:

Изчакване

По подразбиране този параметър е зададен на „300“, което означава, че сървърът разполага с максимум 300 секунди, за да изпълни всяка заявка.

Това вероятно е твърде високо за повечето настройки и може безопасно да бъде намалено до нещо между 30 и 60 секунди.

KeepAlive

Тази опция, ако е зададена на „Вкл.“, ще позволи на всяка връзка да остане отворена, за да обработва множество заявки от един и същи клиент.

Ако това е зададено на „Изключено“, всяка заявка ще трябва да установи нова връзка, което може да доведе до значителни разходи в зависимост от вашата настройка и трафик ситуация.

MaxKeepAliveRequests

Това контролира колко отделни заявки ще обработи всяка връзка, преди да изчезне. Поддържането на това число високо ще позволи на Apache да предоставя съдържание на всеки клиент по-ефективно.

Задаването на тази стойност на 0 ще позволи на Apache да обслужва неограничен брой заявки за всяка връзка.

KeepAliveTimeout

Тази настройка указва колко дълго да се чака следващата заявка след завършване на последната. Ако прагът за изчакване бъде достигнат, връзката ще прекъсне.

Това просто означава, че следващия път, когато бъде поискано съдържание, сървърът ще установи нова връзка, за да обработи заявката за съдържанието, което съставлява страницата, която клиентът посещава.

Конфигурация на MPM

Следващият раздел определя конфигурацията на опциите на MPM (Мулти-процесорен модул). Можете да направите кръстосана препратка с кой раздел е компилирана вашата инсталация на Apache, като излезете от терминала и напишете:

apache2 -lКомпилиран в модули:core.cmod_log_config.cmod_logio.cprefork.chttp_core.cmod_so.c

Както можете да видите, в този сървър "prefork.c" е модул, който е компилиран в и също е в "apache2 .conf" файл. Вашата инсталация може да има няколко за избор, но само един може да бъде избран.

Можете да коригирате конфигурацията на prefork MPM в съответния раздел.

Изследване на файла за виртуален хост по подразбиране

Декларацията за виртуален хост по подразбиране може да бъде намерена във файл, наречен "default" в директорията "sites-available".

Можем да научим за общия формат на файл с виртуален хост, като разгледаме този файл. Отворете файла със следната команда:

sudo nano /etc/apache2/sites-available/defaultServerAdmin webmaster@localhostDocumentRoot /var/wwwOptions FollowSymLinksAllowOverride NoneOptions Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder enable,denyallow от всички. . .

Виртуалният хост по подразбиране е конфигуриран да обработва всяка заявка на порт 80, стандартния http порт. Това е дефинирано в заглавката на декларацията, където се казва "*:80", което означава порт 80 на всеки интерфейс.

Това обаче не означава, че непременно ще обработва всяка заявка към сървъра на този порт. Apache използва най-специфичната дефиниция на виртуален хост, която съответства на заявката. Това означава, че ако имаше по-конкретна дефиниция, тя можеше да замести тази определение.

Конфигурация от най-високо ниво на виртуален хост

Тези опции са зададени в дефиницията на виртуален хост извън всяка друга поддекларация на по-ниско ниво. Те се прилагат за целия виртуален хост.

Опцията „Администратор на сървъра“ указва имейл за връзка, който трябва да се използва при проблеми със сървъра.

Това може да бъде вмъкнато в страница за грешка, ако сте задали „ServerSignature“ на „Email“ във файла „/etc/apache2/conf.d/security“, така че се уверете, че желаете да получите имейла, ако коригирайте тази настройка.

Ако използвахме това като шаблон за други дефиниции на виртуален хост, бихме искали да добавим дефиниция „Име на сървър“, която указва името на домейна или IP адреса, които тази заявка трябва да обработва. Това е опцията, която би добавила специфичност към виртуалния хост, което му позволява да надмине дефиницията по подразбиране, ако съвпада със стойността ServerName.

Можете също така да накарате виртуалния хост да се прилага за повече от едно име, като използвате дефиницията „ServerAlias“. Това осигурява алтернативни пътища за достигане до същото съдържание. Добър случай за използване за това е добавянето на същия домейн, предшестван от „www“.

Опцията „DocumentRoot“ указва къде ще бъде разположено съдържанието, което се изисква за този виртуален хост. Виртуалният хост по подразбиране е настроен да обслужва съдържание извън директорията „/var/www“ на Ubuntu.

Дефиниции на директории

В рамките на дефиницията на виртуален хост има дефиниции за това как сървърът обработва различни директории във файловата система. Apache ще приложи всички тези указания в ред от най-кратката към най-дългата, така че има отново шанс да отмените предишните опции.

Първата дефиниция на директория прилага правила за "/" или основната директория. Това ще осигури основната конфигурация за вашия виртуален хост, тъй като се прилага за всички файлове, обслужвани във файловата система.

По подразбиране Ubuntu не задава никакви ограничения за достъп до файловата система. Apache препоръчва да добавите някои ограничения за достъп по подразбиране. Можете да промените това по следния начин:

Опции FollowSymLinksAllowOverride NoneOrder Deny,AllowDeny from All

Това ще откаже достъп до цялото съдържание, освен ако не е указано друго в следващите дефиниции на директория.

Следващата дефиниция на директория е за корена на документа, така че указва опцията „разреши от всички“, която отменя опцията „/“ за тази директория.

Опцията „AllowOverride“ се използва, за да реши дали файл „.htaccess“ може да замени настройките, ако е поставен в директорията със съдържание. Това не е разрешено по подразбиране, но може да бъде полезно да се активира при различни обстоятелства.

Изявления за псевдоним и ScriptAlias

Дефинициите на директория понякога се предшестват от инструкции за „Псевдоним“ или „Псевдоним на скрипт“. Псевдонимът преобразува url път към път на директория.

ScriptAlias ​​работи по същия начин, но се използва за дефиниране на директории, в които ще има изпълними компоненти.

Например, този ред във виртуален хост, който обработва заявка към "example.com", ще позволи достъп до съдържание в рамките на "/path/to/content/" чрез навигиране до "example.com/content/":

Псевдоним /content/ /path/to/content/

Следвайки псевдонима, трябва да запомните да дефинирате директорията с привилегии за достъп, както беше обсъдено в предишния раздел.

Активиране на сайтове и модули в Apache

След като имате файл с виртуален хост, който отговаря на вашите изисквания, можете да използвате инструментите, включени в Apache, за да ги прехвърлите в активни сайтове.

За автоматично създаване на символна връзка в директорията "sites-enabled" към съществуващ файл в директорията "sites-available", изпълнете следната команда:

sudo a2ensite virtual_host_file_name

След активиране на сайт, издайте следната команда, за да кажете на Apache да прочете отново конфигурационните си файлове, позволявайки на промяната да се разпространява:

sudo service apache2 reload

Има и придружаваща команда за деактивиране на виртуален хост. Тя работи чрез премахване на символната връзка от директорията "sites-enabled":

sudo a2dissite virtual_host_file_name

Отново презаредете конфигурацията, за да се случи промяната:

sudo service apache2 reload

Модулите могат да бъдат активирани или деактивирани, като се използват съответно командите "a2enmod" и "a2dismod". Те работят по същия начин като версиите на "сайт" на тези команди.

Не забравяйте да презаредите промените в конфигурацията си, след като модулите бъдат активирани или деактивирани.

Заключение

Прегледахме някои основни конфигурационни файлове на Apache. Apache е многофункционален и много модулен, така че нуждите от конфигурация ще бъдат различни в зависимост от вашата настройка.

Трябва да разбирате добре за какво се използват основните конфигурационни файлове и как взаимодействат помежду си. Ако трябва да знаете за конкретни опции за конфигуриране, предоставените файлове са добре коментирани и Apache предоставя отлична документация.

Надяваме се, че сега конфигурационните файлове няма да са толкова плашещи и ще се чувствате по-удобно да експериментирате и модифицирате, за да отговарят на вашите нужди.

От Джъстин Елингууд


PREV: Отстраняване на проблеми на DHCP сървъра | Microsoft Docs

NEXT: „Не мога да се свържа с вашия DHCP сървър“ *Решение* – Xbox One

Popular Articles

Hot Articles

Navigation Lists

Back to Top