Úvod
Apache HTTP Server je open-source webový server od společnosti Apache Software Foundation. Je to software, který propojuje váš lokální server s webovými prohlížeči, jako je Firefox nebo Google Chrome. Toto připojení se používá k odesílání a přijímání souborů a dat.
Je to nejpopulárnější server na světě. Více než 40 % všech webových stránek na celosvětové síti běží na Apache HTTP. Důvody jeho popularity jsou vysoká míra přizpůsobitelnosti, skvělá integrační kapacita a spolehlivá podpora médií. Apache funguje na architektuře založené na modulech. Můžete upravovat jednotlivé moduly a přidávat či odebírat různé funkce. V tomto návodu vás provedeme instalací serveru Apache na Ubuntu 18.04.
Před instalací
Než začnete instalovat Apache, musíte se postarat o několik prerekvizit. Pro začátek se ujistěte, že již máte na lokálním serveru nakonfigurovaného uživatele bez oprávnění root s právy sudo. Další věcí, kterou budete potřebovat, je firewall. Musíte povolit základní firewall a zablokovat nepodstatné porty. Před zahájením instalace se přihlaste jako uživatel bez oprávnění root s těmito právy. Svůj server můžete snadno nainstalovat podle našeho návodu na nastavení serveru Ubuntu.
Jak nainstalovat webový server Apache na Ubuntu 18.04
Pokud máte splněné prerekvizity, můžete přejít k samotné instalaci. Webový server Apache můžete nainstalovat a prozkoumat v 6 jednoduchých krocích:
Krok 1: Instalace Apache
Určitě vás potěší, že Apache je již součástí Ubuntu. To znamená, že Apache můžete na svůj server nainstalovat pomocí běžných nástrojů pro správu balíčků. Je k dispozici jako výchozí software v repozitáři. Nejprve budete muset aktualizovat lokální index balíčků:
|
1 |
sudo apt update |
Tento příkaz zajistí, že se v indexu balíčků zobrazí nedávné změny z upstreamu. Dále musíme zadat příkaz k instalaci balíčku apache2:
|
1 |
sudo apt install apache2 |
Krok 2: Změna nastavení firewallu
Při plnění prerekvizit jste museli nastavit firewall UFW. Pokud jste postupovali podle pokynů, váš firewall bude blokovat přístup k serveru. Před spuštěním Apache musíme povolit přístup k serveru přes výchozí webové porty. V důsledku toho je nutné změnit nastavení firewallu.
Při instalaci se Apache zaregistruje u UFW. Výsledkem této registrace je vytvoření několika aplikačních profilů. Tyto profily pak můžete použít k povolení nebo zakázání přístupu k Apache přes firewall. Poté si tyto aplikace ufw zobrazte pomocí následujícího příkazu:
|
1 |
sudo ufw app list |
Uvidíte svůj aplikační profil v seznamu, jako je tento:

Výše uvedený seznam ukazuje, že byly vytvořeny tři aplikační profily, a to Apache, Apache Full a Apache Secure. Zde jsou některé užitečné podrobnosti o každém z těchto profilů:
-
Apache:
Profil Apache dokáže otevřít pouze port 80. Tento port umožňuje běžný a nešifrovaný webový provoz.
-
Apache Full:
Profil Apache Full má schopnost otevřít port 80 i 443. Zatímco port 80 umožňuje běžný, nešifrovaný webový provoz, port 443 zajišťuje šifrovaný provoz TLS/SSL.
-
Apache Secure:
A konečně, Apache Secure otevírá pouze port 443. Jak bylo uvedeno výše, je zodpovědný za povolení webového provozu šifrovaného pomocí TLS nebo SSL.
Při výběru mezi těmito profily myslete na provoz, který máte nakonfigurovaný. Budete se chtít ujistit, že požadovaný provoz projde, a zároveň zvolit nejvíce omezující profil. Konfigurace SSL je v tuto chvíli mimo náš rozsah. Proto se prozatím zaměříme na provoz přicházející přes port 80. To znamená, že v tomto scénáři povolujeme aplikační profil ‘Apache’. Můžete tak učinit následovně:
|
1 |
sudo ufw allow ‘Apache’ |
Chcete-li změnu ověřit, zadejte následující:
|
1 |
sudo ufw status |
Tento příkaz zobrazí výstup obsahující HTTP provoz, který má aktuálně povolen průchod. Uvidíte něco takového:

Tok provozu ukazuje, že požadovaný profil Apache byl aktivován. Přístup k webovému serveru byl povolen přes firewall.
Krok 3: Kontrola webového serveru
Instalace Apache je dokončena a nastavení firewallu bylo upraveno. Na konci tohoto procesu Ubuntu 18.04 automaticky spustí Apache. Dále musíte pomocí inicializačního systému systemd zkontrolovat, zda služba v daném okamžiku běží. Pokud se chcete dozvědět více o inicializačních systémech, můžete se podívat na náš návod, jak spravovat služby a jednotky Systemd pomocí Systemctl. Chcete-li zkontrolovat, zda služba běží, zadejte:
|
1 |
sudo systemctl status apache2 |
Výstup bude následující:

Ve výše uvedeném výstupu musíte hledat stav Active nebo running (aktivní nebo běžící). To ukazuje, že služba byla spuštěna a úspěšně běží. Existuje další, preferovanější způsob, jak otestovat fungování služby. Její stav můžete zkontrolovat vyžádáním stránky z Apache. Pomocí IP adresy vašeho serveru můžete ověřit, zda software běží na výchozí úvodní stránce Apache. Zde je příkaz, který můžete použít k získání IP adresy vašeho serveru, pokud ji ještě neznáte:
|
1 |
hostname -I |
Tento příkaz zobrazí výsledek s několika IP adresami oddělenými mezerami. Otestujte každou z nich jednotlivě v prohlížeči. Dalším způsobem přístupu je získání vaší veřejné IP adresy. Můžete použít příkaz jako tento:
|
1 |
curl -4 icanhazip.com |
Tím se zobrazí vaše IP adresa, jak je viditelná z jiných míst na webu. Jakmile budete mít svou IP adresu, přejděte do webového prohlížeče. Do adresního řádku zadejte a spusťte následující:
|
1 |
http://your_server_ip |
Tím se otevře výchozí webová stránka Apache pro Ubuntu 18.04. Vypadá takto:

Tato stránka obsahuje některé základní informace o vašich souborech a adresářích. Vzhledem k tomu, že se spustila po zadání adresy, znamená to, že Apache běží správně.
Krok 4: Základní správa v Apache
Ověření potvrzuje, že Apache běží a váš server je funkční. Nyní prozkoumáme některé základní příkazy, které můžete na serveru použít pro správu.
Výchozí konfigurace Apache jej spouští při každém spuštění serveru. Máte možnost toto nastavení zakázat. Zadejte:
|
1 |
sudo systemctl disable apache2 |
Chcete-li tuto výchozí funkci znovu aktivovat, použijte tento příkaz:
|
1 |
sudo systemctl enable apache2 |
Dále zadejte následující, pokud chcete server zastavit ručně:
|
1 |
sudo systemctl stop apache2 |
Pokud jej chcete po zastavení znovu spustit, použijte příkaz:
|
1 |
sudo systemctl start apache2 |
Chcete-li server zastavit a znovu spustit, neboli jej v podstatě restartovat, zadejte:
|
1 |
sudo systemctl restart apache2 |
Když server zastavíte, má tendenci ztratit všechna svá připojení. Jeho opětovné spuštění znamená, že tato připojení znovu najde a propojí. Pokud chcete, můžete Apache také znovu načíst (reload) bez ztráty připojení. To je užitečné zejména při provádění změn v konfiguraci. Chcete-li provést opětovné načtení bez přerušení připojení, zadejte následující:
|
1 |
sudo systemctl reload apache2 |
Krok 5: Nastavení virtuálního hostitele
Ačkoli to není povinné, důrazně se doporučuje nastavit virtuální hostitele. Virtuální hostitelé jsou malé bloky na serveru, které obsahují skupiny konfiguračních údajů. Ze svého serveru můžete na jednom virtuálním hostiteli hostovat několik domén.
Ve výchozím nastavení, pokud používáte Apache na Ubuntu 18.04, bude aktivován jeden blok serveru, který bude obsluhovat dokumenty v adresáři /var/www/html. Toto nastavení budete chtít změnit, pokud hostujete více webů namísto jednoho jediného. Existuje však i jiná možnost, která funguje ještě lépe. Ponechte adresář /var/www/html nedotčený. Místo toho přejděte do /var/www/ a vytvořte adresářovou strukturu pro weby na vaší požadované doméně. Pokud to uděláte, adresář /var/www/html bude nakonfigurován jako výchozí adresář. V případě, že požadavek klienta neodpovídá žádnému z webů na vaší doméně, bude obsloužen odtud.
Poté se podíváme na to, jak můžete vytvořit novou doménu a s ní spojený adresář. Pro účely tohoto příkladu použijeme hypotetický název, your_domain. Nahraďte your_domain, kdekoli se v následujících pokynech vyskytuje, svým vlastním názvem domény. Pro začátek se podívejme, jak můžete vytvořit nový adresář pro your_domain:
|
1 |
sudo mkdir /var/www/your_domain |
Nyní musíte přiřadit vlastnictví adresáře. K tomuto účelu můžete použít proměnnou prostředí $USER:
|
1 |
sudo chown -R $USER:$USER /var/www/your_domain |
Chcete-li pokračovat, oprávnění vašeho kořenového webového adresáře musí být správná. Pokud jste v konfiguraci neupravovali hodnotu umask, měla by být vaše oprávnění v pořádku. Pokud si však nejste jisti, můžete je vždy potvrdit pomocí:
|
1 |
sudo chmod -R 755 /var/www/your_domain |
Dále vytvoříme stránku index.html. Můžete použít nano jako my, nebo jakýkoli jiný editor, pokud máte nějaký oblíbený:
|
1 |
nano /var/www/your_domain/index.html |
Přidejte tento ukázkový kód HTML do souboru index, poté jej uložte a zavřete:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Vítejte na Your_domain!</title> </head> <body> <h1>Úspěch! The your_domain virtuální hostitel je funkční!</h1> </body> </html> |
Dalším krokem je vytvoření souboru virtuálního hostitele. Soubor virtuálního hostitele se všemi správnými direktivami je nezbytný k tomu, aby Apache mohl obsluhovat výše uvedený ukázkový obsah. Výchozí konfigurační soubor se nachází na adrese: /etc/apache2/sites-available/000-default.conf. Místo úpravy tohoto souboru vytvoříme nový na adrese: /etc/apache2/sites-available/your_domain.conf.
|
1 |
sudo nano /etc/apache2/sites-available/your_domain.conf |
Podobně jako předtím přidáme ukázkovou konfiguraci. Tentokrát ji však aktualizujeme s ohledem na název domény a nový adresář, který jsme právě vytvořili. Přidejte tento blok, poté jej uložte a zavřete:
|
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> |
Jak můžete vidět výše, aktualizovali jsme také e-mail ServerAdmin. Toto je adresa, na které je k zastižení správce webu your_domain. Kromě toho jsme také aktualizovali DocumentRoot na nový adresář a přidali dvě nové direktivy. Tyto direktivy zahrnují ServerName a ServerAlias. ServerName se používá k nastavení základní domény. Základní doména se musí shodovat, aby definovala virtuálního hostitele. ServerAlias naopak poskytuje další názvy, které by se měly také shodovat, podobně jako základní název. Soubor můžete snadno povolit pomocí nástroje a2ensite:
|
1 |
sudo a2ensite your_domain.conf |
Chcete-li zakázat výchozí web uvedený v souboru 000-default.conf, použijte tento příkaz:
|
1 |
sudo a2dissite 000-default.conf |
Nyní, když je konfigurace připravena, můžete zkontrolovat chyby zadáním:
|
1 |
sudo apache2ctl configtest |
Pokud se nevyskytnou žádné chyby v konfiguraci, zobrazí se následující výstup:
|
1 2 3 |
Výstup Syntax OK |
Chcete-li změny použít, musíte restartovat server Apache podle předchozích pokynů:
|
1 |
sudo systemctl restart apache2 |
Voila! Nastavili jste svůj virtuální hostitel a název domény. Chcete-li zkontrolovat, zda Apache skutečně obsluhuje your_domain, přejděte na http://your_domain.
Krok 6: Procházení souborů a adresářů
Úspěšně jste provedli základní konfiguraci serveru Apache. Kromě toho víte, jak můžete službu Apache spravovat. Dále můžete věnovat nějaký čas prozkoumání některých nejdůležitějších adresářů a souborů.
Obsah
- /var/www/html
O tomto adresáři jsme již také mluvili. Obsahuje výchozí stránku Apache. Pokud chcete, můžete obsah této stránky změnit. Chcete-li tak učinit, budete muset upravit konfigurační soubory Apache.
Konfigurace serveru
- /etc/apache2
Toto je hlavní konfigurační adresář Apache. To znamená, že tento adresář obsahuje všechny konfigurační soubory spojené s Apache.
- /etc/apache2/apache2.conf
Jak napovídá dodatek na konci adresáře, jedná se o hlavní konfigurační soubor. Tento soubor načítá několik dalších souborů v adresáři a lze jej použít k provádění úprav v konfiguraci Apache. Pokud chcete provést jakoukoli změnu v konfiguraci serveru Apache, zde je místo, kde tyto změny provedete.
- /etc/apache2/ports.conf
Jak napovídá název, tento soubor se týká portů, o kterých jsme mluvili dříve. Port 80 je ve výchozím nastavení povolen a port 443 se aktivuje při zavedení modulů obsahujících SSL. Tento soubor obsahuje podrobnosti o tom, které porty jsou otevřené a povolené.
- /etc/apache2/sites-available/
Sem budou směřovat vaši virtuální hostitelé. V tomto adresáři se provádí veškerá konfigurace bloků serveru. Chcete-li bloky serveru povolit, musí být propojeny s jinými adresáři pomocí a2ensite. Apache bude mít přístup k souborům v tomto adresáři pouze tehdy, pokud byly povoleny propojením s adresářem sites-enabled.
- /etc/apache2/sites-enabled/
Toto je adresář, kde se nacházejí povolené virtuální hostitelé. Jak jsme zmínili, hostitelé se povolí, když propojíte soubory v adresáři sites-available pomocí příkazu a2ensite. Soubory v tomto adresáři jsou důležité pro spuštění, opětovné načtení nebo kompilaci konfigurace Apache.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/
Tyto adresáře fungují podobně jako sites-available a sites-enabled. Chcete-li povolit soubory v adresáři conf-available, musíte použít příkaz a2enconf. Příkaz pro zakázání je a2disconf. Místo ukládání virtuálních hostitelů pro jednotlivé weby tyto adresáře obsahují podrobnosti o konfiguraci, které se netýkají virtuálního hostitele:
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/
Tyto adresáře mají také podobný vztah jako předchozí dva příklady. Obsahují moduly, ty dostupné a ty povolené příkazem a2enmod. Chcete-li modul zakázat, můžete použít příkaz a2dismod. Soubory s příponou .load obsahují fragmenty, které mohou načíst daný modul. Soubory s příponou .conf obsahují příslušné podrobnosti o konfiguraci daného modulu.
Protokoly serveru
- /var/log/apache2/access.log
Tento soubor protokolu obsahuje všechny požadavky odeslané na váš server. K tomu dochází ve výchozím nastavení. Máte možnost nakonfigurovat Apache tak, aby požadavky zaznamenával jinak.
- /var/log/apache2/error.log
Toto je protokol chyb. Všechny chyby, které uděláte, jdou ve výchozím nastavení přímo do tohoto souboru. Podrobnosti o tom, jak se protokoly chyb zaznamenávají, můžete vidět pomocí direktivy LogLevel.
Závěr
Na závěr, podle výše uvedených kroků můžete snadno nainstalovat webový server Apache na svůj Ubuntu 18.04. Jakmile budete mít server ve svém systému, můžete prozkoumat různé možnosti, které na této platformě máte. K vytváření různých druhů obsahu můžete využít různé technologie. Tímto způsobem si na serveru můžete vytvořit jedinečné a přínosné prostředí.
Můžete se také naučit, jak zabezpečit svůj server Apache pomocí Let’s Encrypt podle našeho podrobného návodu. Pokud se chcete naučit, jak nainstalovat Apache na CentOS 7, postupujte podle našeho návodu, jak nainstalovat sadu Linux, Apache, MySQL, PHP (LAMP) na CentOS 7.
Příjemnou práci s počítačem!
Komentáře
Zatím žádné komentáře. Buďte první.