• Nie Znaleziono Wyników

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
6
0
0

Pełen tekst

(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/.

(2)

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.

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

(3)

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

(4)

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

(5)

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

(6)

testowa: test

Cytaty

Powiązane dokumenty

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

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

Każde połączenie z Internetu, które jest nawiązywane na publiczny adres urządzenia na port microsoft-ts (3389) zostanie poddane translacji NAT w ramach której adres źródłowy i

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

Po przełączeniu się na konto, które ma zostać usunięte, przesunąć palec od dołu do góry ekranu pulpitu, aby wyświetlić pasek zadań, a następnie dotknąć przycisku

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