Administrowanie systemami komputerowymi
5
Temat:
Apache – serwer WWW
Zadania:
Data:
Autor: Piotr Gębala
1 2 3 4 5 6 7 8 9 10 06 XI 2013
Autor: Mateusz Macięga
E E E E E E E E E E 10:00-12:15
Zadanie 1. Przygotowanie ćwiczenia.
W tym kroku należało uruchomić system ASK, zalogować się na konto administratora oraz
uruchomić skrypt apache-init, który skonfiguruje serwer Apache do rozpoczęcia pracy.
Zadanie 2. Uruchamianie/wznawianie pracy serwera.
Na początku przeglądamy pliki konfiguracyjne serwera apache (apache2.conf, envvars, ports.conf,
httpd.conf). Następnie uruchamiamy serwer z domyślnymi ustawieniami poleceniem
apachectl start. Wpisując w przegladarce adres http://localhost/ sprawdzamy czy serwer działa.
Zadanie 3. Uruchomienie modułów na przykładzie PHP.
W tym zadaniu odblokowujemy moduły poleceniem a2enmod php5, po czym restartujemy serwer.
Aby sprawdzić działanie modułów wpisujemy w przeglądarce http://localhost/phpinfo.php.
Zadanie 4. Strony użytkowników.
W tym zadaniu tworzymy osobną przestrzeń WWW dla użytkownika. Używamy modułu userdir
(a2enmod userdir), a następni tworzymy prosty plik
index.html
w katalogu
/home/apache/public_html.
Po wpisaniu w przeglądarce adresu http://localhost/~apache/ dostaniemy następujący wynik.
Zadanie 5. Dyrektywy Allow/Deny, oraz plik .HTACCESS.
Edytujemy plik /etc/apache2/sites-available/default komentując fragment #Allow from
127.0.0.0/255.0.0.0 ::1/128. Po restarcie serwera http://localhost/doc/ jest niedostępny.
Aby zablokować dostęp do plików jpg na stronie domowej użytkownika apache, należy edytować
plik .htaccess wprowadzając do niego treść podaną w instrukcji. Wynik przed i po modyfikacji:
Zadanie 6. Autoryzacja użytkowników.
W tym zadaniu odblokowujemy potrzebne moduły, a następnie tworzymy plik z hasłami
poleceniem htpasswd. Tworzymy plik .htaccess w katalogu który wymaga zabezpieczenia i
zapisujemy w nim odpowiedni dyrektywy. Po wpisaniu http://localhost/auth_file/ widzimy ekran
logowania użytkownika.
Drugim sposobem jest użycie modułu authz_external. Aby tego dokonać musimy edytować pliki
httpd.conf oraz .htaccess dodając do nich odpowiednie dyrektywy.
Zadanie 7. Hosty wirtualne.
Aby dodać nowe hosty, należy przypisać ich nazwy do adresu 127.0.0.1, a następnie utworzyć im
pliki konfiguracyjne wg struktury podanej w instrukcji. Na końcu musimy odblokować hosty
poleceniem a2ensite host1 host2, aby zawartość została wyświetlona.
Zadanie 8. Translacja adresów.
Aby użyć translacji adresów, musimy odblokować moduł rewrite, a następnie utworzyć
plik .htaccess w katalogu /var/www/rewrite_1 i wpisać do niego odpowiednią treść. Po wpisaniu w
przeglądarce adresu: http://localhost/rewrite_2/page/dowolny_ciag_liter, otrzymamy taki wynik:
Zadanie 9. Przekierowania.
Aktywujemy moduły SSL, oraz host default-SSL, a następnie tworzymy plik .htaccess w katalogu
/var/www do którego wpisujemy treść podaną w instrukcji. Sprawdzamy działanie dyrektyw.
Zadanie 10. Obsługa błędów i odpowiedzi.
Aby ustawić odpowiedni odpowiedzi i obsługę błędów musimy edytować plik
/etc/apache2/conf.d/localized-error-pages, usuwając komentarze z każdej linii. Następnie
aktywujemy moduły alias, negotiation oraz include. W przeglądarce pisujemy adresy:
http://localhost/error/
Wnioski:
Laboratorium udało się wykonać w całość. Dowiedzieliśmy się wiele na temat konfiguracji apache.
Wiemy jak zarządzać dostępem do zasobów, umiemy tworzyć hosty wirtualne, wiemy jak działa
translacja adresów i przekierowania, oraz znamy obsługę błędów.