AccessConfig conf/access.confSerwer czyta ten plik aby uzyskać więcej wskazówek co do ustawień ale po przeczytaniu pliku ResourceConfig . Nazwa_pliku jest taka jak w ustawieniu ServerRoot. Opcje tą możemy wyłączyć używając:
AccessConfig /dev/null
Historycznie, ten plik zawierał się w sekcji
<Directory>; faktycznie może on zwierać teraz dowolną
dyrektywę dozwoloną w server config (w pliku konfiguracyjnym serwera).
AccessFileName .htaccessKiedy serwer przesyła dokument dla klienta szuka pliku z określonymi prawami dostępu z nazwą dokumentu w każdym katalogu podanym w scieżce dostępu do tego dokumentu, jeżeli pliki z prawami dostępu są w danym katalogu. Na przykład:
AccessFileName .acl
przed odesłaniem dokumentu /usr/local/web/index.html, do klienta serwer przeczyta
/.acl, /usr/.acl, /usr/local/.acl i /usr/local/web/.acl aby sprawdzić co ma dalej
zrobić z tym dokumentem, chyba, że funkcja ta będzie wyłączona poleceniem
<Directory />
AllowOverride None
</Directory>Server może posiadać skompilowane moduły, które nie są aktywne. Ta opcja może być użyta do załączenia tych modułów. Serwer rozprowadzany jest z listą załadowanych aktywnych modułów. Lista ta może być wyczyszczona poprzez opcję ClearModuleList .
AllowOverride AllKiedy serwer odnajdzie pliki .htaccess (określone w AccessFileName) musi wiedzieć, które dyrektywy zadeklarowane w tym pliku mogą unieważnić wcześniej podane informacje o dostępie.
Override może być ustawiony jako None, w typ przypadku serwer nie będzie
czytał pliku, All w typ przypadku serwer zezwoli na wszystkie dyrektywy (opcje)
lub jedną albo ktorąś z niżej podanych:
Dyrektywa ta ustawia nazwę dziedziny autoryzacji dla katalogu. Dziedzina przesyłana jest do klienta i stąd użytkownik wie na jaki login i hasło musi się zalogować. Musi być to skoordynowane z ustawieniami AuthType, dyrektyw require i dyrektywami takimi jak AuthUserFile i AuthGroupFile ażeby działało.
Dyrektywa ta wybiera typ autoryzacji użytkownika, który ma mieć dostęp do katalogu.
Tylko Basic jest aktualnie zaimplementowany.
Musi być to skoordynowane z ustawieniami
AuthType, dyrektyw
require i dyrektywami takimi jak
AuthUserFile i
AuthGroupFile ażeby działało.
BindAddress *A Unix(R) http serwer może nasłuchiwać żądań połączeń dla każdego adresu IP danej maszyny lub tylko dla jednego adresu IP Saddr może być
Jeżeli przyjmuje wartość * , wtedy serwer nasłuchuje żądań połączeń dla wszystkich adresów IP, w innym przypadku nasłuchuje tylko dla określonego IP.Ta opcja może być użyta jako alternatywna metoda do obsługi virtual hosts (wirtualnych hostów) zamiast sekcji <VirtualHost>.
Zobacz również:
kwestie DNS
Zobacz również:
Ustawianie adresów i portów z których korzysta Apache
Serwer rozprowadzany jest z listą załadowanych aktywnych modułów. Dyrektywa ta czyści tą listę. Oczywiście zakładając, że następnie lista będzie odnowiona poprzez dyrektywę AddModule.
DefaultType text/htmlCzasami bywa tak, że serwer pytany jest o typ przesyłanego dokumentu a dokument ten nie może być określony poprzez typy MIME.
Serwer musi poinformować klienta o typie dokumentu i jeżeli typ jest nieznany
sewer używa domyślnego typu DefaultType.
Na przykład:
DefaultType image/gif
mógłby być stosowny dla katalogu, który zawiera wiele gif'ów ale w nazwach
nie mają rozszerzenia .gif.<Directory> i </Directory> jest używane do zawaracia w jednej grupie dyrektyw, które będa miały zastosowanie do katalogów i podkatalogów danego katalogu. Jakakolwiek dyrektywa która jest zawarta w kontekście może być użyta. Directory spełnia również rolę ścieżki dostępu do katalogu albo jest ciągiem wild-card. W ciągu wild-card, '?' oznacza pojedyńczy znak a '*' oznacza dowolny ciąg znaków. Na przykład:
<Directory /usr/local/httpd/htdocs> Options Indexes FollowSymLinks </Directory>
Apache 1.2 i nowsze:
Rozszerzone wyrażenia mogą być użyte z dodatkowym znakiem ~. Na przykład:
<Directory ~ "^/www/.*/[0-9]{3}">
oznacza katalogi w /www/ zawierające trzy cyfry.
Jeżeli wszelkie sekcje katalogów pasują do katalogu zawierającego dokument to dyrektywa wskazuje na najkrótszą pasującą nazwę katalogu i wczytuje dyrektywy z plików .htaccess. Na przykład:
<Directory />
AllowOverride None
</Directory>
<Directory /home/*>
AllowOverride FileInfo
</Directory>
kroki dostępu do dokumentu /home/web/dir/doc.html są następujące:
Uwaga domyślnie w Apache'u ustawiony jest dostęp do <Directory /> Allow from All (dla wszystkich). To oznacza, że Apache będzie przesyłal dowolny plik podany w URL'u. Zalecane jest, że zmienisz to ustawieinie poprzez
<Directory />
Order Deny,Allow
Deny from All
</Directory>
i unieważnisz to dla katalogu który chcesz usdostępnić. Zobacz stronę Security Tips po więcej szczegółów.
Sekcja katalogów standardowo występuje w pliku access.conf, ale może występować w dowolnym z plików konfiguracyjnych. Dyrektywa <Directory> nie może być umieszczona i nie może znajdować się w sekcji <Limit>.DocumentRoot
/usr/local/etc/httpd/htdocsDyrektywa ta ustawia katalog z którego httpd będzie pobierał (serwował) pliki. Jeżeli ustawienie nie pasuje do ustawionego np. Aliasu, serwer dołączy ścieżkę z URL'a do podanego dokumentu aby mógł mieć dostęp do dokumentu. Przykład:
DocumentRoot /usr/web
wówczas dostęp do http://www.my.host.com/index.html
kierowany jest do
/usr/web/index.html.
Są błędy w mod_dir które stwarzają problemy wówczas gdy DocumentRoot ma wstawiony slash na końcu ("DocumetRoot /usr/web/") także lepiej tego unikać.
W przypadku wystąpienia błędu, Apache może być skonfigurowany tak aby zrobił coś z niżej wymienionych punktów,
Pierwsza opcja jest ustawiona domyslnie, podczas gdy opcje 2-4 sa skonfigurowane
przy użyciu dyrektywy ErrorDocument.
Messages w tym kontekście zaczynają się zwykłym pojedyńczym cudzysłowem ("),
jeżeli nie wchodzą w treść informacji.
Apache czasami oferuje dodatkowe informacje odnośnie danego problemu/błędu.
URL'e mogą zaczynać sie od slash'a (/) dla lokalnych URL'i, lub moga być podane w pełnej formie. Przykład:
ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 404 /cgi-bin/bad_urls.pl
ErrorDocument 401 /subscription_info.html
ErrorDocument 403 "Sorry can't allow you access today
Kiedy wyszczególnisz ErrorDocument który prowadzi do odległego
URL'a (będziesz podawał adresy z "http" na początku) Apache będzie wysyłał przekierowanie
do klienta z informacją gdzie ma znaleźć dokument, nawet wtedy gdy dokument będzie
znajdował się na tym samym serwerze... To zawiera kilka implikacji, najważniejsza zaistnieje
jeżeli użyjesz dyrektywy "ErrorDocument 401" powinna ona odsyłac do istniejącego
lokalnego dokumentu.Rezultaty pochodzą w gruncie rzeczy z podstawowych własności protokołu HTTP.
Zobacz również: documentation of customizable responses.
ErrorLog logs/error_logDyrektywa error log ustawia nazwę pliku gdzie serwer będzie przechowywał informacje o błędach, o ile będą. Jeżeli nazwa pliku nie będzie poprzedzona slash'em (/) to automatycznie będzie to odpowiadało temu, że plik ten znajduje się w miejscu określonym przez dyrektywę ServerRoot. Na przykład:
ErrorLog /dev/null
Wyłącza zapisywanie błędów w logu.
ŚRODKI BEZPIECZEŃSTWA: Zajrzyj do security tips po więcej szczegółów na temat dlaczego Twój serwer jest narażony jeżeli prawa zapisu do katalogu gdzie przechowywane są logi mają inni użytkownicy aniżeli "użytkownik" który uruchomił serwer.
Dyrektywa <Files> pozwala na kontrolę dostepu poprzez nazwę pliku.
Jest ona porównywalna z dyrektywą <Directory> i
<Location>.
Dyrektywy które mają być zastosowane z dyrektywą <Files> powinny być zawarte
pomiędzy znacznikami <Files>
nazwa_pliku powinna zawierać nazwę pliku, lub łańcuch wild-card, gdzie `?' oznacza pojedyńczy
znak, a `*' oznacza dowolny ciąg znaków. Rozszerzone regularne wyrażenia mogą być również użyte
z dodatkowym znakiem ~. Na przykład:
<Files ~ "\.(gif|jpe?g|png)$">powinno odpowiadać większości używanych formatach graficznych w Internecie.
Uwaga w odróżnieniu od
<Directory> i <Location>
, sekcje <Files> mogą być użyte w pliku .htacces. To zezwala użytkownikom
kontrolowanie dostępu do ich własnych plików. Kiedy dyrektywa Files użyta jest
w pliku .htaccess i nazwa_pliku nie rozpoczyna się od znaku /,
do katalogu który jest tam umieszczony zostanie automatycznie dodany przedrostek.
Group #-1Dyrektywa Group ustawia grupę na której rządania będzie odpowiadał serwer. Aby korzystać z tej dyrektywy, serwer musi być uruchomiony w trybie stand-alone z prawami użytkownika root (administratora). Unix-group jest jedną z:
nobody, ale nie zawsze jest to
możliwe lub wskazane.Uwaga: jeżeli uruchomisz serwer jako użytkownik non-root (nie-administrator) nie będzie można zmienić na odpowiedna do tego grupę i działanie serwera będzie kontynuowane w grupie użytkownika który uruchomił serwer.
Uwaga specjalna: Użycie tej dyrektywy w <VirtualHost> wymaga poprawnego skonfigurowania suEXEC wrapper. Jeżeli jest użyta wewnątrz <VirtualHost> w ten sposób, tylko grupa która ma prawa na uruchamianie skryptów CGI jest afektowana. Żądania połączenia ale nie żądania uruchomienia skryptów CGI są nadal wykonywane w grupie ustawionej dyrektywą Group.
HostNameLookups directive
Składnia HostNameLookups boolean
Domyślnie: HostNameLookups on
Kontekst: server config, virtual host
Status: core
Dyrektywa ta załącza sprawdzanie DNS'u i dzięki temu nazwy host'ów mogą być logowane.
Mając ustawioną tą dyrektywę na on załącza ona również wykorzystywanie nazw
w <Limit> kontrolując dostęp.
Obciążone serwery powinny ustawić tą dyrektywę na off, ponieważ sprawdzanie
DNS'u zabiera dużo czasu. Logresolve znajdujący się w katalogu /support może
być użyty do sprawdzenia IP zalogowanych nazw hostów offline.
IdentityCheck offDyrektywa załącza (RFC1413) rozpoczęcie zapisu logowania połączeń użytkowników gdy po stronie użytkownika uruchomiony jest ident (identyfikacja) lub coś podobnego. Informacje te przechowywane są w pliku log.
Informacje te powinny być traktowane tylko informacyjnie.
Dyrektywa ta może powodować częste opóźnienia podczas dostępu do Twojego serwera gdy każda prośba połączenia będzie sprawdzana i logowana. Kiedy jest ustawiony skomplikowany firewall żądania połączenia mogą sie nie powieść dodaj wtedy 30 sekund opóżnienia. Dyrektywa ta nie jest użyteczna na publicznych serwerach dostępnych w Internecie.
Sekcja <IfModule test>...</IfModule> jest używana do zaznaczenia dyrektyw warunkowych. Dyrektywy umieszczone wewnątrz IfModule wykonywane są tylko kiedy test jest prawdziwy. Jeżeli test jest fałszywy, wszystko pomiędzy startem i końcem znaczników jest ignorowane.
test w sekcji <IfModule> może przyjąć jedną z dwóch postaci:
Pierwszy z formatów oznacza, że dyrektywy umieszczone pomiędzy znacznikami startu i końca wykonywane są tylko wtedy gdy moduł o nazwie module name jest skompilowany w Apache'u. Drugi natomiast działa odwrotnie i dyrektywy są wykonywane gdy moduł nie jest skompilowany w Apache'u.
Argument module name jest nazwą modułu, która została nadana plikowi w czasie kompilacji,
w którym umieszczony jest moduł. Na przykład:
mod_rewrite.c.
<IfModule> może być użyte do przetestowania modułów.
KeepAlive 5KeepAlive OnDyrektywa ta załącza wspomaganie Keep-Alive .
Apache 1.1: Ustaw max-requests
na maksymalną liczbę odpowiedzi na prośby połączeń, które Apache ma przyjmować.
Limit jest nałożony aby zapobiec okupowaniu przez klientów Twojego serwera.
Aby wyłączyć dostęp ustaw tą dyrektywę na 0.
Apache 1.2 i nowsze: Ustaw na "On" aby załączyć ciągłe połączenia, "Off" aby wyłączyć. Zobacz również dyrektywę MaxKeepAliveRequests.
KeepAliveTimeout 15
Liczba sekund w których Apache czeka na kolejne połączenia przed zerwaniem połączenia.
Wartośc timeout określa dyrektywa Timeout.
Listen
Składnia
Listen [IP address:]port number
Kontekst: server config
Status: core
Zgodność: Listen dostępne tylko w wersji 1.1 i późniejszych.
Dyrektywa Listen instruuje Apache'a do nasłuchiwania więcej niż tylko jednego adresu IP lub portu; domyślnie odpowiada na prośby połączeń na wszystkich interfejsach IP, ale tylko na jednym porcie ustawionym przez dyrektywę Port
.<Limit> i </Limit> używane są aby zawrzeć grupę dyrektyw kontrolujących dostęp, które będą zastosowane tylko do określonej metody dostępu, gdzie method jest ważną metodą HTTP. Jakakolwiek dyrektywa poza inną niż <Limit> lub <Directory> może być wykorzystana; większość będzie miała znaczenia na <Limit>. Na przykład:
<Limit GET POST>
require valid-user
</Limit>
Jeżeli dyrektywa kontroli dostępu pojawi sie poza dyrektywą <Limit>
to zastosowane zostaną wszystkie metody kontroli dostępu.
Dyrektywa <Location> uwzględnia kontrolę na poziomie adresu URL.
Jest podobna do dyrektywy <Directory>,
i powinna być używana razem z dyrektywą </Location>
Dyrektywy które są stosowane z adresem URL powinny być umieszczone wewnątrz.
Sekcje <Location> są rozpatrywane według kolejności występowania w pliku
konfiguracyjnym, ale po uwzględnieniu sekcji <Directory> i po przeczytaniu
pliku .htaccess.
Apache 1.2 i wyższe:
Rozszerzone regularne wyrażenia również mogą być używane poprzez dodanie
znaku ~. Na przykład:
<Location ~ "/(extra|special)/data">
Pasuje do URL'i które zawierają łańcuch "/extra/data" lub "/special/data".
Location jest funkcjonalne w połączeniu z dyrektywą SetHandler.
Na przykład, aby załączyć stan próśb połączeń, ale przeznaczony tylko dla
przeglądarek z foo.com, możesz użyć:
<Location /status>
SetHandler server-status
order deny,allow
deny from all
allow from .foo.com
</Location>
LockFile logs/accept.lock
Dyrektywa LockFile ustawia scieżkę dostępu do pliku blokującego używanego gdy
Apache skompilowany jest jednym z USE_FCNTL_SERIALIZED_ACCEPT lub USE_FLOCK_SERIALIZED_ACCEPT.
Dyrektywa ta normalnie powinna pozostać jako domyślna wartość. Główny powód zmian jest
jeżeli katalog logs zamontnowany jest jako NFS, plik blokujący powinien
jednak być trzymany lokalnie o ile jest to możliwe. PID głównego procesu serwera jest
automatycznie dodawany do pliku.
MaxClients 256Dyrektywa MaxClients ustawia limit równoległych połączeń, które mogą być zrealizowane; w zależności od tej dyrektywy uruchomionych zostanie nie więcej niż MaxClient liczba procesów child.
MaxKeepAliveRequests 100Dyrektywa MaxKeepAliveReauests ustawia limit zezwoleń połączeń gdy
KeepAlive jest załączona. Jeżeli jest ustawiona
na "0", zezwolona liczba połączeń będzie nielimitowana.
Zalecamy ustawić wartość na jak największą pod względem wydajności serwera.
MaxRequestsPerChild 0Dyrektywa MaxRequestsPerChild ustawia limit połączeń indywidualnie dla każdego procesu child. Po liczbie połączeń określonych przez MaxRequestsPerChild, proces child zostaje zatrzymany. Jeżeli MaxRequestsPerChild jest równy 0, to proces nigdy nie przestanie działać.
Ustawienie MaxRequestsPerChild na wartość nie-zerową daje dwie korzyści:
MaxSpareServers 10Dyrektywa MaxSpareServers ustawia maksymalną liczbę bezczynnych procesów child. Bezczynny proces child jest jendnym z procesów nie utrzymujących połączenia. Jeżeli jest więcej bezczynnych procesów niż MaxSpareServers, wtedy nadrzędny proces będzie wyłączał niepotrzebne procesy.
Dokładne ustawienie tego parametru może być potrzebne na bardzo pbleganych site'ach. Ustawianie tego parametru na jak największą wartość jest w większości przypadków złym pomysłem.
Zobacz również MinSpareServers and StartServers.
MinSpareServers 5Dyrektywa MinSpareServers ustawia minimalną liczbę bezczynnych procesów child. Bezczynny proces child jest jendnym z procesów nie utrzymujących połączenia. Jeżeli jest mniej bezczynnych procesów niż MinSpareServers, wtedy nadrzędny proces utowrzy nowe procesy child, z maksymalną prędkością 1 proces/sekundę.
Dokładne ustawienie tego parametru może być potrzebne na bardzo pbleganych site'ach. Ustawianie tego parametru na jak największą wartość jest w większości przypadków złym pomysłem.
Zobacz również MaxSpareServers and StartServers.
Dyrektywa Options kontroluje, które z właściwości serwera są dostępne w konkretnym katalogu.
option może być ustawione na None, w tym przypadku żadna z
dodatkowych właściwości serwera nie jest załączona, albo jedna lub więcej z poniższych:
<Directory>.
PidFile logs/httpd.pidDyrektywa PidFile ustawia plik w którym server zapisuje numer procesu id demona. Jeżeli nazwa nie rozpoczyna się od slach'a (/) to zostanie przybrana wartość względem ServerRoot. Plik PidFile wykorzystywany jest tylko w trybie pracy standalone.
Port 80
Numer jest liczbą z przedziału od 0 do 65535; niektóre numery portów (szczególnie
poniżej 1024) są zarezerwowane dla określonych protokołów. Zobacz /etc/services,
w pliku tym są już definowane niektóre porty; standardowy port protokołu http to 80.
Dyrektywa Port ma dwa postępowania, pierwsze które jest konieczne dla zachowania kompatybilności z NCSA backwards (które powoduje zagmatwanie w kontekście Apache'a).
numer portu: wtedy dyrektywa Port nie ma wpływu na
port na którym serwer prowadzi nasłuch.
SERVER_PORT (dla CGI i SSI),i używana jest
ona kiedy serwer musi wygenerować URL odsyłający do siebie samego (na przykład w czasie
tworzenia wewnętrznego przekierowania do siebie).
Podstawowe zachowanie dyrektywy Port powinno być podobne do dyrektywy ServerName. Dyrektywa ServerName i Port razem określają co powinieneś wziąść pod uwagę przy kanonicznym adresie serwera.
Port 80 jest jednym ze specjalnycj portów UNIX'a. Wszystkie numery portów poniżej 1024 są zarezerwowane dla systemu, zwykły użytkownik (nie-root) nie może ich wykorzystywać; zamiast tego może używać wyższych numerów portów. Aby użyc portu 80, musisz wystartować serwer z konta root'a. Po przypisaniu portu ale przed zaakceptowaniem połączeń, Apache zmieni prawa na najmniej uprzywilejowanego użytkownika ustawionego przez dyrektywę User.
Jeżeli nie możesz używać portu 80, wybierz inny wolny port. Zwykli użytkownicy muszą wybrać port powyżej 1023, taki jak 8000.
BEZPIECZEŃSTWO: jeżeli uruchamiasz serwer jako root, upewnij się że nie ustawiłeś dyrektywy User jako root. Jeżeli uruchomisz serwer jako root, Twój serwer będzie otwarty na ataki hackerów.
Dyrektywa ta wybiera którzy "zaufani" użytkownicy mają dostęp do katalogu. Zezwolone składnie to:
Tylko określeni użytkownicy (z nazwy, imienia) mają dostęp do katalogu.
Tylko użytkownicy danej grupy mają dostęp do katalogu.
Wszyscy ważni użytkownicy mają dostęp do katalogu.
Jeżeli require pojawi się w dyrektywie <Limit>
ograniczony jest wtedy dostęp określony metodą, w przeciwnym wypadku ograniczony jest dostęp
wszystkimi metodami. Przykład:
AuthType Basic
AuthName somedomain
AuthUserFile /web/users
AuthGroupFile /web/groups
<Limit GET POST>
require group admin
</Limit>
ResourceConfig conf/srm.confSerwer będzie czytał ten plik po więcej dyrektyw po przeczytaniu pliku httpd.conf. Nazwa_pliku jest relatywana w stosunku do dyrektywy ServerRoot. Ta opcja może być wyłączona poprzez użycie:
ResourceConfig /dev/null
Historycznie, ten plik zawiera więkoszość dyrektyw poza dyrektywami konfiguracyjnymi
i sekcji <Directory>; faktycznie może zawierać dowolną
dyrektywę serwera dopuszczoną w konfiguracji serwera.Zobacz również AccessConfig.
Unset uses operating system defaultsPobiera 1 lub 2 parametry. Pierwszy parametr ustawia "łagodny" limit zasobów dla wszystkich procesów a drugi parametr ustawia maksymalny limit zasobów. Obojętnie który parametr może być liczbą, lub max sygnalizującym serwerowi, że limit powinien być ustawiony na maksymalny dozwolony przez konfigurację systemu operacyjnego. Dyrektywa ta wymaga uruchamiania serwera jako root.
Limit zasobów CPU wyrażany jest w ilości sekund przypadających na proces.
Zobacz również RLimitMEM or RLimitNPROC.
Unset uses operating system defaultsPobiera 1 lub 2 parametry. Pierwszy parametr ustawia "łagodny" limit zasobów dla wszystkich procesów a drugi parametr ustawia maksymalny limit zasobów. Obojętnie który parametr może być liczbą, lub max sygnalizującym serwerowi, że limit powinien być ustawiony na maksymalny dozwolony przez konfigurację systemu operacyjnego. Dyrektywa ta wymaga uruchamiania serwera jako root.
Limity zasobów pamięci wyrażane są w ilości bajtów przypadających na proces.
Zobacz również RLimitCPU or RLimitNPROC.
Unset uses operating system defaultsPobiera 1 lub 2 parametry. Pierwszy parametr ustawia "łagodny" limit zasobów dla wszystkich procesów a drugi parametr ustawia maksymalny limit zasobów. Obojętnie który parametr może być liczbą, lub max sygnalizującym serwerowi, że limit powinien być ustawiony na maksymalny dozwolony przez konfigurację systemu operacyjnego. Dyrektywa ta wymaga uruchamiania serwera jako root.
Limit procesów kontroluję liczbę procesów przypadających na użytkownika.
See also RLimitMEM or RLimitCPU.
Serwer powinien ustawić rozmiar bufora TCP do określonej liczby bajtów.
Dyrektya ServerAdmin ustawia adres poczty elektronicznej pod który serwer będzie wysyłał wiadmości o błedach zwracanych klientom.
Można wstawić dedykowany adres, na przykład:
ServerAdmin www-admin@foo.bar.com
Dyrektywa ServerAlias ustawia alternatywne nazwy dla hosta, potrzebne przy korzystaniu z Host-header based virtual hosts.
Dyrektywa ServerName ustawia nazwę hosta danego serwera; wykorzystywane jest to tylko kiedy tworzone jest przekierowanie URL'i. Jeżeli nazwa nie jest określona, wtedy serwer będzie próbował znaleść ją z własnego adresu IP; aczkolwiek może to źle pracować, lub może nie zwracać preferowanej nazwy hosta. Na przykład:
ServerName www.wibble.com
powinno być użyte jeżeli nazwa kanoniczna aktualnego komputera
była monster.wibble.com.
ServerRoot /usr/local/etc/httpd
Dyrektywa ServerRoot ustawia katalog w którym "żyje" serwer.
Domyślnie powinien zawierać podkatalogi conf/ i logs/.
Względnie ścieżki do innych plików konfiguracyjnych.
Zobacz również the -d option to httpd.
ServerType standaloneDyrektywa ServerType określna w jaki sposób serwer jest uruchamiany przez system. Type jest jednym z
/etc/intetd.conf
/etc/rc.local lub /etc/rc3.d/....)
Standalone jest najbardzie popularną metodą ustawianą dla ServerType, jest ona bardziej wydajna. Serwer uruchamiany jest tylko raz, i obsługuje wszystkie późniejsze połączenia. Jeżeli zamierzasz uruchomić oblegany serwer, standalone jest prawdopodobnie jedynym rozwiązaniem.
StartServers 5Dyrektywa StartServers ustawia liczbę procesów child tworzonych w czasie uruchamiania serwera. Liczba procesów jest dynamicznie kontrolowana w zależności od przeładowania serwera, z reguły nie ma powodów do zmiany tego parametru.
Zobacz również MinSpareServers i MaxSpareServers.
TimeOut 300Dyrektywa TimeOut obecnie definiuje ilość czasu w którym Apache będzie oczekiwał na trzy rzeczy:
User #-1Dyrektywa User ustawia userid na jakie serwer będzie odpowiadał. Żeby korzystać z tej dyrektywy, standalone serwer musi być zainicjowany jako root. Unix-userid jest jednym z:
nobody, ale nie zawsze jest to możliwe lub wskazane.
<VirtualHost> i </VirtualHost> są wykorzystywane do zawarcia grupy dyrektyw które będą stosowane tylko do określonego wirtualnego hosta. Jakakolwiek dyrektywa może być użyta wewnątrz dyrektywy VirtualHost. Kiedy serwer otrzyma żądanie przesłania dokumentu konkretnego wirtualnego hosta, użyje wtedy dyrektyw konfigurujących zawartych w sekcji <VirtualHost> Addr może być
Przykład:
<VirtualHost 10.1.2.3>
ServerAdmin webmaster@host.foo.com
DocumentRoot /www/docs/host.foo.com
ServerName host.foo.com
ErrorLog logs/host.foo.com-error_log
TransferLog logs/host.foo.com-access_log
</VirtualHost>
Każdy Wirtualny Host musi posiadać osobny adres IP lub różne nazwy serwerów,
w drugim przypadku serwer musi być tak skonfigurowany aby akceptował pakiety IP
dla różnych adresów. (Jeżeli komputer nie ma wielu interfejsów sieciowych,
dobrym rozwiązaniem jest zastosowanie komendy ifconfig alias (o ile Twój
system operacyjny zezwala na to)).
Specjalna nazwa _default_ może być określona w którym przyapdku
wirtualny host będzie pasował do dowolnego adresu IP który nie jest wyraźnie
zdefiniowany, nasłuchiwany w innym wirtualnym hoście. W przypadku braku
_default_ wirtualnego hosta, główny plik konfiguracyjny składa się ze wszystkich
definicji poza sekcją VirtualHost.
Możesz określić :port dla danego wirtualnego hosta. Jeżeli port nie
jest określony przyjmuje domyślną wartość portu jaka jest ustawiona dla całego serwera.
Możesz również określic :* które będą pasować do wszystkich portów na danym
adresie. (Jest to zalecane kiedy używasz _default_.)