KONFIGURACJA HTTPD

Główny plik konfiguracyjny usługi http to: /etc/apache2/apache2.conf (dawniej /etc/apache/httpd.conf (czasami /etc/httpd/httpd.conf))

Wpis
ServerRoot /etc/apache
Określa położenie plików konfiguracyjnych, logow itp.

Wpis
Port 80
Określa port na którym nasłuchuje httpd

Wpis
ServerName Knoppix
Określa nazwę domenową serwera. Konieczne jeżeli adres IP nie posiada właściwego wpisu w serwerze DNS.

Wpis
User apache
Group apache
Określa nazwę użytkownika i grupy z uprawnieniami których pracuje httpd. Ważne dla określenia uprawnień do katalogów np. prawa zapisu.

Wpis
DocumentRoot /var/www
Określa folder główny serwera http, w którym przechowywane sa dokumenty html.

Wpis

<IfModule mod_dir.c>
    DirectoryIndex index.html index.htm index.php index.cgi
</IfModule>
Określa nazwy i kolejność poszukiwania pliku domyślnego dla folderu.


Strony domowe użytkowników
Wpis

<IfModule mod_userdir.c>
    UserDir public_html
</IfModule>

Zezwala na tworzenie stron użytkownikow w podfolderach public_html.

Sekcja
<Directory>
Np.

<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI
</Directory>
Określa opcje dla wszystkich podkatalogów public_html w katalogach domowych użytkownikow.
Indexes - automatyczne wyświetlanie listy plików w folderze, gdy brak pliku indeksowego index.html
FollowSymLinks - zgoda na używanie powiazan symbolicznych do innych plików lub katalogow
ExecCGI - zgoda na uruchamianie skryptów, programów CGI
Includes - zgoda na dołączanie dodatkowych plików


Wpis
Alias /icons/ /usr/hsare/apache/icons/
Definiuje alias icons prowadzący do określonego folderu. Zwykle umieszcza się też tu sekcję <Directory> dla tego folderu.


CGI i dodatkowe moduły
Wpis
AddHandler cgi-script .cgi .sh .pl
Pozwala na uruchamianie skryptów CGI poza folderem cgi-bin

Wpis

    AddType application/x-httpd-php .php .php3 .php4
    AddType application/x-httpd-php-source .phps

Określa pliki .php jako skrypty modułu php.

Wpis
LoadModule php4_module libphp4.so
Dodaje obsługę php jako modułu serwera httpd.


Serwery wirtualne
Serwer apache umożliwia obsugę wielu serwerów wirtualnych dla różnych domen na pojedynczym adresie IP.
Przykładowa konfiguracja:

NameVirtualHost *
<VirtualHost *>
  ServerName domena1.edu.pl
  ServerAlias www.domena1.edu.pl
  DocumentRoot /home/domena1
</VirtualHost>
<VirtualHost *>
  ServerName domena2.org.pl
  ServerAlias www.domena2.org.pl
  DocumentRoot /home/domena2
</VirtualHost>

* oznacza nasłuchiwanie odwołań na wszystkich adresach IP serwera. Można ją zastąpić konkretnym adresem IP serweta np. 192.168.10.1.
Z powyższą konfiguracją serwer będzie wystawiał strony z katalogu /home/domena1 dla odwołań do domena1.edu.pl i z katalogu /home/domena2 dla odwołań do domena2.org.pl.
Sekcja VirtualHost może dla każdego serwera wirtualnego definiować oddzielnie zmienione opcje konfiguracyjne w stosunku do głównej domeny.
Oczywiście należy zapewnić prawidłowe rozwiązywanie nazw domena1.edu.pl i domena2.org.pl na adres IP serwera. (Dla potrzeb ćwiczenia wystarczy przypisać adresy domenowe do adresu IP w pliku /etc/hosts).