GNU/Linux >> Znalost Linux >  >> AlmaLinux

Jak nainstalovat a nakonfigurovat Apache (httpd) pomocí Let's Encrypt TLS/SSL na AlmaLinux 8

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 AlmaLinux 8.

Předpoklady

  • Doporučený operační systém: AlmaLinux 8.
  • 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 AlmaLinux operační systém, abyste se ujistili, že všechny existující balíčky jsou aktuální:

sudo dnf update && sudo dnf upgrade -y

Výukový program bude používatpříkaz sudo a za předpokladu, že máte status sudo . Chcete-li ověřit stav sudo na vašem účtu:

sudo whoami

Ukázkový výstup zobrazující stav sudo:

[joshua@localhost ~]$ sudo whoami
root

Pokud jste si nenastavili uživatelský účet sudo a chtěli byste to udělat, navštivte náš návod Jak přidat uživatele do Sudoers na AlmaLinux .

Chcete-li použít rootový účet , použijte k přihlášení následující příkaz s heslem uživatele root.

su

Nainstalujte Apache (HTTPD)

Apache je ve výchozím nastavení v proudu aplikací AlmaLinux 8. 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 dnf install httpd

Příklad výstupu:

Zadejte Y a poté stiskněte „ENTER KEY“ pokračovat.

Dále ve výchozím nastavení Apache (HTTPD) je deaktivován a není aktivován. Nejprve spusťte službu.

sudo systemctl start httpd

Volitelně povolte Apache při spouštění systému.

sudo systemctl enable httpd

Příklad výstupu v případě úspěchu:

Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

Pomocí následujícíhosystemctl zkontrolujte, zda Apache2 běží správně příkaz:

systemctl status httpd

Příklad výstupu, pokud je vše v pořádku:

Konfigurace pravidel brány firewall

Při instalaci Apache automaticky nepřidává pravidla brány firewall ke standardním portům 80 nebo 443. Než budete pokračovat, měli byste nastavit následující pravidla, to bude záviset na tom, jaké porty budete používat, ale všechny možnosti jsou uvedeny.

Otevřete port 80 nebo HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

Otevřete port 443 nebo HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

Znovu načtěte bránu firewall, aby se změny projevily

sudo firewall-cmd --reload

Ověřte webový server Apache

Nyní, když jste nainstalovali a nakonfigurovali, je čas otestovat, zda je Apache 2 dosažitelný a funguje správně tím, ž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 dnf 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.

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 thanks to Linuxcapable.com</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í. Ve výchozím nastavení bude nutné vytvořit a nastavit požadované adresáře.

Nejprve zpřístupněte adresáře potřebné pro weby a povolte weby. Uživatelé Nginx by toto nastavení také znali.

sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled

Dalším krokem, který musíte udělat, je instruovat Apache, aby hledal soubory virtuálního hostitele, které budou muset být umístěny na /etc/httpd/sites-available adresář.

Otevřete konfigurační soubor.

sudo nano /etc/httpd/conf/httpd.conf

Přidejte následující na konec souboru.

IncludeOptional sites-enabled/*.conf

Volitelně můžete zakázat výchozí složku, ve které Apache hledá soubory virtuálních hostitelů, což možná chtělo předejít nejasnostem. Stačí přidat komentář vedle položky IncludeOptional conf.d/*.conf .

Příklad:

#IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf

Uložte soubor (CTRL+O), poté ukončete (CTRL+X) .

Poté pomocí svého oblíbeného textového editoru vytvořte konfigurační soubor virtuálního hostitele umístěný na adrese /etc/httpd/sites-available/example_domain.conf jak je uvedeno níže:

sudo nano /etc/httpd/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 /var/www/example_domain/error.log
    CustomLog /var/www/example_domain/requests.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

Dalším krokem je povolení virtuálního hostitele. Zpočátku jste vytvořili dva adresáře, sites-available a povoleny weby. Nyní budete muset vytvořit symlink na povolené weby pro aktivaci virtuálního hostitele.

Chcete-li vytvořit symbolický odkaz, použijte ve svém terminálu následující příklad.

sudo ln -s /etc/httpd/sites-available/example_domain.conf /etc/httpd/example_domain.conf

Po dokončení restartujte službu Apache.

sudo systemctl restart httpd

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 EPEL úložiště a mod_ssl balíček pro lépe aktualizované balíčky a zabezpečení.

sudo dnf install epel-release mod_ssl -y

Dále nainstalujte balíček certbot takto:

sudo dnf 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 .

Volitelně můžete nastavit úlohu cron pro automatickou obnovu certifikátů. Certbot nabízí skript, který to dělá automaticky, a vy můžete nejprve otestovat, abyste se ujistili, že vše funguje pomocí suchého běhu.

sudo certbot renew --dry-run

Pokud vše funguje, otevřete okno crontab pomocí následujícího příkazu terminálu.

sudo crontab -e

Dále zadejte čas, kdy se má automaticky obnovit. Toto by mělo být kontrolováno minimálně denně, a pokud je potřeba certifikát obnovit, skript certifikát neaktualizuje. Pokud potřebujete pomoc s nalezením vhodného času pro nastavení, použijte bezplatný nástroj crontab.guru.

00 00 */1 * * /usr/sbin/certbot-auto renew

Uložit (CTRL+O) poté ukončete (CTRL+X), a cronjob bude automaticky povolen.

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/www/example_domain s custom.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 httpd

Chcete-li spustit webový server Apache:

sudo systemctl start httpd

Restartování webového serveru Apache:

sudo systemctl restart httpd

Chcete-li znovu načíst webový server Apache (pro další menší změny nevyžadující restart) :

sudo systemctl reload httpd

Chcete-li zakázat Apache při spouštění serveru:

sudo systemctl disable httpd

Chcete-li spustit Apache při spouštění serveru (automaticky povoleno při instalaci) :

sudo systemctl enable httpd

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 dnf update

Pokud je k dispozici upgrade Apache, použijte příkaz:

sudo dnf 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 dnf autoremove httpd

Tento příkaz také odstraní všechny nepoužívané závislosti dodané s instalací.


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

  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 Let’s Encrypt SSL v Apache na Debianu 11

  2. Jak nainstalovat Apache pomocí Let's Encrypt na RHEL 8

  3. Jak nainstalovat Apache pro hostování webových stránek s SSL v AlmaLinuxu

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

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

  3. Jak nainstalovat Nginx pomocí Let's Encrypt TLS/SSL na Ubuntu 20.04