Úvod
Apache HTTP Server je open-source webový server od spoločnosti Apache Software Foundation. Je to softvér, ktorý spája váš lokálny server s webovými prehliadačmi, ako sú Firefox alebo Google Chrome. Toto spojenie sa používa na odosielanie a prijímanie súborov a údajov.
Je to najpopulárnejší server na svete. Viac ako 40 % všetkých webových stránok na svete beží na Apache HTTP. Dôvodom jeho popularity je vysoká prispôsobivosť, skvelá schopnosť integrácie a spoľahlivá podpora médií. Apache funguje na architektúre založenej na moduloch. Môžete upravovať jednotlivé moduly a pridávať alebo odstraňovať rôzne funkcie. V tomto návode vás prevedieme inštaláciou servera Apache na Ubuntu 18.04.
Pred inštaláciou
Predtým, ako začnete inštalovať Apache, musíte splniť niekoľko požiadaviek. Na začiatok sa uistite, že už máte na lokálnom serveri nakonfigurovaného používateľa bez oprávnení root s privilégiami sudo. Ďalšou vecou, ktorú budete potrebovať, je firewall. Musíte povoliť základný firewall a zablokovať nepodstatné porty. Pred spustením inštalácie sa prihláste pod svojím používateľom bez oprávnení root s privilégiami. Svoj server môžete jednoducho nainštalovať podľa nášho návodu na nastavenie servera Ubuntu.
Ako nainštalovať webový server Apache na Ubuntu 18.04
Ak ste splnili predpoklady, môžete prejsť k samotnej inštalácii. Webový server Apache môžete nainštalovať a preskúmať v 6 jednoduchých krokoch:
Krok 1: Inštalácia Apache
Určite vás poteší, že Apache je už súčasťou Ubuntu. To znamená, že Apache môžete na svoj server nainštalovať pomocou bežných nástrojov na správu balíkov. Je k dispozícii ako predvolený softvér v repozitári. Najprv budete musieť aktualizovať lokálny index balíkov:
|
1 |
sudo apt update |
Tento príkaz zabezpečí, že sa v indexe balíkov zobrazia najnovšie zmeny z upstreamu. Ďalej musíme zadať príkaz na inštaláciu balíka apache2:
|
1 |
sudo apt install apache2 |
Krok 2: Zmena nastavení firewallu
Pri plnení predpokladov ste si museli nastaviť firewall UFW. Ak ste postupovali podľa pokynov, váš firewall bude blokovať prístup k serveru. Pred spustením Apache musíme povoliť prístup k serveru cez predvolené webové porty. V dôsledku toho je potrebné zmeniť nastavenia firewallu.
Počas inštalácie sa Apache zaregistruje v UFW. Výsledkom tejto registrácie je vytvorenie niekoľkých profilov aplikácií. Tieto profily môžete ďalej použiť na povolenie alebo zakázanie prístupu firewallu k Apache. Potom si tieto aplikácie ufw zobrazte pomocou nasledujúceho príkazu:
|
1 |
sudo ufw app list |
Váš profil aplikácie sa zobrazí v takomto zozname:

Vyššie uvedený zoznam ukazuje, že boli vytvorené tri profily aplikácií, a to Apache, Apache Full a Apache Secure. Tu sú užitočné podrobnosti o každom z týchto profilov:
-
Apache:
Profil Apache dokáže otvoriť iba port 80. Tento port umožňuje bežnú a nešifrovanú webovú prevádzku.
-
Apache Full:
Profil Apache Full má schopnosť otvoriť port 80 aj 443. Zatiaľ čo port 80 umožňuje bežnú, nešifrovanú webovú prevádzku, port 443 zabezpečuje šifrovanú prevádzku TLS/SSL.
-
Apache Secure:
A nakoniec, Apache Secure otvára iba port 443. Ako bolo spomenuté vyššie, je zodpovedný za povolenie webovej prevádzky šifrovanej pomocou TLS alebo SSL.
Pri výbere medzi týmito profilmi premýšľajte o prevádzke, ktorú máte nakonfigurovanú. Budete chcieť zabezpečiť, aby prechádzala požadovaná prevádzka, a zároveň zvoliť najviac obmedzujúci profil. Konfigurácia SSL je momentálne mimo nášho rozsahu. Preto sa nateraz zameriame na prevádzku prichádzajúcu cez port 80. To znamená, že v tomto scenári povoľujeme profil aplikácie „Apache“. Môžete to urobiť takto:
|
1 |
sudo ufw allow ‘Apache’ |
Ak chcete overiť zmenu, zadajte nasledovné:
|
1 |
sudo ufw status |
Tento príkaz zobrazí výstup obsahujúci HTTP prevádzku, ktorá má momentálne povolený prechod. Uvidíte niečo takéto:

Tok sieťovej prevádzky ukazuje, že požadovaný profil Apache bol aktivovaný. Prístup k webovému serveru bol povolený cez firewall.
Krok 3: Skontrolujte svoj webový server
Inštalácia Apache je dokončená a nastavenia firewallu boli upravené. Na konci tohto procesu Ubuntu 18.04 automaticky spustí Apache. Ďalej musíte pomocou init systému systemd skontrolovať, či služba v danom okamihu beží. Ak sa chcete dozvedieť viac o init systémoch, môžete si pozrieť náš návod, ako spravovať služby a jednotky Systemd pomocou Systemctl. Ak chcete skontrolovať, či služba beží, zadajte:
|
1 |
sudo systemctl status apache2 |
Výstup bude nasledujúci:

Vo vyššie uvedenom výstupe musíte hľadať stav „Active“ (aktívny) alebo „running“ (bežiaci). To ukazuje, že služba bola spustená a úspešne beží. Existuje aj iný, preferovanejší spôsob, ako otestovať fungovanie služby. Jej stav môžete skontrolovať vyžiadaním stránky z Apache. Pomocou IP adresy vášho servera môžete potvrdiť, či softvér beží na predvolenej úvodnej stránke Apache. Tu je príkaz, ktorý môžete použiť na získanie IP adresy vášho servera, ak ju ešte nepoznáte:
|
1 |
hostname -I |
Tento príkaz zobrazí výsledok s niekoľkými IP adresami oddelenými medzerami. Otestujte každú z nich samostatne v prehliadači. Ďalším spôsobom prístupu je získanie vašej verejnej IP adresy. Môžete použiť príkaz ako tento:
|
1 |
curl -4 icanhazip.com |
Týmto sa zobrazí vaša IP adresa tak, ako ju vidia iné miesta na webe. Keď už máte svoju IP adresu, prejdite do webového prehliadača. Do adresného riadka zadajte a spustite nasledujúce:
|
1 |
http://your_server_ip |
Týmto sa otvorí predvolená webová stránka Apache pre Ubuntu 18.04. Vyzerá takto:

Táto stránka obsahuje základné informácie o vašich súboroch a adresároch. Keďže sa spustila po zadaní adresy, znamená to, že Apache beží správne.
Krok 4: Základná správa v Apache
Overenie potvrdzuje, že Apache beží a váš server je funkčný. Teraz preskúmame niektoré zo základných príkazov, ktoré môžete na serveri použiť na správu.
Predvolená konfigurácia vášho Apache ho spustí pri každom štarte servera. Máte možnosť toto nastavenie zakázať. Zadajte:
|
1 |
sudo systemctl disable apache2 |
Ak chcete túto predvolenú funkciu znova aktivovať, použite tento príkaz:
|
1 |
sudo systemctl enable apache2 |
Ďalej zadajte nasledujúci príkaz, ak chcete server zastaviť manuálne:
|
1 |
sudo systemctl stop apache2 |
Ak ho chcete po zastavení znova spustiť, použite príkaz:
|
1 |
sudo systemctl start apache2 |
Ak chcete server zastaviť a spustiť, alebo ho v podstate reštartovať, zadajte:
|
1 |
sudo systemctl restart apache2 |
Keď server zastavíte, zvyčajne stratí všetky svoje pripojenia. Jeho opätovné spustenie znamená, že tieto pripojenia znova nájde a prepojí. Ak chcete, môžete Apache tiež znova načítať (reload) bez straty pripojenia. To je užitočné najmä pri vykonávaní zmien v konfigurácii. Ak chcete vykonať opätovné načítanie bez prerušenia pripojení, zadajte nasledujúci príkaz:
|
1 |
sudo systemctl reload apache2 |
Krok 5: Nastavenie virtuálneho hostiteľa
Hoci to nie je povinné, dôrazne sa odporúča nastaviť si virtuálnych hostiteľov (virtual hosts). Virtuálni hostitelia sú malé bloky na serveri, ktoré obsahujú skupiny konfiguračných údajov. Zo svojho servera môžete na jednom virtuálnom hostiteľovi hostiť niekoľko domén.
V predvolenom nastavení, ak používate Apache na Ubuntu 18.04, bude aktívny jeden blok servera, ktorý bude obsluhovať dokumenty v adresári /var/www/html. Toto nastavenie budete chcieť zmeniť, ak hostujete viacero webov namiesto jedného. Existuje však aj iná možnosť, ktorá funguje ešte lepšie. Ponechajte adresár /var/www/html nedotknutý. Namiesto toho prejdite do /var/www/ a vytvorte adresárovú štruktúru pre weby na vašej požadovanej doméne. Ak to urobíte, adresár /var/www/html bude nakonfigurovaný ako predvolený adresár. V prípade, že požiadavka klienta nezodpovedá žiadnemu z webov na vašej doméne, bude obslúžená odtiaľto.
Potom uvidíme, ako môžete vytvoriť novú doménu a jej priradený adresár. Pre účely tohto príkladu použijeme hypotetický názov, your_domain. V nasledujúcich pokynoch nahraďte your_domain všade, kde sa nachádza, vaším vlastným názvom domény. Na začiatok sa pozrime, ako môžete vytvoriť nový adresár pre your_domain:
|
1 |
sudo mkdir /var/www/your_domain |
Teraz musíte priradiť vlastníctvo adresára. Na tento účel môžete použiť premennú prostredia $USER:
|
1 |
sudo chown -R $USER:$USER /var/www/your_domain |
Ak chcete pokračovať, oprávnenia vášho webového koreňového adresára musia byť správne. Ak ste nemenili hodnotu umask v konfigurácii, vaše oprávnenia by mali byť v poriadku. Ak si však nie ste istí, môžete to kedykoľvek potvrdiť pomocou:
|
1 |
sudo chmod -R 755 /var/www/your_domain |
Ďalej vytvoríme stránku index.html. Môžete použiť nano ako my alebo akýkoľvek iný editor, ak máte nejaký preferovaný:
|
1 |
nano /var/www/your_domain/index.html |
Pridajte tento ukážkový HTML kód do súboru index, potom ho uložte a zatvorte:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Vitajte na Your_domain!</title> </head> <body> <h1>Úspech! The your_domain virtuálny hostiteľ je funkčný!</h1> </body> </html> |
Ďalším krokom je vytvorenie súboru virtuálneho hostiteľa. Súbor virtuálneho hostiteľa so všetkými správnymi direktívami je potrebný na to, aby Apache mohol poskytovať vyššie uvedený ukážkový obsah. Predvolený konfiguračný súbor sa nachádza na adrese: /etc/apache2/sites-available/000-default.conf. Namiesto úpravy tohto súboru vytvoríme nový na adrese: /etc/apache2/sites-available/your_domain.conf.
|
1 |
sudo nano /etc/apache2/sites-available/your_domain.conf |
Podobne ako predtým pridáme ukážku konfigurácie. Tentoraz ju však aktualizujeme s ohľadom na názov domény a nový adresár, ktorý sme práve vytvorili. Pridajte tento blok, potom ho uložte a zatvorte:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Ako môžete vidieť vyššie, aktualizovali sme aj náš e-mail ServerAdmin. Toto je adresa, na ktorej je zastihnuteľný správca webu your_domain. Okrem toho sme tiež aktualizovali DocumentRoot na nový adresár a pridali dve nové direktívy. Tieto direktívy zahŕňajú ServerName a ServerAlias. ServerName sa používa na nastavenie základnej domény. Základná doména sa musí zhodovať, aby definovala virtuálneho hostiteľa. ServerAlias na druhej strane poskytuje ďalšie názvy, ktoré by sa mali tiež zhodovať, podobne ako základný názov. Súbor môžete jednoducho povoliť pomocou nástroja a2ensite:
|
1 |
sudo a2ensite your_domain.conf |
Ak chcete zakázať predvolenú stránku uvedenú v súbore 000-default.conf, použite tento príkaz:
|
1 |
sudo a2dissite 000-default.conf |
Teraz, keď je konfigurácia pripravená, môžete skontrolovať chyby zadaním:
|
1 |
sudo apache2ctl configtest |
Ak sa nevyskytnú žiadne chyby konfigurácie, zobrazí sa nasledujúci výstup:
|
1 2 3 |
Výstup Syntax OK |
Ak chcete použiť zmeny, musíte reštartovať server Apache podľa predchádzajúcich pokynov:
|
1 |
sudo systemctl restart apache2 |
Voila! Nastavili ste svoj virtuálny hostiteľský server a nastavili názov domény. Ak chcete skontrolovať, či Apache skutočne obsluhuje vašu_doménu, prejdite na http://your_domain.
Krok 6: Prehliadanie súborov a adresárov
Úspešne ste vykonali základnú konfiguráciu servera Apache. Okrem toho viete, ako môžete spravovať službu Apache. Ďalej môžete venovať nejaký čas preskúmaniu niektorých najdôležitejších adresárov a súborov.
Obsah
- /var/www/html
O tomto adresári sme už tiež hovorili. Obsahuje predvolenú stránku Apache. Ak chcete, môžete obsah tejto stránky zmeniť. Ak to chcete urobiť, budete musieť upraviť konfiguračné súbory Apache.
Konfigurácia servera
- /etc/apache2
Toto je hlavný konfiguračný adresár Apache. To znamená, že tento adresár obsahuje všetky konfiguračné súbory spojené s Apache.
- /etc/apache2/apache2.conf
Ako napovedá prípona na konci adresára, toto je hlavný konfiguračný súbor. Tento súbor načítava niekoľko ďalších súborov v adresári a možno ho použiť na vykonanie zmien v konfigurácii Apache. Ak chcete vykonať akúkoľvek zmenu v konfigurácii servera Apache, tu je miesto, kde tieto zmeny vykonáte.
- /etc/apache2/ports.conf
Ako napovedá názov, tento súbor sa týka portov, o ktorých sme hovorili predtým. Port 80 je predvolene povolený a port 443 sa aktivuje pri zavedení modulov obsahujúcich SSL. Tento súbor obsahuje podrobnosti o tom, ktoré porty sú otvorené a povolené.
- /etc/apache2/sites-available/
Sem budú smerovať vaši virtuálni hostitelia. Všetky konfigurácie blokov servera sa vykonávajú v tomto adresári. Ak chcete povoliť bloky servera, musia byť prepojené s inými adresármi prostredníctvom príkazu a2ensite. Apache bude mať prístup k súborom v tomto adresári iba vtedy, ak boli povolené prepojením s adresárom sites-enabled.
- /etc/apache2/sites-enabled/
Toto je adresár, v ktorom sa nachádzajú povolené virtuálne hostiteľské servery. Ako sme spomenuli, hostitelia sa povolia, keď prepojíte súbory v adresári sites-available pomocou príkazu a2ensite. Súbory v tomto adresári sú dôležité pri spúšťaní, opätovnom načítaní alebo kompilácii konfigurácie Apache.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/
Tieto adresáre fungujú podobne ako sites-available a sites-enabled. Na povolenie súborov v adresári conf-available musíte použiť príkaz a2enconf. Príkaz na zakázanie je a2disconf. Namiesto ukladania virtuálnych hostiteľov pre jednotlivé stránky tieto adresáre obsahujú podrobnosti o konfigurácii, ktoré sa netýkajú virtuálneho hostiteľa:
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/
Tieto adresáre majú tiež podobný vzťah ako predchádzajúce dva príklady. Obsahujú moduly, tie dostupné a tie povolené príkazom a2enmod. Na zakázanie modulu môžete použiť príkaz a2dismod. Súbory s príponou .load obsahujú fragmenty, ktoré môžu načítať daný modul. Súbory s príponou .conf obsahujú príslušné podrobnosti o konfigurácii pre daný modul.
Záznamy servera
- /var/log/apache2/access.log
Tento súbor denníka obsahuje všetky požiadavky odoslané na váš server. Deje sa tak predvolene. Máte možnosť nakonfigurovať Apache tak, aby zaznamenával požiadavky inak.
- /var/log/apache2/error.log
Toto je chybový denník. Všetky chyby, ktoré urobíte, sa predvolene zapisujú priamo do tohto súboru. Podrobnosti o tom, ako sa chybové denníky zaznamenávajú, si môžete pozrieť prostredníctvom smernice LogLevel.
Záver
Na záver, podľa vyššie uvedených krokov môžete ľahko nainštalovať webový server Apache na váš Ubuntu 18.04. Keď už máte server vo svojom systéme, môžete preskúmať rôzne možnosti, ktoré na tejto platforme máte. Na produkciu rôznych druhov obsahu môžete použiť rôzne technológie. Týmto spôsobom si môžete na serveri vytvoriť jedinečné a prínosné prostredie.
Môžete sa tiež naučiť ako zabezpečiť svoj server Apache pomocou Let’s Encrypt podľa nášho podrobného návodu. Ak sa chcete naučiť, ako nainštalovať Apache na CentOS 7, postupujte podľa nášho návodu na inštaláciu balíka Linux, Apache, MySQL, PHP (LAMP) na CentOS 7.
Príjemnú prácu s počítačom!
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.