Krótki opis opcji httpd.conf
ServerRoot "/usr/local" #Górna granica drzewa katalogów, gdzie znajdują się pliki konifguracyjne, błędów oraz logi.
Listen 80 #Opcja ta daje nam możliwość przypisania serwera apache do konkretnego portu czy też adresu IP.
LoadModule authn_file_module libexec/apache22/mod_authn_file.so (..)#Wsparcie modułów DSO (Dynamic Shared Object). Składnia: LoadModule nazwa_modułu ścieżka_do_modułu. Moduły pozwalają nam na rozszerzenie funkcjonalności serwera, możemy je statycznie wkompilowac w httpd lub skompilowac jako DSO, dzięki czemu będą one oddzielone od httpd. Moduły DSO możemy skompilować podczas budowy serwera lub w późniejszym czasie z wykorzystaniem apxs (apache extension tool). Aby móc w ogóle skorzystać z DSO, nalezy podczas kompilacji serwera dodać obsługę mod.so (--enable-module=shared). Jeżeli dodamy moduł w httpd.conf, musimy zrestartować serwer by dany moduł został uruchomiony.
User www
Group www #Zmiana użytkownika i grupy dla demona httpd.
ServerAdmin mail@domena.com #Mail administratora serwera.
ServerName www.example.com:80 #Nazwa oraz port serwera w celu własnej identyfikacji, w przypadku braku zarejestrowanej nazwy hostu w DNS, wstawiamy adres IP
DocumentRoot "/usr/local/www/apache22/data" #Katalog z którego będziemy udostępniać dokumenty.
#Konfiguracja praw dostępu dla katalogów w których apache udostępnia poszczególne usługi. Przykład z httpd.conf polityki domyślnego blokowania:
<Directory />
AllowOverride None
Order deny, allow
Deny from all
</Directory>
#Przykładowa kontrola udostępniania /usr/local/www/apache22/data
<Directory "/usr/local/www/apache22/data">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#Options odpowiada za to jakie cechy będą dostępne dla wybranego katalogu. Możemy wybrać następujące opcje: None (brak cech), All, ExecCGI (zezwalamy wykonywania skryptów CGI), FollowSymLinks (Serwer będzie podążać za symbolicznymi linkami w katalogu), Includes ('inkludownie' po stronie serwera jest dozwolone), IncludesNOEXEC (jak wcześniej tylko, że ze zezwalamy na użycie #exec cmd / #exec cgi), Indexes (jeżeli nastąpiło żadanie URLa, który mapuje do katalogu, a nie mamy zdefiniowanej dyrektywy DirectoryIndex, która informuje serwer o zasobach jakie ma szukać w przypadku gdy klient zażąda listowania katalogu np. jakisadres.pl/download/ to opcja Indexes spowoduje, że serwer sam wygeneruje listing żadania.), MultiViews (zezwalamy na użycie, wykorzystując moduł mod_negotiation), SymLinksIfOwnerMatch (serwer będzie podąrzać tylko za symbolicznymi linkami, których docelowe katalogi/plik są własnością użytkownika o takim samym id linku).
Opcje nie łączą się, wybierana jest najbardziej odpowiednia. Wyjątkiem jest gdy postawimy '+' lub '-' przed opcją. Domyślną wartością jest 'All'.
DirectoryIndex index.html #wspomniałem wyżej o tej opcji..
ErrorLog "/var/log/httpd-error.log" #Miejsce docelowe logu z błędami
LogLevel warn #Kontrola informacji, które znajdują się w error-log, możemy określić następujący poziom: debug, info, notice, warn, error, crit, alert, emerg
ErrorDocument XXX odpowiedź #Określamy własną odpowiedź na wybrany błąd serwera ("XXX"). Mamy 3 możliwości: zwykły tekst, lokalne przekierowanie, zewnętrzne przekierowanie. Na przykład:
ErrorDocument 404 /brak.html
ErrorDocument 404 "Brak strony"
ErrorDocument 404 http://www.google.pl
ErrorDocument 404 "/cgi-bin/jakassciezka.pl"
EnableNMAP off
EnableSendfile off #Zwiększa wydajność serwera jeżeli system obsługuje transport plików te metody (pliki dostarczane są za pomocą 'memory-mapping' albo 'sendfile syscall').
Dodatkowa konfiguracja opisana w pliku httpd.conf dotyczy głównie modułów, które znajdziemy w katalogu 'extra'. Dołączamy je za pomocą opcji Include, na przykład:
Include etc/apache22/extra/httpd-mpm.conf
Dużo podstawowych modułów możemy skonfigurować za pomocą tagów <IfModule id_modułu></IfModule> na przykład moduł alias:
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"
</IfModule>
Szczegółowy spis modułów znajdziemy na stronie tutaj.
edit:
Po wgraniu i skonfigurowaniu php5 na nasz serwer należy dodać do httpd.conf opcję, która pozwoli prawidłowo wyświetlać zawartość *.php, czyli:
AddType application/x-httpd-php-source phps (testowane pod debianem)Bardzo fajny moduł, który powoduje, że jeśli udostępniamy miejsce na naszym serwerze innym użytkownikom, by mogli sami założyć własną witrynę powinniśmy skorzystać z modułu UserDir. Szczegółowy opis znajduje się tutaj. Zgodnie z zaleceniami trzeba pamiętać by zablokować taką możliwośc dla konta root: UserDir disabled root Natomiast wpis: UserDir public_html /lub/ UserDir /home/*/public_html sprawi, że user posiadjący w swoim domowym katalogu katalog public_html będzie mógł w nim opublikować swoją stronę www.
Brak komentarzy:
Prześlij komentarz