GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Apache pomocí Let's Encrypt TLS/SSL na Ubuntu 20.04

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í.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat FTP server (vsftpd) s SSL/TLS na Ubuntu 20.04

  2. Jak nainstalovat Let's Encrypt SSL na Ubuntu 18.04 s Nginx

  3. Jak nainstalovat Let’s Encrypt na Ubuntu 20.04 s Apache

  1. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat ownCloud s Apache na Ubuntu 18.04

  3. Jak nainstalovat ProjectSend s Apache a nechat šifrovat SSL na Ubuntu 20.04

  1. Jak nakonfigurovat VSFTPD FTPS s SSL/TLS na Ubuntu 18.04

  2. Jak nainstalovat PrestaShop na Ubuntu 20.04 s Apache

  3. Jak nainstalovat Let’s Encrypt SSL v Apache na Debianu 11