{"id":191,"date":"2021-03-05T11:59:36","date_gmt":"2021-03-05T10:59:36","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=191"},"modified":"2021-06-29T06:48:51","modified_gmt":"2021-06-29T04:48:51","slug":"instalacja-serwera-www-na-ubuntu-20-4","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/instalacja-serwera-www-na-ubuntu-20-4\/","title":{"rendered":"Instalacja serwera WWW na Ubuntu 20.4"},"content":{"rendered":"<p>Instalacja serwera WWW w systemie Linux Ubuntu 30.4 opisana w kilku krokach.<!--more--><\/p>\n<h2>Krok 1 &#8211; aktualizacja systemu i repozytori\u00f3w<\/h2>\n<p>Przed wykonaniem konfiguracji naszego Linuxa nale\u017cy zaktualizowa\u0107 nasz system i repozytoria poleceniami<\/p>\n<p><code>sudo apt update<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-192 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/linux-update.png\" alt=\"\" width=\"546\" height=\"140\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/linux-update.png 546w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/linux-update-300x77.png 300w\" sizes=\"auto, (max-width: 546px) 100vw, 546px\" \/><\/p>\n<p>oraz<\/p>\n<p><code>sudo apt upgrade<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-193 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/linux-upgrade.png\" alt=\"\" width=\"566\" height=\"175\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/linux-upgrade.png 566w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/linux-upgrade-300x93.png 300w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/p>\n<p>Gdy pobrane zostan\u0105 aktualne wersje naszego oprogramowania, mo\u017cemy przyst\u0105pi\u0107 do prac zwi\u0105zanych z instalacj\u0105 i konfiguracj\u0105 serwera APACHE.<\/p>\n<h2>Krok 2 &#8211; Instalacja Apache 2 i sprawdzenie naszej instalacji<\/h2>\n<p>Za pomoc\u0105 poni\u017cszego polecenia instalujemy serwer apache2<\/p>\n<p><code>sudo apt install apache2<\/code><\/p>\n<p>Wywo\u0142ane polecenie w terminalu poprosi nas o potwierdzenie, jak na screenie ni\u017cej. Klikamy wi\u0119c T i [ENTER].<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-195 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/install-apache2.png\" alt=\"\" width=\"578\" height=\"380\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/install-apache2.png 578w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/install-apache2-300x197.png 300w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/p>\n<p>W tym kroku, po zako\u0144czeniu instalacji, mo\u017cemy sprawdzi\u0107 czy serwer poprawnie si\u0119 zainstalowa\u0142, sprawdzaj\u0105c jego wersj\u0119 poleceniem<\/p>\n<p><code>apache2 -version<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-196 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/apache2-version.png\" alt=\"\" width=\"573\" height=\"80\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/apache2-version.png 573w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/apache2-version-300x42.png 300w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/p>\n<p>Na screenie wy\u017cej, po wpisaniu polecenia sprawdzaj\u0105cego wersj\u0119 naszego serwera WWW, mo\u017cemy zobaczy\u0107 takie informacje jak Server version oraz Server built. Je\u015bli te komunikaty zobaczymy, mo\u017cemy by\u0107 pewni, \u017ce serwer Apache2 poprawnie si\u0119 zainstalowa\u0142 na naszym Ubuntu.<\/p>\n<h2>Krok 3 &#8211; konfiguracji zapory sieciowej<\/h2>\n<p>Konfiguracja naszej zapory sieciowej jest konieczna. Je\u015bli tego nie zrobimy, nasz serwer nie uzyska dost\u0119pu do sieci zewn\u0119trznej. Musimy wi\u0119c w UFW odblokowa\u0107 kilka port\u00f3w dla Apache2.<\/p>\n<p>W pierwszej kolejno\u015bci sprawd\u017amy, jakie profile dla naszego Apache znajduj\u0105 si\u0119 aktualnie w konfiguracji naszego Firewalla, s\u0142u\u017cy temu polecenie<\/p>\n<p><code>sudo ufw app list<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-199 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h04_40.png\" alt=\"\" width=\"362\" height=\"171\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h04_40.png 362w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h04_40-300x142.png 300w\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" \/><\/p>\n<p>Mamy na naszej li\u015bcie 3 profile, 3 poziomy bezpiecze\u0144stwa. Apache zapewni nam maksymalne ograniczenia przy w\u0142\u0105czonym porcie 80 (na porcie 80 domy\u015blnie wy\u015bwietlaj\u0105 si\u0119 strony WWW).<\/p>\n<p>Teraz powinni\u015bmy zezwoli\u0107 aby Apache w naszym UFW mia\u0142 odblokowany port 80 dla ruchu sieciowego (nie lokalnego a w\u0142a\u015bnie sieciowego). Korzystaj\u0105c z konfiguracji dla Apache w UFW, odblokowujemy port, zachowuj\u0105c przy tym maksymalne bezpiecze\u0144stwo. S\u0142u\u017cy temu polecenie:<br \/>\n<code>sudo ufw allow 'Apache'<\/code><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-200 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h11_58.png\" alt=\"\" width=\"430\" height=\"75\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h11_58.png 430w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h11_58-300x52.png 300w\" sizes=\"auto, (max-width: 430px) 100vw, 430px\" \/>Mamy teraz zaktualizowane regu\u0142y naszego UFW, jak wida\u0107 na powy\u017cszym obrazku.<\/p>\n<p>Przechodzimy dalej, czyli<strong> sprawd\u017amy status UFW<\/strong><\/p>\n<p><code>sudo ufw status<\/code><\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-201 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h15_49.png\" alt=\"\" width=\"417\" height=\"67\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h15_49.png 417w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h15_49-300x48.png 300w\" sizes=\"auto, (max-width: 417px) 100vw, 417px\" \/><\/strong><\/p>\n<p>Je\u015bli jeste\u015bmy w podobnej sytuacji, czyli otrzymamy komunikat o tym, \u017ce nasz Firewall jest nieaktywnym wystarczy go w\u0142\u0105czy\u0107 poleceniem<\/p>\n<p><code>sudo ufw enable<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-202 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/ubuntu-ufw-enable.png\" alt=\"\" width=\"442\" height=\"166\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/ubuntu-ufw-enable.png 442w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/ubuntu-ufw-enable-300x113.png 300w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/p>\n<p>Na screenie wy\u017cej mamy teraz informacj\u0119 o tym, \u017ce nasz UFW jest aktywny i dzia\u0142a wsz\u0119dzie dla Apache.<\/p>\n<p>Analogicznie w przysz\u0142o\u015bci, gdyby\u015bmy chcieli odblokowa\u0107 jakie\u015b porty, odblokowa\u0107 na przyk\u0142ad SSH czy zewn\u0119trzny adres IP, po\u0142\u0105czenia przychodz\u0105ce, wychodz\u0105ce, itp. mo\u017cemy to robi\u0107 w podobny spos\u00f3b a kilka przydatnych informacji na ten temat znajdziecie cho\u0107by <a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04\" target=\"_blank\" rel=\"noindex noopener nofollow\">pod tym adresem<\/a>.<\/p>\n<h2>Krok 4 &#8211; Konfiguracja serwera WWW Apache<\/h2>\n<p>Najpierw nale\u017cy sprawdzi\u0107, czy nasz Apache2 &#8222;jest \u017cywy&#8221; czyli czy us\u0142uga jest aktywna. S\u0142u\u017cy do tego polecenie<\/p>\n<pre><code>sudo systemctl status apache2<\/code><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-205 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h36_49.png\" alt=\"\" width=\"791\" height=\"216\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h36_49.png 791w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h36_49-300x82.png 300w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h36_49-768x210.png 768w\" sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><\/p>\n<p>Status na powy\u017cszym screenie jest oznaczony na zielono jako active (running). To nam powinno wystarczy\u0107. Gdyby\u015bmy mieli zabi\u0107 proces apache2, mamy tutaj te\u017c przy okazji informacj\u0119, na jakim PID jest uruchomiona us\u0142uga.<\/p>\n<p>Teraz musimy sprawdzi\u0107 pod jakim adresem IP widnieje nasza us\u0142uga, gdzie znajduje si\u0119 nasz host. W tym celu wpisujemy polecenie<\/p>\n<p><code>hostname -I<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-206 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h39_05.png\" alt=\"\" width=\"332\" height=\"49\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h39_05.png 332w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h39_05-300x44.png 300w\" sizes=\"auto, (max-width: 332px) 100vw, 332px\" \/><\/p>\n<p>Je\u015bli korzystacie na przyk\u0142ad z Virtualbox&#8217;a i Wasza lokalna sie\u0107 domowa znajduje si\u0119 w sieci 192.168.1.0-255 to wystarczy (w VirtualBox) wej\u015b\u0107 w <em>Maszyna -&gt; Ustawienia -&gt; Sie\u0107<\/em> i tutaj zmieni\u0107 domy\u015blne po\u0142\u0105czenie do<em> NAT<\/em> na <em>Mostkowana karta sieciowa (bridged)<\/em> jak na za\u0142\u0105czonym ni\u017cej obrazku.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-207 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h45_04.png\" alt=\"\" width=\"750\" height=\"371\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h45_04.png 750w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h45_04-300x148.png 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>ponownie wykonujemy nasz test i jak wida\u0107 ni\u017cej, nasz serwer WWW otrzyma\u0142 przydzielony za pomoc\u0105 (routera adres IP poprzez DHCP).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-208 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h46_37.png\" alt=\"\" width=\"427\" height=\"120\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h46_37.png 427w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/2021-03-05_11h46_37-300x84.png 300w\" sizes=\"auto, (max-width: 427px) 100vw, 427px\" \/><\/p>\n<p>Nie pozostaje nam nic innego na tym etapie jak sprawdzi\u0107 na innym komputerze w domowej sieci, czy nasz serwer faktycznie dzia\u0142a \ud83d\ude42 Wystarczy, \u017ce wpiszemy adres ip, jaki wy\u015bwietli\u0142 nam si\u0119 w terminalu po wpisaniu polecenia <em>hostname -I. <\/em>W moim przypadku, w przegl\u0105darce internetowej wpisuj\u0119 <em>192.168.1.24. <\/em>Je\u015bli wszystko przebieg\u0142o pomy\u015blnie i nie wszystkie kroki z tego tutoriala zosta\u0142y wykonane, pojawi si\u0119 Wam obrazek jak ni\u017cej:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-209 aligncenter\" src=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/apache-web-server.png\" alt=\"\" width=\"976\" height=\"747\" title=\"\" srcset=\"https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/apache-web-server.png 976w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/apache-web-server-300x230.png 300w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/apache-web-server-768x588.png 768w, https:\/\/piotrgabriel.pl\/wiki\/wp-content\/uploads\/2021\/03\/apache-web-server-820x628.png 820w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><\/p>\n<p>Na tym mo\u017cemy zako\u0144czy\u0107 pierwsz\u0105 cz\u0119\u015b\u0107 naszego poradnika.<\/p>\n<p>Podsumowuj\u0105c &#8211; potrafimy odblokowywa\u0107 porty i us\u0142ug\u0119 Apache2, instalowa\u0107 j\u0105 i mostowa\u0107 wirtualn\u0105 sie\u0107 naszej wirtualnej maszyny z sieci\u0105 domow\u0105.<\/p>\n<p>W kolejnym kroku przyst\u0105pimy do konfiguracji wirtualnych domen, na kt\u00f3rych mo\u017cemy w przysz\u0142o\u015bci pracowa\u0107.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instalacja serwera WWW w systemie Linux Ubuntu 30.4 opisana w kilku krokach.<\/p>\n","protected":false},"author":1,"featured_media":203,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59,52],"tags":[53,54,56,55],"class_list":["post-191","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-systemy-operacyjne","category-linux","tag-apache","tag-apache2","tag-linux-firewall","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/comments?post=191"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/191\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media\/203"}],"wp:attachment":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media?parent=191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}