ServerRoot Ścieżka do plików wykonywalnych serwera HTTP Apache. Listen Ustawia port i adres IP, „nasłuchiwany” przez Apache. Domyślnie wszystkie przeglądarki próbują nawiązać połączenie HTTP z serwerem Apache przez port 80. Jeśli ustawimy inny numer portu, na przykład 9031, aby otworzyć stronę w przeglądarce, po adresie strony należy dodatkowo podać port, oddzielony dwukropkiem, na przykład: http://localhost:9031. Ponadto w tej dyrektywie można wskazać jeden adres IP, który będzie obsługiwany przez Apache (na przykład Listen 192.168.0.10:80), jeśli komputer posiada dwa lub więcej adresów IP. DocumentRoot Dyrektywa ta w pliku httpd.conf określa katalog, w którym znajdują się pliki html i inne pliki jednej strony internetowej. W przypadku konieczności obsługi dwóch lub więcej stron przez jeden serwer Apache należy użyć dyrektywy-kontenera <VirtualHost></VirtualHost>. Przy korzystaniu z wirtualnych hostów nie należy zapominać o konfiguracji uprawnień dostępu do katalogu wskazanego w linii „DocumentRoot”, ponieważ strony z tego katalogu będą wyświetlane użytkownikom, którzy wpisali domenę niezdefiniowaną w VirtualHost. <Directory>
...
</Directory>
kod konfiguruje zachowanie wskazanego katalogu. Zamiast nazwy katalogu można użyć wyrażeń regularnych. Options Dyrektywa Options określa, jakie funkcje serwera są dostępne w danym katalogu.
- All – dozwolone są wszystkie opcje, z wyjątkiem MultiViews (ustawiane domyślnie).
- None – wszystkie opcje są zabronione.
- ExecCGI – dozwolone jest wykonywanie skryptów CGI.
- FollowSymLinks – serwer będzie podążał za dowiązaniami symbolicznymi w tym katalogu.
- Includes – dozwolone jest SSI (Server-Side Includes).
- IncludesNOEXEC – SSI jest dozwolone, ale polecenia #exec i #include w skryptach CGI są zablokowane.
- Indexes – jeśli żądany URL odpowiada katalogowi, a w tym katalogu nie ma nic odpowiadającego DirectoryIndex (na przykład Index.htm), serwer zwróci listę wszystkich plików i katalogów.
- MultiViews – dozwolone jest negocjowanie treści (MultiViews).
- SymLinksIfOwnerMatch – serwer będzie podążał tylko za tymi dowiązaniami symbolicznymi, dla których plik docelowy lub katalog mają ten sam identyfikator użytkownika, co samo dowiązanie.
<Directory "c:/www/otherdir">
Options Includes
</Directory>
W tym przykładzie do katalogu c:/www i wszystkich jego podkatalogów, z wyjątkiem c:/www/otherdir, przypisane są opcje „Indexes” i „FollowSymLinks”. Podkatalog c:/www/otherdir i wszystkie jego podkatalogi mają natomiast przypisaną tylko opcję „Includes”.
<Directory "c:/www/otherdir">
Options +Includes -Indexes
</Directory>
W tym przypadku katalog c:/www/otherdir będzie posiadał opcje "FollowSymLinks" (dodaną dla katalogu nadrzędnego) oraz "Includes" – dodaną za pomocą znaku "+". Opcja "Indexes" została usunięta z katalogu c:/www/otherdir za pomocą znaku "-". AllowOverrideOpcja AllowOverride wskazuje Apache’owi, które dyrektywy w pliku .htaccess są dozwolone (nazwa pliku ".htaccess" lub dowolna inna jest określana przez dyrektywę AccessFileName).
- All – dostępne są wszystkie dyrektywy (używane domyślnie).
- None – plik .htaccess nie jest przetwarzany.
- AuthConfig – dopuszcza użycie dyrektyw dotyczących autoryzacji (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, require itp.).
- FileInfo – dopuszcza użycie dyrektyw zarządzających typami dokumentów (AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority itp.).
- Indexes – dopuszcza użycie dyrektyw zarządzających indeksowaniem katalogu (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName itp.).
- Limit – dopuszcza użycie podstawowych dyrektyw zarządzających dostępem (allow, deny i order).
- Options[=Option,...] – dopuszcza użycie dyrektyw zarządzających specyficznymi cechami katalogu (Options i XBitHack).
Order Dyrektywa Order zarządza domyślnym stanem dostępu oraz kolejnością, w której dostęp jest przyznawany lub odmawiany. Order może przyjmować 3 wartości:
- Allow,Deny – dostęp domyślnie jest zabroniony, z wyjątkiem hostów wymienionych w linii po Allow from.
- Deny,Allow – dostęp domyślnie jest dozwolony, z wyjątkiem hostów wymienionych w linii po Deny from.
- Mutual-failure – dostęp jest przyznawany tylko tym hostom, które znajdują się na liście Allow i nie ma ich na liście Deny.
Dodatkowe informacje na temat dyrektyw Allow, Deny i Order można uzyskać z oficjalnej dokumentacji Apache2.2 (ang.). <VirtualHost>
...
</VirtualHost>
<VirtualHost *:80>
ServerName second.loc
ServerAlias www.second.loc
DocumentRoot "c:/www/second.loc/public"
ErrorLog "c:/www/second.loc/public"
</VirtualHost>
