• Nie Znaleziono Wyników

Serwer HTTP Apache

N/A
N/A
Protected

Academic year: 2021

Share "Serwer HTTP Apache "

Copied!
2
0
0

Pełen tekst

(1)

- 1 -

Serwer HTTP Apache

Konfiguracja

Konfiguracja serwera Apache znajduje się w katalogu /etc/apache lub /etc/httpd. Tradycyjnie uŜywa się trzech plików konfiguracyjnych: ogólnego httpd.conf, zawierającego informacje o uprawnieniach dostępu do serwowanych plików access.conf oraz zawierający zaawansowaną konfigurację

srm.conf. W niektórych dystrybucjach występuje tylko jeden plik, zazwyczaj httpd.conf.

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

ServerType typ - ustawia, czy Apache jest uruchamiany z inetd (inetd), czy teŜ pracuje jako samodzielny serwer (standalone). Druga opcja jest bardziej wydajna, dlatego jest duŜo częściej wykorzystywana.

Port numer - port TCP/IP, na którym samodzielny Apache będzie nasłuchiwał połączenia. Domyślnie 80.

User nazwa, Group nazwa - uŜytkownik i grupa, spod których będzie pracował serwer Apache.

LoadModule nazwa plik - jedna z najwaŜniejszych opcji konfiguracyjnych serwera Apache. Za jej pomocą ładuje się moduły rozszerzające, które mogą obsługiwać generowanie zawartości (np. ze skryptów PHP czy programów CGI), odnajdywanie plików związanych z URLem (alias, rewrite), autentyfikację (access, auth), czy przekształcanie zawartości (np. dynamicznie kompresujący treść mod_gzip).

ServerName nazwa - domyślna nazwa serwera. Musi być to działająca domena wskazująca na serwer.

NameVirtualHost adres - bardzo waŜna opcja, bez której wirtualne hosty dzielące te samo IP nie będą działać poprawnie. Najlepiej wpisać tę opcję dla kaŜdego IP serwera.

ServerAdmin adres - adres e-mail administratora serwera, będzie publikowany w przypadku błędów.

DocumentRoot ścieŜka - katalog, który będzie publikowany przez serwer.

UserDir nazwa - nazwa podkatalogu, z którego pobierane będą pliki publikowane przez uŜytkowników. Domyślnie jest to public_html; wtedy uŜytkownicy powinni umieszczać pliki do publikacji w katalogu ~/public_html. Pliki te będą dostępne pod url

http://serwer/~uŜytkownik/.

DirectoryIndex nazwy... - nazwy plików, które będą wykorzystywane przez serwer jako strona główna katalogu. Domyślnie index.html. Warto dodać wpis dla kaŜdego

uŜywanego rozszerzenia dla dokumentów.

Alias uri ścieŜka - publikuje katalog oznaczony ścieŜką dostępu w obrębie przestrzeni adresów serwera. Domyślnie istnieje alias z /icons/ do /usr/share/apache/icons, dostarczający ikon do indeksowania katalogów.

Options opcje... - opcje, uŜywane w obrębie bloków <Directory> i <DirectoryMatch>. Są to:

o All - wszystkie opcje.

o None - Ŝadna z opcji.

o Indexes - generuj indeksy katalogów tam, gdzie nie występuje plik indeksu.

o Includes - uaktywnia SSI w danym katalogu. Aby opcja ta działała, niezbędne jest załadowanie i skonfigurowanie modułu mod_include.

o FollowSymLinks - pozwala na oglądanie plików i katalogów dostępnych za linkiem symbolicznym.

o ExecCGI - pozwala na uruchamianie programów CGI.

AllowOverride opcje... - zezwala uŜytkownikom na skonfigurowanie pewnych aspektów pracy serwera w plikach .htaccess w udostępnianych katalogach. Opcje AllowOverride określają, co uŜytkownik ma prawo skonfigurować. NajwaŜniejsze z nich to:

o All - wszystkie opcje.

o None - Ŝadna z opcji.

o AuthConfig - konfiguracja autentyfikacji.

o Indexes - opcje indeksowania (np. DirectoryIndex).

o Limit - kontrola dostępu według adresu klienta.

o Options - dyrektywa Options.

UWAGA! Aby móc uŜywać plików .htaccess (patrz dalej) naleŜy ustawić opcję AllowOverride All!

Hosty wirtualne

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>

Uprawnienia dostępu

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

(2)

- 2 -

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).

Fragment pliku htpd.conf definiujący hosty wirtualne

<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>

Przykład pliku .httaccess

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

Cytaty

Powiązane dokumenty

Tryb szybkiego zwrotu klucza Parametr umożliwia zwrot klucza do depozytora po identyfikacji na panelu MD70 za pomocą breloka klucza.. W takim układzie nie jest

Jest tam też możliwość sprawdzenia poprawności komunikacji z zaprogramowaną bramą (ping do bramy) lub innym serwerem w sieci internet (ping do adresu).. Maska

W przypadku, gdy zadania mają identyczne ciągi następników, kolejność przydzielenia etykiet cym zadaniom jest ustalana zgodnie z Regułą 1 (Algorytm Johnsona dla

Model inwertera UNO-2,5-I-OUTD -S Odnotowana moc AC [W]/ Odnotowane napięcie AC [V] 2500 / 230 Konfiguracja Mppt MPPT (Liczba równoległych MPPT.: 1) Całkowita liczba modułów PV

Kolejnym krokiem jest ustalenie ilości layoutów (układów pól tekstowych oraz graficznych) oraz ich konfiguracja.. Następnie określenie parametrów

Otworzy się wtedy okno naszego nowego zlecenia (rys. 36) wysyłka Poczty Polskiej Formularz do wysiłki jest podzielony na:.. Odbiorca – tutaj mamy możliwość wypełnienia

Otworzy się wtedy okno naszego nowego zlecenia (rys. 36) wysyłka Poczty Polskiej Formularz do wysyłki jest podzielony na:.. Odbiorca – tutaj mamy możliwość wypełnienia

Zaloguj się za pomocą konta Simon zarejestrowanego w aplikacji Simon iO. „Alexa, włącz ekspres