httpApache, Wszystko o Linuxie


Format plików konfiguracyjnych Apache można określić jako wierszowy z blokami. Wiersz konfiguracji składa się z nazwy opcji konfiguracyjnej oraz szeregu argumentów. Wiersze mogą występować swobodnie bądź w blokach dotyczących specyficznej części konfiguracji serwera. Składnia bloku jest zbliżona do składni używanej przez HTML czy XML - początek bloku oznaczany jest za pomocą <nazwa_bloku argumenty>, natomiast koniec - za pomocą </nazwa_bloku>.

Najważniejsze opcje konfiguracyjne

Apache pozwala na hostowanie wielu różnych domen na jednym serwerze fizycznym. Pozwalają na to hosty wirtualne. Konfiguracja hosta wirtualnego zamyka się w bloku <VirtualHost>. W obrębie bloku VirtualHost działa większość opcji konfiguracyjnych, co pozwala na dużą swobodę konfiguracji. Prosty przykładowy blok VirtualHost wygląda następująco:

<VirtualHost www.domena.pl>
DocumentRoot /home/domena/www/
</VirtualHost>

Serwer Apache ma wbudowane funkcje kontroli dostępu. Najczęściej wykorzystywana jest kontrola na podstawie adresu IP klienta oraz według autentyfikacji podstawowej protokołu HTTP. Do konfiguracji wykorzystuje się najczęściej wspomniane wcześniej pliki .htaccess - dzięki temu unika się restartowania serwera przy zmianie konfiguracji, ponadto wykorzystując .htaccess konfigurację dostępu mogą wykonać zwykli użytkownicy.

Ograniczenia dostępu do katalogu wyłącznie do wybranych adresów IP. Jeśli chcemy dać dostęp tylko lokalnej maszynie (127.0.0.1) oraz sieci wewnętrznej (np. 192.168.0.0/24), plik .htaccess powinien wyglądać następująco:
Order Allow,Deny
Allow from localhost
Allow from 192.168.0.0/24

Opcja Order definiuje kolejność sprawdzania dyrektyw Allow i Deny. Dla Allow,Deny komputery są domyślnie blokowane, a dyrektywy Deny są ważniejsze od Allow (tzn. Deny może zablokować maszynę z Allow). Natomiast dla Deny,Allow komputery domyślnie otrzymują dostęp. (Allow jest ważniejszy od Deny.)

Konfiguracja autentyfikacji typu Basic wymaga utworzenia pliku zawierającego hasła użytkowników. Służy do tego komenda htpasswd. Przykładowo, utworzenie pliku hasla z dwoma użytkownikami wygląda następująco:
$ mkdir apache
$ cd apache
$ htpasswd -c hasla student1
New password: haslo
Re-type new password: haslo
Adding password for user student1
$ htpasswd hasla student2
New password: haslo2
Re-type new password: haslo2
Adding password for user student2

Plik .htaccess zezwalający na dostęp tylko wybranym użytkownikom:

AuthName "Tajne pliki"
AuthType Basic
AuthUserFile /home/student1/apache/hasla
Require valid-user

W przypadku większych witryn czasem potrzebne będzie udostępnianie różnych danych różnym użytkownikom z tej samej bazy. Można wtedy dawać dostęp tylko pojedynczym użytkownikom za pomocą dyrektywy Require. Aby dać dostęp wyłącznie użytkownikowi student1, należałoby zmienić dyrektywę Require na następującą:
Require user student1

Można wymienić wielu użytkowników w jednej dyrektywie Require user. Jednak w przypadku, gdy listy użytkowników za bardzo się rozrastają, warto użyć grup. Plik grup składa się z wierszy, które zawierają nazwę grupy, znak dwukropka i kolejno wymienione nazwy członków.

Prosty plik grup grupy studenci:

studenci: student1 student2

Plik .htaccess powinien teraz wyglądać tak:
AuthName "Tajne pliki"
AuthType Basic
AuthUserFile /home/student1/apache/hasla
AuthGroupFile /home/student1/apache/grupy
Require group studenci

Możliwe jest łączenie autentyfikacji hasłem z autentyfikacją według adresu klienta. Aby to zrobić, wystarczy dyrektywy dla obu konfiguracji umieścić w jednym pliku .htaccess oraz dodać odpowiednią opcję Satisfy. Opcja Satisfy any powoduje, że dostęp zostanie przekazany tym użytkownikom, którzy spełnią dowolny z wymogów autentyfikacji. Można w ten sposób udostępnić pewne dane w sieci lokalnej bez hasła, lecz wymagać hasła dla użytkowników spoza sieci. Natomiast opcja Satisfy all oznacza, że muszą zostać spełnione wszystkie wymagania.

Przykłady do ćwiczeń

Przykładowe zmiany w domyślnych ustawieniach httpd.conf

Linia Ustawienia

367 DirectoryIndex index.html index.htm dopisz (po „spacji”): index.php index.php3 oraz index.cgi.

483 typ logu z common na combined.

269 adres e-mail admina. Warto również zmienic linie

331 AllowOverride All, taki wpis spowoduje, że jeśli umieścimy w katalogu plik .htaccess, każdy odwiedzajacy bedzie pytany o hasło.

449 HostnameLookups On - pozwala na wyświetlanie w logu nazw kanonicznych (lub numerów IP przy opcji Off).

<VirtualHost 192.168.1.29:8000>

ServerAdmin root@loclahost

DocumentRoot /var/www/kurs/

DirectoryIndex index.php index.html index.htm index.shtml

</VirtualHost>

NameVirtualHost www.hades.alfa

<VirtualHost www.hades.alfa>

ServerAdmin root@localhost

DocumentRoot /var/www/hades/

DirectoryIndex index.php index.html index.htm index.shtml

</VirtualHost>

AuthType Basic

AuthName "Wymagane logowanie"

AuthUserFile /var/www/html/sql/test/.passwd

AuthGroupFile /var/www/html/sql/test/.group

Require group testowa

oraz pliku definicji grupy .group

testowa: test

- 3 -



Wyszukiwarka

Podobne podstrony:
Apache Konfiguracja, Wszystko o Linuxie
pieniadze nie sa wszystkim
dostalem wszystko
AVR na Linuxie
(1967) GDY WSZYSTKIE NARODY ZJEDNOCZĄ SIĘ POD POD KTRÓLESTWEM BOŻYMid 888
Identyfikacja Chrystusa we wszystkich wiekach 640409
Litania do Wszystkich Świętych Melodia II
Najpotężniejsza Nowenna z wszystkich nowenn do Opatrzności Bożej
MAS wszystkie pytania testowe 2007
Ze wszystkich kwiatków świata, dzień mamy i taty
WOJNA W AFRYCE POĄNOCNEJ, wszystko do szkoly
wszystkie wykłady z matmy stoiński - wersja na telefon, MATMA, matematyka
POPRAWA WSZYSTKICH KOLOKWIËW. 5fantastic.pl , Ćwiczenia

więcej podobnych podstron