Serwer WWW – Apache

Przed przystąpieniem do instalacji systemu należy wybrać jeden z dwóch standardowych modułów MPM (ang. Multi Processing Modules, co w luźnym tłumaczeniu oznacza moduły zarządzania zapytaniami). Do wyboru masz:

Prefork – klasyczny MPM, znany jeszcze z Apache w wersji 1.0. Każde zapytanie jest obsługiwane w osobnym procesie. Jest to najmniej wydajny oraz najbardziej zasobożerny MPM, jednak dzięki separacji poszczególnych procesów zapewnia większe bezpieczeństwo.

Worker – w tym przypadku każde kolejne zapytanie jest uruchamiane w istniejącym już procesie, jako osobny wątek. Architektura oparta na wątkach sprawia, że moduł ten jest zdecydowanie mniej zasobożerny (mniejsze zużycie pamięci), a także bardziej wydajny od prefork (brak narzutu czasowego związanego z uruchomieniem odrębnego procesu).

Jeśli na serwerze będziesz hostować tylko i wyłącznie własne serwisy internetowe, korzystając ze stabilnych wersji oprogramowania, MPM worker wydaje się rozsądnym i bezpiecznym rozwiązaniem. Gdybyś chciał udostępniać konta na serwerze również innym użytkownikom, „worker” również będzie dobrą opcją, jednak daje wówczas mniejsze możliwości w zakresie ustawień bezpieczeństwa – o czym należy pamiętać.

Ćwiczenie:

UWAGA! Do każdego polecenia zrób screena i podpisz co on obrazuje.

Odświeża listę pakietów dostępnych w repozytoriach:

 sudo aptitude update

Jeżeli pojawił się komunikat, że brak jest polecenia aptitude możesz je zainstalować innym poleceniem np.

sudo apt-get install aptitude

Zainstaluje apache2:

sudo aptitude install apache2

Możesz też wybrać rodzaj:

sudo apt-get install apache2-mpm-worker

lub

sudo apt-get install apache2-mpm-prefork

my wybierzemy opcję dostępną w „standardzie” (pierwsze polecenie) i sprawdź jaka wersja została zainstalowana poleceniem:

apache2 -V

Sprawdź czy apache zostało zainstalowane poprawnie. W przeglądarce internetowej wpisz adres:

http://127.0.0.1

lub

http://localhost

lub

http://192.168.2.XX

(twój adres IP, możesz go sprawdzić wpisując polecenie ifconfig)

Jeżeli wszystko działa poprawnie powinieneś zobaczyć komunikat „It works!”. Możemy sprawdzić gdzie znajdziemy pliki od apache:

whereis apache2

Katalog zawierający konfigurację znajduje się w:

 /etc/apache2/

apache2.conf – plik zawiera globalne ustawienia naszego serwera,
conf.d – katalog zawiera różne pliki konfiguracyjne, różne moduły mogą tworzyć wewnątrz dodatkowe pliki lub linki,
envvars – plik ze zmiennymi dla naszego środowiska,
httpd.conf – stary plik konfiguracyjny dla apache, domyślnie jest pusty można w nim dopisywać własną konfigurację stosowaną globalnie,
mods-available – zawiera pliki konfiguracyjne modułów, które możemy dodać do apache,
mods-enabled – zawiera linki do plików konfiguracyjnych modułów (mods-available), dodanie linku do nowego modułu spowoduje jego włączenie przy ponownym uruchomieniu apache2,
ports.conf – globalne ustawienie portu, na którym nasłuchuje serwer http,
sites-available – ten katalog zawiera pliki konfiguracji Virtual Hostów. Virtual Hosts umożliwiają tworzenie różnej konfiguracji serwera Apache2 dla różnych stron.
sites-enabled – katalog z linkami do konfiguracji Virtual Hostów wczytywanych podczas
startu naszego Apacha. Dodanie strony będzie widoczne dopiero po restarcie serwera.

Uruchamianie/Wyłączanie/Restartowanie Apache

Aby zobaczyć czy apache jest uruchomiony wpisz:

sudo service apache2 status

Powinieneś zobaczyć Apache2 is running. Oprócz „status” są też inne opcje aby je zobaczyć wpisz:

sudo service apache2

Przy pomocy polecenia spróbuj teraz wyłączyć serwer apache i sam sprawdź przy pomocy przeglądarki czy działa oraz poproś kolegę by sprawdził z innego komputera (musi wpisać twój adres IP).

sudo service apache2 stop

Powinieneś otrzymać błąd mówiący o tym że nie ma podpiętej żadnej domeny:

* Stopping web server apache2
 apache2: Could not reliably determine the server's fully qualified domain
 name, using 127.0.1.1 for ServerName
 ... waiting

Uruchom serwer przy pomocy parametru start i sprawdź czy działa.

Pytania:

  1. Czym się różni apache2-mpm-worker od apache2-mpm-prefork? (s:300)
  2. Jakim poleceniem zainstalujemy apache2?
  3. Jak można sprawdzić czy mamy zainstalowaną wersje prefork czy worker?
  4. Jaki adres IP ma localhost?
  5. Jakie informacje otrzymamy po użyciu polecenia whereis apache2?