Apache директиви, Директивата за базова конфигурация на Apache

Пътят към HTTP-сървър изпълними файлове Apache.

Тази директива httpd.conf посочва директорията, която съдържа HTML код и др файлове на едно място. В случай на необходимост да подкрепи две или повече сайтове с една единствена Apache сървъра, трябва да използвате контейнера за директива . Ако използвате виртуални хостове за задаването на права за достъп указатели, посочени в "DocumentRoot" на линията не трябва да се забравя, тъй като на страниците на директорията ще се показва на потребителите, домейн vvevshim не propisaniem в VirtualHost.







Директиви, изброени в контейнер Directory ще засегнат всички файлове и папки, посочена директория. Път до директорията, посочи веднага след думата Directory, като: блок от код


. Директива.

регулира поведението на посочената директория. Вместо в директорията, трябва да използвате регулярни изрази.

Опции директива определя кои сървърни функции са достъпни в определена директория.
  • Всичко - позволява на всички възможности, с изключение на MultiViews (инсталиран по подразбиране).
  • Няма - всички варианти са забранени.
  • ExecCGI - могат да се показват CGI скриптове.
  • FollowSymLinks - Сървърът ще проследява символните тази директория.
  • Включва - SSI (сървър-Site Включва) поддръжка.
  • IncludesNOEXEC - SSI е позволено, но #exec на екип и #include в замразяването на CGI-скриптове.
  • Индекси - ако исканата URL мачове директория, в която няма нищо, съответстващо отпечатан каталог DirectoryIndex (например index.htm), а след това сървърът ще върне списък на всички файлове и директории на директории.
  • MultiViews - право на съдържание договаряне MultiViews.
  • SymLinksIfOwnerMatch - сървърът ще следват само символни връзки, за които съответния файл или директория е със същия потребителски идентификатор, както е връзката.

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

Пример №1 - наследството на опции:


Опции индекси FollowSymLinks


Опции Включва

В този пример, директорията C: / WWW и всички нейни поддиректории, с изключение на C: / WWW / otherdir, възложени "индекси" и "FollowSymLinks". Но поддиректория C: / WWW / otherdir и всички нейни поддиректории са разпределени само опция "Включва".

Използване на символите "+" и "-", за да добавяте или премахвате всяка възможност за поддиректорията.

Пример №2 - наследяване възможности:


Опции индекси FollowSymLinks


Опции + Включва -Indexes

В този случай, в директорията C: / WWW / otherdir ще има опции "FollowSymLinks" (добавено в директорията майка), и "включва" - се добавя чрез знака "+". Опцията "Индекси" отстранени от директорията C: / WWW / otherdir със символ "-".

AllowOverride опция показва, Apache, който директиви в .htaccess е позволено (на името на файл ".htaccess", или всяка друга дефинирани директива AccessFileName).
  • Всички - всички налични директиви (по подразбиране).
  • Няма - не .htaccess обработени.
  • AuthConfig - позволява използването на директиви разрешително (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, изисква и т.н ..).
  • FileInfo - позволява използването на директивите контролиращи видове документи (AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority и т.н ..).
  • Индекси - приема derektiv управление индексиране на стоките (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName и т.н ..).
  • Limit - позволява използването на директиви контролират достъпа гостоприемник (позволи отрече, и ред).
  • Опции [= Опция. ] - позволява използването на директивите, които контролират дадена директория функции (Опции и XBitHack).






С цел постигането на максимална ефективност и безопасност на главния Apache HTTP сървър директория "/", каза контейнер , трябва да показва стойност, равна на AllowOverride Няма: AllowOverride Няма.

Директивата за Поръчка контролира състоянието за достъп по подразбиране и реда, по който се разрешава или забранява достъпа. Поръчка може да отнеме 3 стойности:
  • Позволете, Deny - е отказан достъп по подразбиране, с изключение на домакините, посочени в ред след Оставя се от.
  • Deny, Allow - е разрешено достъп по подразбиране, с изключение на домакините, посочени в ред след Deny от
  • Взаимно-недостатъчност - позволява достъп само до тези домакини, които се намират в Допускане и лишена от Deny.

Позволете стойности са най-често използваните, Deny и Deny, Allow. Стойността по подразбиране зададете последната дума (разрешите или забраните). Между думи Allow и Deny директива Поръчка трябва да бъде само със запетая, без интервали.

В Примери №1-3 пропуска отваряне и затваряне на контейнера за кратко, когато конфигурирате Apache те са задължителни.

Пример №1 на първа линия на "Ред Deny, Allow" задава реда на четене на правата за достъп: за първи път прочетох всички права, които забраняват нищо (. Deny от), И само след разрешаване на правото (Оставя се от). Настройката по подразбиране е Позволи. Вторият ред "Deny от всички" откаже достъп до всички хостове на всички домейни. Третият "Allow от apache.org", позволява достъп до apache.org домейн.

Пример №1 прехвърляне на права за достъп

Поръчка Deny, Allow
Отказ от всичко
Оставя се от apache.org

Пример №1, по-горе, се допуска достъп на всички страници / apache.org домейни файлове, всички други ресурси от други домейни отказан достъп.

Следващият пример №2, само предоставя достъп до областта apache.org освен поддомейн foo.apache.org (Deny от foo.apache.org). Всички други области няма да бъдат достъпни.

Пример №2 прехвърляне на права за достъп

Поръчка Allow, Deny
Оставя се от apache.org
Отказ от foo.apache.org

Пример №3 №2 се различава само от стойността на поръчката: "Deny, Allow", вместо "Разрешаване Deny". Но логиката на Apache разрешения на климата, на пръв поглед, не съвсем да се очаква. Достъпът ще бъде напълно отворен за всички области, дори и да foo.apache.org поддомейн, изрично забранено линия "Deny от foo.apache.org". Това е така, защото от порядъка на линиите "Allow от." И "Отказ от". Няма значение. Процедурата за определяне на правилата, определени с Директива Поръчка, от които Apache izhodya първо отказва достъп на foo.apache.org, а след това се записва върху това правило izhodya на директивата "Allow от apache.org".

Пример №3 прехвърляне на права за достъп

Поръчка Deny, Allow
Оставя се от apache.org
Отказ от foo.apache.org

Пример №4 забранява достъп до директорията C: / WWW подразбиране, дори и без използването на "Deny от." Line.

Пример №4 прехвърляне на права за достъп


Поръчка Allow, Deny

За повече информация относно директиви Alow, Deny и ред може да се получи от официалния Apache2.2 на документация (инж).

контейнер . Той се използва за обработка на различни сайтове Apache сървър. Всички директиви, записани в различни виртуални контейнер се отнасят само за един сайт. Един сайт (колекция от файлове и директории) могат да бъдат достъпни от един или повече домейн (и) или IP.

Във всеки контейнер VirtualHost, можете да използвате почти всяка директива Apache, който ви позволява да изберете всеки сайт е най-подробен начин.

Пример поддръжка 2-различни места един от Apache


ServerName first.loc
Serveralias www.first.loc
DocumentRoot "C: /www/first.loc/public"
ErrorLog "C: /www/first.loc/logs/error.log"


ServerName second.loc
Serveralias www.second.loc
DocumentRoot "C: /www/second.loc/public"
ErrorLog "C: /www/second.loc/public"

За повече информация за виртуални хостове от Apache, можете да прочетете тук: "Официалната документация Apache на Virtual Host".