
Apache działa jako demon HTTP (httpd) a jego konfiguracja znajduje się w plikach:
httpd.conf - plik podstawowy, który zawiera parametry związane z protokołem HTTP i działaniem serwera np. Nameserver
srm.conf - zawiera ustawienia określające sposób odpowiedzi serwera na zapytania klientów
access.conf - zawiera sposób dostępu do serwera i udostępniane przez niego dane
Wszystkie ww. pliki są w formie tekstowej i zawierają:
- komentarze (komentarze można rozpoznać na początku od znaku #)
- dyrektywy mające przeważnie postać opcji, po której następuje wartość.
Bradzo często stosowaną metoda jest skupienie zawartości wszystkich powyższych plików w jednym.
LOKALIZACJA
W zależności od wersji systemu, pliki konfiguracyjne Apache'a mogą znajdować się w różnych katalogach.
W Ubuntu plikiem konfiguracyjnym jest /etc/apache/httpd.conf (przykładowy plik httpd.conf znajduje się na końcu artykułu).
Dokumentacja serwera Apache dostępna jest na stronie:
http://httpd.apache.org/docs
DYREKTYWY
Podstawowe dyrektywy:
ServerAdmin adres_email_administratora // określenie adresu pocztowego administratora serwera www. W przypadku nieprawidłowego działania administrator zostanie o tym powiadomiony mailem
ServerName nazwa_serwera (dowolna lub domenowa) // możliwość nadania nazwy hosta zwracanej klientom podczas pobierania danych z serwera.
ServerRoot // lokalizacja katalogu z plikami używanymi przez httpd, czy logami np. raportami błedów.
ServerType // serwer może pracować w jednym z dwóch trybów: standalone (uruchamiany jest samodzielnie podczas stratu systemu - opcja ta jest zalecana) lub inetd (serwer uruchamiany jest za pośrednictwem demona inetd).
Port nr_portu // numer portu TCP na którym nasłuchuje (standardowo 80). Jesli serwer jest uruchamiany poprzez inetd, to zalecane jest ustawienie ustawienie wartości portu powyżej 1024 - porty o niższych numerach są uprzywilejowane a inetd uruchamia httpd z identyfikatorem superużytkownika. W przypadku serwera działającego w trybie standalone nie ma to znaczenia.
BindAddress adres_IP // definiuje adres IP używany do komunikacji z serwerem (w przyp.kiedy posiada on kilka adresów IP). Wartość adresu ustawiona na "*" nakazuje serwerowi odpowiadać na zapytania kierowane pod dowolny z jego puli adresów.
Listen port Listen adres: port // wskazanie adresów i portów, które oprócz domyślnego portu i adresu mają być nasłuchiwane pod kątem pojawienia się zapytań www.
MinSpareServers liczba // liczba minimalna bezczynnych procesów potomnych serwera standalone.
MaxSpareServers liczba // liczba maksymalna bezczynnych procesów potomnych serwera standalone.
StartServers liczba // liczba procesów potomnych demona httpd uruchamianych przy starcie systemu.
MaxClients liczba // maksymalna liczba równocześnie obsługiwanych klientów.
DocumentRoot // ścieżka do katalogu z główną stroną serwera.
UserDir katalog // nazwa katalogu, w którym każdy z użytkowników systemu może zlokalizować swoją stronę domową.
DirectoryIndex nazwa_pliku // nazwa pliku rozpoznawana i uruchamiana przy zapytaniu ogólnym np. index.php, start.php, index.html itp. Traktowany jest jako strona główna serwera, a w katalogu podanym jako UserDir - jako strona domowa użytkownika.
< Directory "katalog"> ... < /Directory > // określenie dyrektyw odnoszących się do konkretnego katalogu.
< VirtualHost "nazwa"> ... < /VirtualHost > // określenie nazwy na którą reaguje serwer. W przypadku nazwy domenowej np. domena_przykladowa.pl musi być taka sama jak zdefiniowana na serwerze DNS.
ErrorLog // wskazuje ścieżkę do pliku przechowującego raporty błędów np. logs/error.log
WAŻNE:
Każda zmiana w pliku konfiguracyjnym wymaga ponownego uruchomienia serwera Apache, aby nowe ustawenia były uruchomione.



