Apache , také známý jako Apache HTTP server, je v posledních několika desetiletích jednou z celosvětově nejpoužívanějších webových serverových aplikací. Jedná se o bezplatný a open source webový aplikační software spravovaný Apache Software Foundation . Apache poskytuje některé výkonné funkce s dynamicky načítatelnými moduly, snadnou integraci s jiným softwarem a manipulaci se statickými soubory, mezi další oblíbené funkce.
V následujícím tutoriálu se dozvíte, jak nainstalovat webový server Apache na Ubuntu 20.04.
Předpoklady
- Doporučený operační systém: Ubuntu 20.04 – volitelné (Ubuntu 21.04 a Linux Mint 20)
- Uživatelský účet: Uživatelský účet s přístupem sudo nebo root.
Aktualizace operačního systému
Nejprve nejprve aktualizujte Ubuntu operační systém, abyste se ujistili, že všechny existující balíčky jsou aktuální:
sudo apt update && sudo apt upgrade -y
Root nebo Sudo Access
Ve výchozím nastavení dával účet vytvořený pomocí Ubuntu stav sudo. Přesto předpokládejme, že potřebujete poskytnout dalším účtům sudo/root přístup. V takovém případě musíte mít buď přístup k heslu uživatele root použijte příkaz su nebo navštivte náš tutoriál Jak přidat uživatele do Sudoers na Ubuntu.
Metoda 1. Nainstalujte Apache z úložiště Ubuntu
První možností instalace Apache je použití výchozího úložiště Ubuntu. To je pro většinu uživatelů praktičtější, protože je velmi stabilní a bezpečné.
Chcete-li nainstalovat Apache, otevřete svůj terminál a spusťte následující příkaz:
sudo apt install apache2 -y
Dále ověřte, zda byla instalace úspěšná, ověřením verze sestavení Apache:
sudo apache2 --version
Příklad výstupu:
Server version: Apache/2.4.51
Pomocí následujícíhosystemctl zkontrolujte, zda Apache2 běží správně příkaz:
systemctl status apache2
Příklad výstupu, pokud je vše v pořádku:

Metoda 2. Nainstalujte nejnovější Apache od Ondřeje Surého PPA
Ve výchozím nastavení je Apache k dispozici v softwarových úložištích Ubuntu , což usnadňuje instalaci. Nicméně, stejně jako většina repozitářů ve verzích Ubuntu LTS, může často chybět za tím, co je aktuální, ne tak kvůli bezpečnostním rizikům. Stále však chybí novější funkce a vylepšení.
Pro Ubuntu se doporučuje nainstalovat verzi Ondřeje Surého Apache 2 , který je nejaktuálnější a předem vytvořený s extra široce používanými moduly.
Nejprve přidejte Ondřej Surý PPA pro Ubuntu takto:
sudo add-apt-repository ppa:ondrej/apache2 -y && sudo apt update
Nyní můžete nainstalovat balíček Apache 2 pomocí následujícího příkazu:
sudo apt install apache2
Instalace nainstaluje všechny potřebné závislosti.
Pokud PPA nechcete používat, můžete jeho přidání přeskočit a nainstalovat Apache 2 z úložiště Ubuntu.
Po instalaci potvrďte verzi spuštěním následujícího příkazu:
apache2 -v
Příklad výstupu:
Server version: Apache/2.4.51 (Ubuntu)
Všimněte si, že obě úložiště jsou v době výukového programu na stejné verzi kvůli URGENTNÍ aktualizaci CVE. Normálně má Ondřej Surý PPA vždy náskok před výchozím Ubuntu 20.04.
Pomocí následujícíhosystemctl zkontrolujte, zda Apache2 běží správně příkaz:
sudo systemctl status apache2
Příklad výstupu, pokud je vše v pořádku:

Nakonfigurujte UFW Firewall pro Apache
Po instalaci webového serveru Apache 2 budete muset upravit pravidla UFW pro umožnění přístupu zvenčí k výchozím webovým portům. Naštěstí se během instalace Apache zaregistruje u UFW, aby poskytl několik profilů, které lze použít k povolení nebo zakázání přístupu, což usnadňuje a urychluje konfiguraci.
Nejprve vypište profily aplikací, abyste viděli profily Apache, které jsou dostupné pomocí následujícího příkazu:
sudo ufw app list
Příklad výstupu:
Available applications:
Apache
Apache Full
Apache Secure
Z výše uvedeného výstupu máte na výběr tři možnosti profilu. Chcete-li to rozebrat, Apache běží na portu 80 (HTTP), Apache Secure běží na portu 443 (HTTPS) a Apache Full je kombinací povolení obojího. Nejběžnější je buď Apache Full nebo Apache Secure.
Pro tutoriál, protože jsme nenastavili SSL, povolíme profil (Apache) pomocí následujícího příkazu:
sudo ufw allow 'Apache'
Příklad výstupu:
Rule added
Rule added (v6)
Jak je uvedeno výše, pravidla byla přidána pro IPV4 i IPV6. Později můžete tento profil deaktivovat a povolit pouze zabezpečené nebo deaktivovat pravidlo Apache a místo toho použít pravidlo Apache Full.
Ověřte webový server Apache
Nyní, když jste nainstalovali a nakonfigurovali bránu firewall UFW, je čas otestovat, zda je Apache 2 dosažitelný a zda funguje správně, a to tak, že si vyžádáte stránku.
Můžete se dostat na výchozí vstupní stránku Apache a zkontrolovat, zda software běží správně přes IP adresu vašeho serveru. Chcete-li to zjistit, pokud nevíte, použijte následující příkaz:
hostname -I
Měli byste získat zpět interní IP adresu, na které je server jako příklad:
###Example Only###
192.168.50.15
Můžete získat 2 až 3 výsledky zpět. Vyzkoušejte každý z nich, dokud nenajdete správnou IP adresu.
Pokud požadujete svou veřejnou IP adresu (externí), použijte místo toho následující příkaz:
curl -4 icanhazip.com
Pokud chybí balíček CURL, možná budete muset nainstalovat. Chcete-li to provést, spusťte následující příkaz:
sudo apt install curl -y
Jakmile budete mít IP adresu svých serverů, otevřete svůj oblíbený internetový prohlížeč a zadejte následující:
http://your_server_ip
Ve svém internetovém prohlížeči byste měli získat následující stránku:

Blahopřejeme, nainstalovali jste webový server Apache 2 a aktuálně fungujete.
Dalším krokem je nastavení virtuálních hostitelů.
Vytvořte nebo nakonfigurujte virtuální hostitele pro Apache
Pomocí webového serveru Apache můžete vytvořit virtuální hostitele pro správu konfigurací pro více než jednu doménu běžící na jednom serveru. Pokud jste dříve používali Nginx, jedná se o ekvivalent serverových bloků. V níže uvedeném příkladu výukový program vytvoří doménu example-domain.com, kterou nahradíte názvem vaší domény.
Ve výchozím nastavení má Apache na Ubuntu 20.04 ve výchozím nastavení povolen jeden blok serveru, který je nakonfigurován pro poskytování dokumentů z /var/www/html adresář. Pokud provozujete jednu webovou stránku, můžete si tento blok serveru upravit tak, aby vyhovoval vašim vlastním. Pokud však hostujete více webových stránek, musíte pro své různé domény vytvořit novou strukturu adresářů.
Vytváření nebo konfigurace adresářů
Nejprve opusťte /var/www/html neporušený adresář jako výchozí adresář, poté vytvořte nový adresář, například-domena.com, jak je uvedeno níže:
sudo mkdir /var/www/example_domain
Dalším krokem je přiřazení vlastnictví adresáře pomocí proměnné prostředí $USER:
sudo chown -R $USER:$USER /var/www/example_domain
Obvykle by měla být oprávnění web root nastavena správně a můžete je ověřit pomocí příkazu -ls l :
-ls l /var/www/example_domain
ls -l /var/www/example_domain
Příklad výstupu:
drwxr-xr-x 2 joshua joshua 4096 Oct 10 11:46 example_domain
Jak vidíte, máme povolení drwxr-xr-x, což je ekvivalent chmod 755 . Pokud toto oprávnění nemáte, spusťte následující příkaz:
sudo chmod -R 755 /var/www/example_domain
Nyní vytvořte ukázkovou stránku index.html pomocí svého oblíbeného textového editoru. Výukový program bude používat nano, jak je uvedeno níže:
sudo nano /var/www/example_domain/index.html
Do souboru zkopírujte a vložte následující kód:
<html>
<head>
<title>Welcome to Website!</title>
</head>
<body>
<h1>Success! The virtual host is working! You did not mess it up.</h1>
</body>
</html>
Uložte soubor (CTRL+O) a poté ukončete (CTRL+X) .
Vytvořit virtuálního hostitele
Nyní, když jste vytvořili vstupní stránku a nastavili správné vlastnictví a oprávnění. Nyní můžete přistoupit k vytvoření souboru virtuálního hostitele. Ve výchozím nastavení musí být všechny soubory virtuálního hostitele umístěny na adrese /etc/apache2/sites-available/ adresář.
Nejprve pomocí svého oblíbeného textového editoru vytvořte konfigurační soubor umístěný na adrese /etc/apache2/sites-available/example_domain.conf jak je uvedeno níže:
sudo nano /etc/apache2/sites-available/example_domain.conf
Nyní zkopírujte a vložte následující do souboru konfiguračního bloku s poznámkou, že nahraďte ServerName, ServerAlias, a kořen dokumentu s vaším vlastním:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example_domain
ServerAlias www.example_domain
DocumentRoot /var/www/example_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Pamatujte, nezapomeňte změnit požadované direktivy serveru na své vlastní.
Uložte konfigurační soubor pomocí (CTRL+O) a ukončete pomocí (CTRL+X) .
Povolit virtuální hostitele
Nyní, když máte konfigurační soubor virtuálního hostitele připraven, je čas jej povolit. S Apache, na rozdíl od Nginx, kde byste vytvořili symbolický odkaz pomocí příkazu ln -s, Apache používá své nástroje, jak ukáže tutoriál níže:
Nejprve deaktivujte stávající výchozí nainstalovaný soubor blokování serveru 000-default.conf pomocí příkazu a2dissite:
sudo a2dissite 000-default.conf
Nyní povolte soubor virtuálního hostitele pomocí a2ensite příkaz:
sudo a2ensite example_domain.conf
Nyní, stejně jako většina aplikací webového serveru, má Apachesuchý běh funkce. Před uvedením do provozu otestujte konfigurační soubor pomocí následujícího příkazu:
sudo apache2ctl configtest
Pokud vše funguje správně, příklad výstupu by měl být:
Syntax OK
Nyní restartujte webový server Apache, aby byl váš nový virtuální hostitel aktivní, pomocí následujícího příkazu:
sudo systemctl restart apache2
Apache by měl aktuálně zobrazovat vstupní stránku, kterou jste vytvořili pro svou novou doménu. Chcete-li to vyzkoušet, otevřete svůj internetový prohlížeč a zadejte název své domény HTTP://example_domain kde byste měli získat následující vstupní stránku, kterou jste vytvořili v souboru index.html:

Gratulujeme, úspěšně jste vytvořili svého virtuálního hostitele a zprovoznili jej ve vaší doméně.
Zabezpečte Apache pomocí bezplatného certifikátu Let's Encrypt SSL
V ideálním případě byste chtěli spustit svůj Apache na HTTPS pomocí certifikátu SSL . Nejlepší způsob, jak toho dosáhnout, je použít Let’s Encrypt bezplatná, automatizovaná a otevřená certifikační autorita provozovaná neziskovou organizací Internet Security Research Group (ISRG) .
Nejprve nainstalujte balíček certbot takto:
sudo apt install python3-certbot-apache -y
Po instalaci spusťte následující příkaz pro zahájení vytváření vašeho certifikátu:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com
Toto je ideální nastavení, které zahrnuje vynucená přesměrování HTTPS 301, hlavičku Strict-Transport-Security a sešívání OCSP. Jen nezapomeňte upravit e-mail a název domény podle svých požadavků.
Nyní bude vaše adresa URL https://www.example.com namísto HTTP://www.example.com .
Poznámka:Pokud používáte starou URL HTTP , automaticky se přesměruje na HTTPS .
Správa služby Apache
Nyní, když máte Apache na svém serveru úspěšně spuštěn, jsou některé klíčové poznámky pro správu následující.
Protokoly serveru Apache
Protokoly serveru Apache lze nalézt v adresáři /var/log/apache2/ s access.log a error.log přičemž se jedná o výchozí přístupová a chybová jména. Toto lze v budoucnu změnit na jiné názvy v konfiguračním souboru vašeho virtuálního hostitele.
Příkazy Apache
Následující příkazy, které nepochybně využijete ve své každodenní správě při práci s Apache. Některé z nejběžnějších jsou:
Chcete-li zastavit webový server Apache:
sudo systemctl stop apache2
Chcete-li spustit webový server Apache:
sudo systemctl start apache2
Restartování webového serveru Apache:
sudo systemctl restart apache2
Chcete-li znovu načíst webový server Apache (pro další menší změny nevyžadující restart) :
sudo systemctl reload apache2
Chcete-li zakázat Apache při spouštění serveru:
sudo systemctl disable apache2
Chcete-li spustit Apache při spouštění serveru (automaticky povoleno při instalaci) :
sudo systemctl enable apache2
Jak aktualizovat Apache
Chcete-li v budoucnu aktualizovat Apache, provede se to pomocí příkazu, který jste použili ke kontrole, zda je váš systém aktuální. Všimněte si, že vždy vytvářejte zálohy nebo bitové kopie, pokud máte na službě Apache spuštěné důležité služby. Upgrade je obvykle docela bezpečný, ale někdy se mohou vyskytnout chyby jako u každého upgradu softwaru.
Chcete-li aktualizovat Apache, použijte následující příkaz:
sudo apt update
Pokud je k dispozici upgrade Apache, použijte příkaz:
sudo apt upgrade
Jak odebrat (odinstalovat) Apache
Chcete-li Apache odebrat, pokud jej již nepoužíváte, lze to provést pomocí následujícího příkazu:
sudo apt autoremove apache2 --purge
Tento příkaz také odstraní všechny nepoužívané závislosti dodané s instalací.