Serwer WWW – Apache – Konfiguracja

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

Zmiana domyślnej strony

Jeżeli serwer działa możesz teraz zmienić standardowej strony. Zmień przy pomocy dowolnego edytora zawartość pliku:

/var/www/index.html

Sprawdź czy zmiana odniosła efekt.

Zmiana portu w Apache

Standardowo usługa http działa na porcie 80, ale możemy to zmienić. Aby to zmienić otwórz plik:

/etc/apache2/ports.conf

odnajdź w nim liniki:

NameVirtualHost *:80
Listen 80

i zmień je na:

#NameVirtualHost *:80
 Listen 666

Zapisz plik i wpisz adres swojej strony i sprawdź czy działa. Strona powinna działać dalej. Aby zmienić ustawienia konfiguracji musisz zrestartować serwer.

sudo service apache2 restart

Sprawdź czy serwer działa. Strona nie wyświetli się, aby zobaczyć stronę musisz dodać port w adresie przeglądarki.

http://127.0.0.1:666 

Powinieneś w stopce otrzymać:

Apache/2.2.17 (Ubuntu) Server at 192.168.2.48 Port 666

Przywróć poprzednie ustawienia portów. 

Podstawowa konfiguracja Otwórz plik:

/etc/apache2/sites-available/default

Odnajdź i zmień parametry:

ServerAdmin twoj@adres.pl

DocumentRoot /home/hosting/strona
 <Directory />
 Options FollowSymLinks
 AllowOverride None
 </Directory>
 <Directory /home/hosting/strona/>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride None
 Order allow,deny
 allow from all
 </Directory>

Zapisz plik i zresetuj serwer. Wejdź czy zmiany przyniosły zamierzony efekt. Wpisz adres strony której nie ma:

 http://127.0.0.1/nie-ma-takiego-pliku.html

Powinieneś otrzymać komunikat:

 „Not Found”,

a pod komunikatem zobaczysz sygnaturę:

Apache/2.2.20 (Ubuntu) Server at 127.0.0.1 Port 80

Przejdź do pliku:

/etc/apache2/conf.d/security

Odnajdź tam linijkę z parametrem:

ServerSignature On

i ustaw go na:

ServerSignature EMail

Zresetuj serwer i przejdź na adres:

http://127.0.0.1/nie-ma-takiego-pliku.html

i sprawdź co się zmieniło. Następnie wyłącz sygnaturę. Zastanów się dlaczego sygnatura powinna być wyłączona?

Logowanie błędów

Serwer apache loguje informację. Te logi można sprawdzić,a aby to uczynić musimy
wiedzieć gdzie są zapisywane możemy to sprawdzić w pliku:

/etc/apache2/envvars

W tym pliku sprawdź zawartość zmiennej APACHE_LOG_DIR. Przejdź do tego katalogu
podanego w tej zmiennej i sprawdź jego zawartość. Otwórz pliki access.log oraz error.log i sprawdź jakie informacje się w nich znajdują.

Przejdź do katalogu i sprawdź dostępne moduły:

/etc/apache2/mods-available

Przejdź do katalogu i sprawdź włączone moduły:

/etc/apache2/mods-enabled

Następnie załącz moduł:

sudo a2enmod userdir

Przejdź do katalogu i sprawdź czy moduł został załaczony:

/etc/apache2/mods-enabled

Jeżeli moduł został poprawnie załączony to od tej pory każdy użytkownik może mieć swoją własną stronę. Załóż konto użytkownika o nazwie mojastrona i w jego katalogu domowym utwórz katalog public_html. W tym katalogu utwórz katalog public_html z plikiem index.html.

Przejdź pod adres:

http://127.0.0.1/~mojastrona/

i sprawdź czy poprawnie wyświetla się zawartość stworzonego przez ciebie pliku.

  • a2enmod – włącza moduł
  • a2dismod – wyłącza moduł
  • a2ensite – włącza stronę
  • a2dissite – wyłącza stronę

Odinstalowanie Apache w wersji worker i instalacja w wersji prefork Odinstalujemy teraz apache wraz ze wszystkimi plikami konfiguracyjnymi:

sudo apt-get remove --purge apache2 apache2-utils

Sprawdź czy serwer został usunięty.

Zainstaluj apache w wersji prefork:

sudo aptitude search prefork
sudo aptitude install apache2-mpm-prefork

Sprawdź mod status jest zainstalowany jeżeli nie jest zainstaluj go. Możesz sprawdzić czy działa wpisując adres i zapoznaj się legendą:

http://127.0.0.1/server-status

(nie zamykaj tej strony)

W pliku:

/etc/apache2/apache2.conf

Podaj następujące ustawienia

<IfModule mpm_prefork_module>
 StartServers 1000
 MinSpareServers 20
 MaxSpareServers 100
 MaxClients 150
 MaxRequestsPerChild 0
 </IfModule>

Zresetuj serwer i otwórz w nowej karcie adres:

http://127.0.0.1/server-status

Porównaj z poprzednio otwartym i sprawdź co się zmieniło. Zresetuj serwer i wpisz kilka razy polecenie zliczające ilośc otwarych procesów apache2:

ps ax | grep apache| wc -l

Co można zaobserwować?

Pytania:

  1. Po instalacji serwera gdzie znajduje się standardowo katalog przeznaczony na stronę WWW?
  2. Co znajduje się w katalogu mods-enabled?
  3. Napisz polecenie umożliwiające wyłączenie modułu userdir.
  4.  W wersji prefork co oznacza zmienna MinSpareServers?
  5. Gdzie logowane są w standardzie błędy apache2?