GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a nakonfigurovat Apache pomocí Let's Encrypt TLS/SSL na Debian 11 Bullseye

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 Debian 11 Bullseye.

Předpoklady

  • Doporučený operační systém: Debian 11 Bullseye
  • Uživatelský účet: Uživatelský účet s právy sudo nebo přístup root (příkaz su) .

Aktualizace operačního systému

Aktualizujte svůj Debian 11 Bullseye operační systém, abyste se ujistili, že všechny existující balíčky jsou aktuální:

sudo apt update && sudo apt upgrade

Root nebo Sudo Access

Ve výchozím nastavení, když vytvoříte svůj účet při spuštění s Debianem v porovnání s jinými distribucemi, automaticky nezíská status sudoers. Musíte mít 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 Debianu.

Výukový program bude používatpříkaz sudo a za předpokladu, že máte status sudo . Pokud jste nenastavili uživatele sudo, použijte následující příkaz k přihlášení do root a pokračujte.

su

Metoda 1. Nainstalujte Apache z úložiště Debian

První možností instalace Apache je použití výchozího úložiště Debianu. 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 z úložiště Ondřej Surý

Ve výchozím nastavení je Apache dostupný v softwarových repozitářích Debianu , což usnadňuje instalaci. Jak však mnozí u Debianu vědí, často může 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í.

Uživatelům, kteří chtějí nejnovější Apache, doporučujeme nainstalovat Verzi Apache 2 Ondřeje Surého , který je nejaktuálnější a předem vytvořený s extra široce používanými moduly.

Nejprve, pokud nemáte nainstalovaný curl, použijte následující příkaz:

sudo apt install curl -y

Chcete-li přidat úložiště, použijte ve svém terminálu následující příkaz:

curl -sSL https://packages.sury.org/apache2/README.txt | sudo bash -x

Aktualizujte své úložiště, aby odráželo novou změnu:

sudo apt update

Nyní, když jste nainstalovali úložiště Apache a aktualizovali seznam úložišť, nainstalujte Apache2 s následujícím:

sudo apt install apache2 -y

Instalace nainstaluje všechny potřebné závislosti.

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

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á úložiště Ondřej Surý vždy náskok před výchozím Debianem 11.

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:

Volitelné – Nakonfigurujte UFW Firewall pro Apache

Uživatelé Debianu, kteří si nainstalovali UFW, budou 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.

Ve výchozím nastavení není UFW nainstalován. Pokud chcete nainstalovat UFW, proveďte ve svém terminálu následující příkaz:

sudo apt install ufw -y

Dále povolte UFW. Když bránu firewall povolíte, ve výchozím nastavení odmítne všechny příchozí a povolí všechny odchozí.

sudo ufw enable

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:

Gratulujeme, nainstalovali jste webový server Apache 2 a momentálně funguje.

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 Debianu 11 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

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


Debian
  1. Jak nainstalovat a nakonfigurovat Drupal s Apache na Debian 9

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

  3. Jak nainstalovat Let's Encrypt SSL s Apache na Debian 11

  1. Jak nainstalovat Joomla s Apache a nechat šifrovat SSL na Debian 10

  2. Jak nainstalovat Drupal s Apache a nechat šifrovat SSL na Debian 11

  3. Jak nainstalovat DokuWiki pomocí Lets Encrypt SSL na Debian 11

  1. Jak nainstalovat WordPress s Apache a Let's Encrypt SSL na Debian 11

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

  3. Jak nainstalovat Drupal s Nginx a zašifrovat SSL na Debian 11