Ubuntu 20 sieciowy [MK, 20/21]
Lekcja 9. Instalacja i konfigu...   Edytor
Instalacja serwera Apache

Instalacja serwera Apache

Pliki konfiguracyjne serwera Apache znajdują się w katalogu /etc/apache2. Głównym plikiem jest apache2.conf, w którym oprócz opcji konfiguracyjnych znajdują się również odnośniki do innych plików konfiguracyjnych.

W pliku envvars znajdują się stałe wartości tekstowe używane w plikach konfiguracyjnych. Na przykład domyślny użytkownik i grupa, które są tworzone w czasie instalacji serwera Apache nazywają się www-data. Serwer działa w oparciu o uprawnienia tego użytkownika i tej grupy. Również pliki i katalogi udostępniane przez serwer WWW powinny mieć tak ustawione uprawnienia, aby były widoczne dla użytkownika www-data. Wartość www-data jest zapisana w pliku envvars pod stałą APACHE_RUN_USER, dlatego w innych plikach konfiguracyjnych możemy się odwoływać do tej wartości właśnie poprzez nazwę APACHE_RUN_USER.

Plik magic zawiera wzorce kodowania plików i typów MIME (ang. Multipurpose Internet Mail Extensions). Są one wykorzystywane przez moduł Apache mod_mime_magic, który zapewnia alternatywny sposób ustalania typu treści dostarczanych przez serwer WWW.

Plik ports.conf pozwala zmienić domyślne porty połączenia ze stronami internetowymi. Dla połączeń nieszyfrowanych po protokole http jest to port 80, natomiast połączenia szyfrowane po protokole https odbywają się domyślnie na porcie 443.

Główny plik konfiguracyjny serwera Apache jest zazwyczaj uzupełniany przez pomocnicze pliki konfiguracyjne. Znajdują się one w katalogach mods-available, conf-available i sites-available jako osobne pliki konfiguracyjne do witryn obsługiwanych przez nasz serwer. Jest to dobre rozwiązanie, ponieważ na serwerze może być hostowane wiele witryn internetowych. Wtedy każda z nich będzie miała dedykowane pliki konfiguracyjne.

Podział na katalogi związany jest z przeznaczeniem poszczególnych plików. I tak w mods-available znajdują się moduły dołączane do witryny, np. auth_basic zapewnia prostą autoryzację użytkownika na stronie. W katalogu conf-available znajdziemy bardziej szczegółowe pliki konfiguracyjne, typu komunikaty obsługi podstawowych błędów HTTP w językach innych niż angielski. Z kolei w sites-available znajdują się pliki odpowiedzialne za tworzenie wirtualnych hostów, czyli pozwalające umieszczać kilka stron, widocznych pod różnymi adresami, ale znajdujących się fizycznie na jednym serwerze.

Pliki z katalogów z nazwą kończącą się na -available są plikami możliwymi do użycia. O tym, które z nich zostaną dołączone i aktywowane na naszym serwerze, decydują dowiązania symboliczne znajdujące się w katalogach z zakończeniem -enabled. Są to katalogi: mods-enabled, conf-enabled i sites-enabled.

We wszystkich plikach konfiguracyjnych serwera Apache znak # oznacza początek linii komentarza. Należy również pamiętać, że w systemach z rodziny Linux małe i duże litery to różne znaki.

Położenie głównego katalogu zawierającego pliki stron jest określone w plikach konfiguracyjnych przez zmienną DocumentRoot. Najczęściej jest to ścieżka /var/www/html.


Definicje

  • Definicja 1.
    Co definiuje dyrektywa DirectoryIndex w konfiguracji serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 2.
    Co definiuje dyrektywa AuthUserFile w konfiguracji serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 3.
    Co definiuje dyrektywa ErrorLog w pliku apache2.conf?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 4.
    Co definiuje dyrektywa LogLevel w pliku apache2.conf i jakie może przyjmować wartości?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 5.
    Co definiuje dyrektywa AccessFileName w pliku apache2.conf?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 6.
    Co może zawierać sekcja <Directory> w pliku apache2.conf?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 7.
    Na co pozwala dyrektywa Include w pliku apache2.conf?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 8.
    Jaka jest różnica pomiędzy dyrektywą Include a IncludeOptional w pliku apache2.conf?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 9.
    Na co pozwala dyrektywa AllowOverride w pliku apache2.conf i gdzie może być stosowana?
  • Aby zobaczyć tą treść musisz być zalogowany

Pytania

  • Pytanie 1.
    W jakim katalogu, w systemie Ubuntu, znajdują się pliki konfiguracyjne serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 2.
    Jak nazywa się główny plik konfiguracyjny serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 3.
    W jakim pliku znajdują się stałe wartości tekstowe używane w plikach konfiguracyjnych serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 4.
    Jak nazywa się użytkownik i grupa, które są tworzone w czasie instalacji serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 5.
    W oparciu o uprawnienia jakiego użytkownika działa serwer Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 6.
    W jakim katalogu domyślnie znajdują się pliki stron serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 7.
    Na jakim porcie domyślnie działa komunikacja protokołu HTTP (Hypertext Transfer Protocol)
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 8.
    Na jakim porcie domyślnie działa komunikacja protokołu HTTPS (Hypertext Transfer Protocol Secure)?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 9.
    W jakim pliku konfiguracyjnym serwera Apache możemy zmienić domyślny port połączenia z serwerem WWW?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 10.
    W jakim katalogu serwera Apache znajdują się osobne pliki konfiguracyjne do wirtualnych hostów obsługiwanych przez serwer?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 11.
    Jaki znak, w plikach konfiguracyjnych serwera Apache, oznacza początek komentarza?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 12.
    Jaka dyrektywa, w plikach konfiguracyjnych serwera Apache, określa położenie głównego katalogu stron internetowych?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 13.
    W jakim katalogu znajdują się, domyślnie (zaraz po instalacji), pliki stron serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 14.
    Podaj poprawną ścieżkę do pliku, w którym znajduje się identyfikator procesu uruchomionego serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 15.
    W jakim pliku definiujemy użytkowników i hasła dostępu do witryn serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 16.
    Jak nazywa się stała konfiguracyjna, w której jest zapisana ścieżka do pliku z identyfikatorem procesu serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 17.
    Pod jaką zmienną konfiguracyjną jest zapisany użytkownik w oparciu, o którego działa serwer Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 18.
    Jakim poleceniem aktywujemy moduł serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 19.
    Jakim poleceniem aktywujemy dodatkowy plik konfiguracyjny serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 20.
    Jakim poleceniem przeładujemy konfigurację serwera Apache bez jego zatrzymywania?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 21.
    Jaka jest domyślna nazwa pliku, którym możemy zmienić ustawienia serwera Apache dla katalogu, w którym ten plik się znajduje.
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 22.
    Które narzędzie jest wykorzystywane przez serwisy WWW po stronie klienta?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 23.
    Certyfikat SSL jest stosowany do
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 24.
    Jaka organizacja zajmuje się ustalaniem standardów dla języka HTML?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 25.
    Jakim poleceniem wygenerujemy plik z loginami i hasłami użytkowników mających dostęp do zabezpieczonych witryn serwera Apache?
  • Aby zobaczyć tą treść musisz być zalogowany

Zadania

Zadanie 1. #
  1. Zaloguj się na konto zwykłego użytkownika i w pierwszej kolejności zainstaluj pakiet dodatków niezbędnych do pracy serwera WWW: sudo apt-get install build-essential
  2. Teraz zainstaluj serwer WWW. Najpopularniejszym serwerem WWW w systemach linuksowych jest Apache: sudo apt-get install apache2
  3. Bezpieczniej będzie jak wykonasz kopię głównego pliku konfiguracyjnego serwera Apache. Gdy wprowadzisz wiele zmian w pliku konfiguracyjnym, to zawsze będzie możliwość przywrócenia ustawień początkowych serwera. Kopię pliku konfiguracyjnego wykonasz poleceniem: sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.old
  4. Uruchom usługę poleceniem: sudo service apache2 restart
  5. Uruchom przeglądarkę w lokalnym systemie i w polu adresu wpisz adres IP swojego serwera. Jeśli konfiguracja jest poprawna, to powinna pojawić się strona testowa serwera Apache.
  6. Jeżeli zainstalowałeś system Ubuntu na wirtualnej maszynie, to spróbuj tak skonfigurować ustawienia sieciowe wirtualnej maszyny, aby możliwe było otworzenie tej samej strony testowej w przeglądarce głównego systemu

Zadanie 2. #
  1. W pliku /etc/apache2/sites-available/000-default.conf odszukaj instrukcję DocumentRoot. Wskazuje ona lokalizację stron internetowych udostępnianych przy użyciu serwera Apache
  2. Przejdź do katalogu wskazywanego przez instrukcję DocumentRoot i zmień nazwę znajdującego się tam pliku z index.html na index.html.old
  3. Będąc w katalogu wskazywanym przez instrukcję DocumentRoot utwórz nowy plik index.html z dowolną stroną internetową. Możesz stworzyć własną stronę o tym co Cię interesuje lub posłużyć się gotowym przykładem ze strony getbootstrap.com
  4. Sprawdź w przeglądarce czy strona wyświetla się poprawnie

Zadanie 3. #

Pobierz ze strony html5boilerplate.com rozbudowany szablon strony internetowej. Rozpakuj i umieść wszystkie jego pliki i katalogi w folderze html5 w katalogu głównym stron internetowych serwera Apache. Skonfiguruj serwer w taki sposób, aby pliki z katalogu html5 były widoczne w przeglądarce na porcie 85 (pod adresem 127.0.0.1:85 lub localhost:85).

Jeśli potrafisz, to rozbuduj szablon strony dodając do niego własny kod HTML, style CSS, skrypty JavaScript lub obrazy.

Zadanie 4. #
Dodaj do serwera Apache możliwość wyświetlania stron internetowych umieszczonych w folderach public-html znajdujących się w katalogach domowych wszystkich użytkowników serwera. Załaduj moduł userdir i zapoznaj się z jego plikiem konfiguracyjnym.

Zadanie 5. #
Upewnij się, że na serwerze jest załadowany moduł dir i zapoznaj się z jego plikiem konfiguracyjnym. Do czego służy instrukcja DirectoryIndex? Skonfiguruj serwer Apache w taki sposób, aby możliwe było jednoczesne wyświetlanie trzech różnych stron internetowych:
  1. Pierwsza strona powinna być widoczna pod adresem 127.0.0.1 na domyślnym porcie 80 i wyświetlać jeden akapit czerwonego tekstu: Strona widoczna na porcie 80.
  2. Druga strona powinna być widoczna pod adresem 127.0.0.1:81 i wyświetlać jeden akapit wyjustowanego tekstu: Strona widoczna na porcie 81.
  3. Trzecia strona powinna być widoczna pod adresem 127.0.0.1:82 i wyświetlać jeden akapit tekstu podkreślonego przerywaną linią w kolorze niebieskim: Strona widoczna na porcie 82.

Zadanie 6. #
Dodaj na do serwera Apache możliwość przetwarzania stron napisanych przy użyciu języka PHP. Zainstaluj interpreter języka PHP i załaduj odpowiednie moduły serwera Apache. Sprawdź poprawność konfiguracji poprzez wgranie na serwer i otworzenie w przeglądarce pliku index.php z poniższą zawartością:
<html>
 <head>
  <title>PHP Test</title>
 </head>
 <body>
 <p><?php echo 'Witaj świecie!'; ?></p>
 <hr />
 <?php phpinfo(); ?> 
 </body>
</html>

Zadanie 7. #
  1. Utwórz na serwerze Apache wirtualny host, działający na porcie 83, którego plik konfiguracyjny będzie się nazywał 083-default.conf, natomiast pliki stron będą umieszczone w katalogu /var/www/html/port83. W katalogu tym ma znajdować się tylko jeden plik index.html z następującym komunikatem: Ta strona działa na porcie 83 i jest zabezpieczona hasłem
  2. W pliku konfiguracyjnym ports.conf wpisz dodatkowy port, na którym będzie nasłuchiwał serwer: Listen 83
  3. Aktywuj wirtualny host poleceniem sudo a2ensite 083-default.conf i restartuj serwer Apache
  4. Jeśli wszystkie dotychczasowe kroki zostały wykonane poprawnie, to wirtualny host powinien być widoczny w przeglądarce pod adresem 127.0.0.1:83
  5. Wygeneruj plik .htpasswd, który będzie zawierał nazwy użytkowników i ich zaszyfrowane hasła. Plik ten ma się znajdować w katalogu konfiguracyjnym serwera Apache. Tworzymy go poleceniem: sudo htpasswd -c /etc/apache2/.htpasswd uzytkownik. Parametr -c dodajemy tylko za pierwszym razem, kiedy tworzymy plik .htpasswd. Razem z plikiem utworzymy hasło, które będzie znajdowało się w pliku w postaci zaszyfrowanej. Należy je zapisać lub zapamiętać.
  6. W kolejnym kroku dodamy do pliku 083-default.conf dyrektywy zabezpieczające dostęp do wirtualnego hosta poprzez uwierzytelnianie za pomocą loginu i hasła. Do pliku 083-default.conf, wewnątrz znacznika <VitrualHost> należy dodać następujące linie:
    <Directory /var/www/html/port83>
      AuthType Basic
      AuthName "Wymagana autoryzacja"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
    </Directory>
    
  7. Na koniec ładujemy nową konfigurację serwera Apache (np. poleceniem: sudo systemctl reload apache2) i w przeglądarce wchodzimy na adres 127.0.0.1:83

2019-03-04 22:23:40 2020-11-17 04:53:35


© 2024 Młody Informatyk v. 0.1.7717