Inštalácia web servera Apache2

Úloha

  1. Všetky nasledovné úlohy vykonajte prostredníctvom vzdialeného prístupu z windows pracovnej stanice.
  2. Nainštalujte webový server apache2. Overte či server funguje.
  3. Vyberte si jedného užívateľa ktorý bude spravovať web stránku servera. Priradte ho skupiny www-data
  4. Vytvorte stránku servera na ktorej bude meno servera a meno jeho správcu. Tiež tam bude odkaz na pôvodnú stránku ktorá sa pôvodne zobrazovala po inštalácii. Ďalej tam má byť odkaz na adresu www.sosst.tk/~peter.plesnik/2024/SXT4AE.
  5. Vytvorte odkazy na webové servery všetkých spolužiakov.
  6. Povolte modul ktorý umožní aby užívatelia servera mali svoje osobné stránky
  7. Vytvorte osobnú stránku užívateľa. Na hlavnej stránke servera pridajte odkaz na túto osobnú stránku
  8. Pridajte modul s podporou jazyka PHP
  9. Overte funkčnosť PHP interpretera

Teória

Postup

  1. Spustite si svoj server. Potom sa prepnite na windows stanicu, prihláste sa a zvyšok cvičenia už pracujte len tu.
  2. Prihláste sa na server prostredníctvom ssh prístupu pomocou programu putty. Po prihlásení urobte zo seba správcu.
  3. Vyhľadanie inštalačných balíkov
    apt list | grep apache |less
    Zvislá čiara je Altgr+W
    Ukončenie prezerania Q
  4. Inštalácia
    apt install apache2
  5. Test stránky Otvorte si prehliadač a zadajte ako adresu IP adresu servera. Mala by sa otvoriť takáto východzia web stránka

    Ak sa stránka neotvorí skontrolujte si či je použitý protokol http://. Všimnite si červeno orámované časti. Prvá ukazuje kde sa nachádza súbor ktorý páve vidíte. Druhá ukazuje kde sa nachádzajú konfiguračné súbory servera a pod nimi je aj popis čo obsahujú.
  6. Prihláste sa znova cez putty ako vybraný užívateľ ktorý bude spravovať web stránku. Pokúste premenovať aktuálny hlavný súbor webovej stránky na default.html
    tester@kaktus:~$ cd /var/www/html/ tester@kaktus:/var/www/html$ ls index.html tester@kaktus:/var/www/html$ mv index.html default.html #pokus o premenovanie suboru mv: cannot move 'index.html' to 'default.html': Prístup odmietnutý tester@kaktus:/var/www/html$ ls -l celkom 12 -rw-r--r-- 1 root root 10701 jan 23 10:40 index.html tester@kaktus:/var/www/html$ ls -l ../ celkom 4 drwxr-xr-x 2 root root 4096 jan 23 10:40 html tester@kaktus:/var/www/html$ ls -l ../../ celkom 40 drwxr-xr-x 2 root root 4096 jan 23 11:57 backups drwxr-xr-x 16 root root 4096 jan 23 11:35 cache drwxr-xr-x 46 root root 4096 jan 23 11:35 lib drwxrwsr-x 2 root staff 4096 júl 14 2023 local lrwxrwxrwx 1 root root 9 okt 17 10:30 lock -> /run/lock drwxr-xr-x 8 root root 4096 jan 23 11:20 log drwxrwsr-x 2 root mail 4096 okt 17 10:30 mail drwxr-xr-x 2 root root 4096 okt 17 10:30 opt lrwxrwxrwx 1 root root 4 okt 17 10:30 run -> /run drwxr-xr-x 3 root root 4096 okt 17 10:32 spool drwxrwxrwt 8 root root 4096 jan 23 11:35 tmp drwxr-xr-x 3 root root 4096 jan 23 10:40 www
    Vyhodnodte zistené skutočnosti
  7. Zistite aké procesy s menom apache na systéme bežia
    root@kaktus:~# ps aux |grep apache root 579 0.0 0.0 6564 4640 ? Ss 10:43 0:00 /usr/sbin/apache2 -k start www-data 581 0.0 0.1 1212580 7764 ? Sl 10:43 0:00 /usr/sbin/apache2 -k start www-data 582 0.0 0.1 1212532 6860 ? Sl 10:43 0:00 /usr/sbin/apache2 -k start root 875 0.0 0.0 6352 2148 pts/0 S+ 12:21 0:00 grep apache
    Ako rozumiete zisteným údajom?
  8. Zistite v akých skupinách sa vybraný užívateľ nachádza.
    root@kaktus:~#id tester uid=1002(tester) gid=1002(tester) skupiny=1002(tester),100(users)
  9. Pridajte užívateľa do skupiny www-data
    root@kaktus:~# usermod -a -G www-data tester root@kaktus:~# id tester uid=1002(tester) gid=1002(tester) skupiny=1002(tester),33(www-data),100(users)
  10. Zmente skupinu root pre adresár /var/wwww/html a všetky jeho súbory a podadresáre na skupinuwww-data. To isté urobte aj pre súbor index.html ktorý sa v danom adresári nachádza.
    root@kaktus:~# chown -R root:www-data /var/www/html/ root@kaktus:~# ls -lR /var/www/ /var/www/: celkom 4 drwxr-xr-x 2 root www-data 4096 jan 23 10:40 html /var/www/html: celkom 12 -rw-r--r-- 1 root www-data 10701 jan 23 10:40 index.html
  11. Nastavte prístupové práva tak aby členovia skupiny www-data mohli plne spravovať webovú stránku servera. Teda aby mohli nielen prezerať a čítať súbory, ale aj zapisovať, mazať, premenovávať.
    Pozor ak použijete predošlý prístup vyrobíte si jeden nepekný bezpečnostný problém
    root@kaktus:/var/www/html# chmod 775 -R /var/www/html/ root@kaktus:/var/www/html# ls -lR /var/www /var/www: celkom 4 drwxrwxr-x 2 root www-data 4096 jan 25 07:50 html /var/www/html: celkom 12 -rwxrwxr-x 1 root www-data 10701 jan 23 10:40 index.html
    Ten problém spočíva v tom že práva sa nastavili rovnako pre súbory ako aj pre adresáre. No a čo je dobré pre adresár je v tomto prípade nie dobré pre súbor. Pretože to umožňuje súbor spustiť. Pokiaľ je v ňom iba html obsah tak to nie je až taký problém. Problémom by sa to stalo v momente keď by tam niekto miesto HTML vložil nejaký skript. Preto to musíme napraviť.
    root@kaktus:/var/www/html# chmod 664 /var/www/html/* root@kaktus:/var/www/html# ls -lR /var/www /var/www: celkom 4 drwxrwxr-x 2 root www-data 4096 jan 25 07:50 html /var/www/html: celkom 12 -rw-rw-r-- 1 root www-data 10701 jan 23 10:40 index.html
  12. Po tejto ťažkej administrátorskej činnosti je všetko pripravené aby užívateľ mohol pracovať s web stránkou ešte si overíme či naozaj sa užívateľ nachádza v skupine www-data
    tester@kaktus:~$ groups tester users
    a on nieje pritom
    tester@kaktus:~$ id tester uid=1002(tester) gid=1002(tester) skupiny=1002(tester),33(www-data),100(users)
    Hovorí že už je. Vysvetlenie je nasledujúce. Root užívateľa pridal do skupiny počas jeho prihlásenia a nové nastavenie sa prejaví až pri ďalšom prihlásení. Je preto potrebné sa odhlásiť a znova prihlásiť.
  13. Druhý pokus o premenovanie súboru
    tester@kaktus:~$ cd /var/www/html/ tester@kaktus:/var/www/html$ mv index.html default.html tester@kaktus:/var/www/html$ ls default.html tester@kaktus:/var/www/html$
    Žiadna chyba že prístup bol odmietnutý. Súbor bol premenovaný
  14. Čo ak to opäť nefunguje? Nuž to znamená že ste sa niekde v záplave tých rootovských akcií stratili. V takom prípade si treba všetko skontrolovať a tam kde je chyba tak ju napraviť V postate sú možné nasledovné opomenutia:
Kontrolu urobíme pmocou nasledovných príkazov
tester@kaktus:/var/www/html$ ls -lR /var/www/ /var/www/: celkom 4 drwxrwxr-x 2 root www-data 4096 jan 25 08:27 html /var/www/html: celkom 12 -rw-rw-r-- 1 root www-data 10701 jan 23 10:40 index.html tester@kaktus:/var/www/html$ id tester uid=1002(tester) gid=1002(tester) skupiny=1002(tester),33(www-data),100(users) tester@kaktus:/var/www/html$ groups tester www-data users
  • Urobte znovu načítanie stránky servera a uvedomte si čo sa deje a prečo.
  • Vytvorte súbor index.html
    tester@kaktus:/var/www/html$ touch index.html tester@kaktus:/var/www/html$ ls -l celkom 12 -rw-rw-r-- 1 root www-data 10701 jan 23 10:40 default.html -rw-r--r-- 1 tester tester 0 jan 25 08:48 index.html
    Opäť načítajte stránku a vysvetlite čo sa stalo.
  • Teraz vytvorte stránku servera podľa požiadaviek v zadaní. HTML ste sa učili na iných predmetoch. Teraz nastal čas oprášiť vedomosti a použiť ich.
  • Povolte modul ktorý umožní aby si užívatelia mohli na serveri vytvárať svoje vlastné stránky