Jak nainstalovat Apache HTTPD na CentOS Stream 9

Apache HTTP Server (httpd) je jeden z nejpopulárnějších a nejrobustnějších dostupných webových serverů, známý pro svou flexibilitu, výkon a širokou škálu funkcí. Je široce používán pro hostování webových stránek a webových aplikací. Nastavení Apache na CentOS Stream 9 vám umožní využít jeho výkonné schopnosti pro vaše potřeby webhostingu. Zabezpečení vašeho webu pomocí bezplatného certifikátu SSL od Let's Encrypt navíc zajistí, že váš web bude šifrovaný a důvěryhodný.

Chcete-li nainstalovat Apache HTTP Server na CentOS Stream 9 a nastavit certifikát Let's Encrypt SSL, postupujte podle kroků uvedených v této příručce. To vám poskytne bezpečnou a efektivní konfiguraci webového serveru.

Zajištění plně aktualizovaného systému CentOS Stream před instalací Apache

Než přistoupíme k instalaci Apache na vašem počítači CentOS Stream, musíme ověřit, zda je náš systém plně aktuální. Jde o víc než jen o preventivní opatření. Aktualizace systému pomáhá předcházet problémům s kompatibilitou a výrazně zvyšuje jeho stabilitu, zabezpečení a výkon.

Chcete-li to uvést do pohybu, proveďte ve svém terminálu následující příkaz:

sudo dnf upgrade --refresh

Tento příkaz spustí aktualizační mechanismus, pořídí a nainstaluje nejnovější aktualizace softwaru a opravy zabezpečení vašeho systému. Před pokračováním v instalaci Apache je důležité umožnit úplné dokončení procesu aktualizace. Tím je zajištěno, že váš systém je ve svém prvotřídním stavu, optimálně nakonfigurován a připraven ke spuštění Apache, aniž by došlo k nějakým zádrhelům nebo problémům s kompatibilitou.

Nainstalujte Apache HTTPD pomocí příkazu DNF

Druhým krokem je instalace Apache nebo HTTPD do vašeho systému CentOS Stream. Toto je přímočarý proces, s laskavým svolením výkonného správce balíčků DNF. Správce balíčků DNF neboli Dandified Yum zjednodušuje instalaci, aktualizaci a správu softwarových balíčků.

Nastartujte instalaci Apache (HTTPD) spuštěním následujícího příkazu ve vašem terminálu:

sudo dnf install httpd

Tento příkaz zahájí instalační mechanismus a načte a nainstaluje všechny potřebné součásti, které umožní spuštění Apache (HTTPD) na vašem systému. Proces by měl skončit během několika minut. Poté budete mít Apache (HTTPD) plně nainstalován a připraven k použití.

Aktivace a konfigurace Apache HTTPD pro spuštění při spouštění systému

Po úspěšné instalaci Apache (HTTPD) na váš systém CentOS Stream je následující klíčovou akcí aktivovat službu a nakonfigurovat její automatické spouštění při spuštění systému. Apache (HTTPD) je vždy aktivní a připravený obsluhovat webové požadavky, když se váš systém zapne.

Pokud služba Apache (HTTPD) není aktivní nebo je nastavena tak, aby se spouštěla ​​ve výchozím nastavení, pomocí těchto příkazů ve svém terminálu službu spusťte a zajistěte, aby běžela při spouštění systému:

sudo systemctl start httpd
sudo systemctl enable httpd

První příkaz, sudo systemctl start httpd, spustí službu Apache (HTTPD), zatímco druhý příkaz, sudo systemctl enable httpd, nastaví službu tak, aby se spouštěla ​​automaticky při startu systému. Implementací těchto dvou příkazů zaručíte, že Apache (HTTPD) bude neustále přístupný a aktivní, připravený vyhovět webovým požadavkům pokaždé, když se váš systém zapne.

Alternativně můžete dva předchozí kroky zhustit do jediného příkazu:

sudo systemctl enable httpd --now

Možnost –now v příkazu sudo systemctl enable httpd –now současně spustí službu Apache (HTTPD) a nakonfiguruje ji tak, aby se spouštěla ​​automaticky při spouštění systému. Tento jediný příkaz sjednocuje dva samostatné příkazy z předchozích kroků, díky čemuž je proces efektivnější a efektivnější.

Zkontrolujte stav služby Apache HTTPD

Nakonec bychom měli ověřit úspěšnou implementaci a fungování Apache (HTTPD) pomocí následujícího příkazu systemctl:

systemctl status httpd

Tento příkaz vám poskytuje informace o stavu služby Apache (HTTPD) v reálném čase, včetně případných chyb nebo zpráv, které se mohly objevit. Kontrolou stavu služby můžete potvrdit, že Apache (HTTPD) běží hladce.

Konfigurace pravidel FirewallD

Po instalaci Apache (HTTPD) na CentOS Stream si můžete všimnout, že brána firewall nezahrnuje předem nakonfigurovaná pravidla pro standardní porty 80 a 443. Tato pravidla brány firewall musíte nakonfigurovat, než budete pokračovat, abyste zlepšili zabezpečení své webové aplikace.

Nastavte pravidla brány firewall pomocí nástroje firewall-cmd, výchozího nástroje pro správu brány firewall CentOS Stream. Pravidla, která musíte nakonfigurovat, se budou lišit v závislosti na portech, které hodláte použít. V následujících krocích však uvádíme všechny kritické možnosti.

Otevření portů 80 a 443

Spustíme první dva příkazy pro otevření portů 80 a 443. Tyto porty zpracovávají příchozí HTTP a HTTPS provoz.

Chcete-li otevřít port 80 nebo HTTP, spusťte následující příkaz:

sudo firewall-cmd --permanent --add-port=80/tcp

Dále otevřete port 443 nebo HTTPS s následujícím příkazem:

sudo firewall-cmd --permanent --add-port=443/tcp

Ověřte změny brány firewall

Po zadání portů, které se mají otevřít, musíme dát firewallu pokyn k implementaci těchto změn. To provedete opětovným načtením pravidel brány firewall pomocí příkazu níže:

sudo firewall-cmd --reload

Pochopení důsledků

Je prvořadé dobře porozumět bezpečnostním důsledkům, které doprovázejí otevírání portů ve vašem systému. Selektivním otevíráním pouze nezbytných portů posilujete obranu své webové aplikace před neoprávněným přístupem a potenciálními bezpečnostními hrozbami. To zdůrazňuje, proč je důležité správně nakonfigurovat pravidla brány firewall pro vaši instalaci Apache (HTTPD) na CentOS Stream.

Ověření přístupu Apache HTTPD

Po pečlivé konfiguraci brány Firewalld se ujistěte, že máte přístup na vstupní stránku Apache (HTTPD) prostřednictvím webového prohlížeče. Spusťte svůj oblíbený webový prohlížeč a přejděte na http://localhost nebo http://your_server_ip.

Pro přístup přes IP vašeho serveru:

http://your_server_ip

Případně pro přístup přes localhost:

http://localhost

Když vše přesně nakonfigurujete, přivítá vás výchozí vstupní stránka Apache (HTTPD). Na této stránce se zobrazí zpráva potvrzující, že server funguje podle očekávání. Stránka se bude podobat:

Vytvořte a nakonfigurujte virtuálního hostitele

Tato část se ponoří do praktického aspektu vytvoření virtuálního hostitele pomocí Apache (HTTPD), flexibilního webového serveru známého svou schopností hostovat více domén na jednom serveru. Tento nástroj je analogický atributu „bloky serveru“ Nginx. V následujícím tutoriálu si ukážeme, jak formulovat virtuálního hostitele pro danou doménu, reprezentovanou jako „example-domain.com“. Tuto ukázkovou doménu přirozeně nahradíte svým konkrétním názvem domény.

Vytváření virtuálních hostitelů usnadňuje nezávislou správu konfigurací pro každou doménu. To poskytuje kontrolu nad různými aspekty prostředí vašeho webového serveru, včetně zabezpečení, výkonu a vlastních nastavení. To se může ukázat jako zvláště výhodné, pokud chcete hostovat více webových stránek na jednom serveru nebo udržovat samostatná nastavení pro různé části vašeho webu. S Apache (HTTPD) můžete bez námahy navrhnout virtuální hostitele, kteří tyto požadavky splňují.

Vytváření a konfigurace adresářů

Zahájení nastavení virtuálního hostitele zahrnuje vytvoření nového adresáře, který slouží jako kořenová složka pro vašeho virtuálního hostitele. Název tohoto adresáře se obvykle shoduje s názvem vaší domény.

Pokud je například název vaší domény „example.com“, vygenerovali byste nový adresář pomocí příkazu:

sudo mkdir /var/www/example.com

Tento příkaz vyžaduje nahrazení „example.com“ názvem vaší domény. Adresář tedy bude obsahovat soubory a aktiva spojená s vašimi virtuálními hostiteli, včetně souborů HTML, obrázků, skriptů a dalších zdrojů.

Nastavení jednotlivých adresářů pro každého virtuálního hostitele usnadňuje zřetelné oddělení problémů, což je důležité v kontextu zabezpečení a odstraňování problémů.

Nový adresář může vyžadovat příslušné vlastnictví a oprávnění, aby umožnil přístup Apache (HTTPD). Následující příkazy nastavují správné vlastnictví a oprávnění:

sudo chown -R apache:apache /var/www/example.com
sudo chmod -R 755 /var/www/example.com

S připraveným novým adresářem můžeme nastavit vašeho virtuálního hostitele.

Vytvoření souboru index.html

Textový editor vygeneruje soubor index.html pro vašeho virtuálního hostitele. V našem tutoriálu použijeme textový editor nano, i když si můžete vybrat libovolný textový editor, který preferujete.

Chcete-li vytvořit soubor index.html, spusťte následující příkaz:

sudo nano /var/www/example.com/index.html

V textovém editoru začněte vytvářet obsah souboru index.html. Tento soubor obvykle slouží jako první kontaktní bod pro uživatele, kteří navštíví váš web.

Zde je jednoduchý příklad:

<html>
  <head>
    <title>Example Domain</title>
  </head>
  <body>
    <h1>Welcome to Example Domain</h1>
    <p>This is a sample page for the domain example.com.</p>
  </body>
</html>

Po dokončení obsahu souboru index.html soubor uložte a ukončete textový editor. V případě nano se to provede stisknutím Ctrl + X, Y a Enter.

Konfigurace virtuálních hostitelských adresářů

Zajištění správného nastavení adresáře pro webový server Apache zaručuje bezproblémovou a organizovanou konfiguraci. Konkrétně se používají adresáře „sites-available“ a „sites-enabled“. Tato konfigurace odráží konfiguraci přijatou v Nginx a podporuje organizované a přístupné konfigurace.

Chcete-li vytvořit tyto adresáře, použijte následující příkaz:

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

Následně dejte Apache pokyn, aby hledal soubory virtuálního hostitele v adresáři „/etc/httpd/sites-available“:

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

V otevřeném konfiguračním souboru připojte na konec řádek „IncludeOptional sites-enabled/*.conf“. Tento řádek dává Apache pokyn, aby zahrnul všechny konfigurační soubory virtuálního hostitele do adresáře „sites-enabled“.

IncludeOptional sites-enabled/*.conf

Volitelně můžete chtít přidat komentář „IncludeOptional conf.d/*.conf“, čímž deaktivujete výchozí složku, ve které Apache hledá soubory virtuálního hostitele. To pomáhá předcházet případným nejasnostem.

Příklad:

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

Chcete-li soubor uložit a ukončit, použijte kombinaci kláves CTRL + O a poté CTRL + X.

Vytvořte konfigurační soubor virtuálního hostitele

Dále pomocí vašeho textového editoru vytvoříme konfigurační soubor virtuálního hostitele na adrese /etc/httpd/sites-available/example.com.conf.

sudo nano /etc/httpd/sites-available/example.com.conf

Před zkopírováním do konfiguračního souboru virtuálního hostitele umístěného na adrese /etc/httpd/sites-available/example.com.conf vyplňte zástupné informace v následujícím konfiguračním bloku pomocí názvu ServerName, ServerAlias ​​a Document Root.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example.com/
</VirtualHost>

Upravte direktivy serveru tak, aby vyhovovaly vašim specifickým požadavkům.

Krok 5: Úprava přístupových oprávnění

Chcete-li udělit veřejný přístup k vašemu serveru, upravte přístupová oprávnění pro službu Apache v konfiguračním souboru /etc/httpd/conf/httpd.conf. Výchozí konfigurace zakazuje přístup. Pokud tento krok zanedbáte, můžete při pokusu o přístup na váš web narazit na chyby HTTP 403.

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

Přidejte do svého souboru následující blok a ujistěte se, že upravíte kořenový adresář tak, aby odpovídal vašemu vlastnímu.

<Directory /var/www/example.com/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Chcete-li tyto změny uložit, použijte kombinaci kláves CTRL+O a ukončete textový editor pomocí CTRL+X.

Krok 6: Povolte virtuálního hostitele pro Apache na CentOS Stream

Chcete-li nastavit virtuální hostitele, musíte jej aktivovat jako poslední krok. Vytvořte symbolický odkaz z adresáře sites-available do adresáře sites-enabled pomocí příkazu uvedeného níže:

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/

Chcete-li dokončit proces aktivace, musíte restartovat službu Apache.

sudo systemctl restart httpd

Po restartování služby Apache otevřete webový prohlížeč a přejděte na „HTTP://example_domain“. Pokud jste si nezaregistrovali doménu, můžete na svůj web přistupovat pomocí IP adresy (místní nebo vzdálené). Pokud vše nastavíte správně, přivítá vás vstupní stránka, kterou jste vytvořili v souboru index.html.

Další příkazy a tipy

Zabezpečené adresáře a soubory

Nastavení bezpečných oprávnění

Použití bezpečných oprávnění pro soubory a adresáře v Apache na CentOS je zásadní. Často jsou udělena nadměrná oprávnění, jako je úplný veřejný přístup. Chcete-li předejít bezpečnostním rizikům, doporučujeme omezit oprávnění. Pro adresáře použijte chmod 755 a pro soubory, chmod 644. Níže jsou uvedeny příkazy pro nastavení těchto oprávnění. Pamatujte, že některé aplikace mohou vyžadovat jiná oprávnění, např 777 pro phpBB.

  • Pro adresáře:
sudo find /var/www/example.com/ -type d -exec chmod 755 "{}" \;
  • Pro soubory:
sudo find /var/www/example.com/ -type f -exec chmod 644 "{}" \;

Tyto příkazy nahradí /var/www/example.com/ s příslušnou cestou k adresáři. Tento krok nezaručuje úplné zabezpečení, ale výrazně snižuje rizika tím, že brání veřejnému přístupu k důležitým souborům.

Zabezpečte Apache pomocí Let's Encrypt SSL

Instalace certifikátu Let's Encrypt SSL

Zabezpečení serveru Apache certifikátem SSL je nezbytné pro bezpečné připojení klient-server. Let's Encrypt poskytuje bezplatný automatický certifikát SSL. Nejprve se ujistěte, že je povoleno úložiště CRB a zda je nainstalováno úložiště EPEL. Proces instalace se mezi CentOS Stream 9 a 8 mírně liší.

Pro CentOS Stream 9:
  • Povolit CRB:
sudo dnf config-manager --set-enabled crb
  • Nainstalujte úložiště EPEL:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

Dále nainstalujte mod_ssl a Snap:

sudo dnf install mod_ssl

Aktivujte EPEL na vaší distribuci CentOS Stream a poté nainstalujte Snap.

sudo dnf install snapd -y

Po instalaci nezapomeňte okamžitě povolit Snap a spuštění systému.

sudo systemctl enable snapd --now

Dalším krokem je instalace snap core, které se postará o všechny závislosti potřebné pro běh snap balíčků.

sudo snap install core

Vytvořte symbolický odkaz na adresář snapd.

sudo ln -s /var/lib/snapd/snap /snap

K instalaci balíčku Certbot snap použijte následující příkaz terminálu.

sudo snap install --classic certbot

Nakonec vytvořte další symbolický odkaz na balíček Certbot snap.

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Spusťte Certbot pro Apache

Spusťte ve svém terminálu následující příkaz a vygenerujte certifikát SSL pomocí Certbotu.

sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Pro nové uživatele Let's Encrypt můžete vyhledat další informace o zkratce v příkazu.

  • Možnost „–dry-run“ vám umožňuje provést zkušební běh procesu generování certifikátu beze změny systému. Tato možnost je cenná pro testování.
  • Možnost „–apache“ slouží k vygenerování certifikátu pro webový server Apache.
  • Možnost „–agree-tos“ vám umožňuje přijmout podmínky služby Let's Encrypt, certifikační autority, která poskytuje certifikát SSL.
  • Možnost „–redirect“ automaticky přesměruje veškerý provoz HTTP na HTTPS.
  • Možnost „–hsts“ povoluje HTTP Strict Transport Security (HSTS). Tato funkce zabezpečení pomáhá chránit před útoky na nižší verzi protokolu a únosy souborů cookie tím, že prohlížečům sděluje, aby k vašemu webu přistupovaly pouze přes zabezpečené připojení HTTPS.
  • Možnost „–staple-ocsp“ umožňuje sešívání OCSP (Online Certificate Status Protocol), které ověřuje stav odvolání certifikátu SSL bez kontaktování certifikační autority.
  • Pomocí možnosti „–email“ zadejte e-mailovou adresu, kterou chcete přidružit k certifikátu.
  • Volba „-d“ specifikuje název domény, pro kterou certifikát vygenerujete. V tomto příkladu je název domény „www.example.com“.

Případně můžete použít následující příkaz a postupovat podle pokynů krok za krokem, abyste získali přístupnější prostředí.

sudo certbot certonly --apache

Provedením příkazu se zmíněnými parametry nasměrujete certbota k vytvoření certifikátu SSL pro vaši doménu „www.example.com“ a zároveň zahrnuje nezbytné bezpečnostní funkce, jako je vynucené přesměrování HTTPS 301, hlavička Strict-Transport-Security a OCSP sešívání. Je důležité si uvědomit, že byste měli nahradit e-mailovou adresu v příkazu svou vlastní a také se ujistěte, že jste nahradili název domény „www.example.com“ požadovaným názvem domény.

Konfigurace SSL na Apache

Po získání certifikátu SSL nakonfigurujte server Apache tak, aby jej používal. Upravit ssl.conf soubor a přidejte následující řádky a nahraďte „example.com“ svou doménou:

sudo nano /etc/httpd/conf.d/ssl.conf

Do konfiguračního souboru přidejte následující řádky: nahraďte „example.com“ názvem vaší domény.

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Uložte změny a restartujte Apache, aby se konfigurace projevila.

sudo systemctl restart httpd 

Toto nastavení zajišťuje šifrovanou a bezpečnou komunikaci mezi prohlížeči a vaším webem.

Automatizace obnovy certifikátu

Chcete-li udržovat certifikát SSL aktuální, nastavte úlohu cron pro automatické obnovení. Vyzkoušejte proces obnovy nasucho:

sudo certbot renew --dry-run

Zkontrolujte časovače pomocí příkazu systemctl list-timer a potvrďte, že je přítomen „snap.certbot.renew.timer“.

systemctl list-timers snap.certbot.renew.timer

Chcete-li zobrazit aktivní a neaktivní časovače ve vašem systému, použijte příkaz „systemctl list-times –all“. Tento příkaz zobrazí přehled všech časovačů, včetně „snap.certbot.renew.timer“. „snap.certbot.renew.timer“ zajišťuje automatickou kontrolu a obnovu vašeho certifikátu před vypršením platnosti. Eliminujete tak obavy týkající se procesu obnovy.

systemctl list-timers --all

Správa HTTPD Apache

Po úspěšném nastavení Apache na vašem serveru je zde několik základních bodů, které je třeba pamatovat pro efektivní správu.

Protokoly serveru Apache

Protokoly serveru Apache jsou uloženy v adresáři /var/log/httpd/. Výchozí názvy souborů pro protokoly přístupu a chyb jsou access.log a error.log. Změna těchto názvů v konfiguračním souboru virtuálního hostitele je však možná.

Zde je příklad změny protokolů serveru Apache v konfiguračním souboru virtuálního hostitele.

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/example.com
    
    # Change access log to custom-access.log
    CustomLog /var/log/httpd/custom-access.log combined
    
    # Change error log to custom-error.log
    ErrorLog /var/log/httpd/custom-error.log
</VirtualHost>

Tento příklad změní protokoly přístupu a chyb na custom-access.log a custom-error.log. Názvy souborů protokolu můžete změnit na libovolná a aktualizovat odpovídající cestu v konfiguračním souboru virtuálního hostitele.

Příkazy Apache

Zde jsou některé z často používaných příkazů při správě Apache:

Zastavit webový server Apache:

sudo systemctl stop httpd

Spusťte webový server Apache:

sudo systemctl start httpd

Restartujte webový server Apache:

sudo systemctl restart httpd

Znovu načíst webový server Apache:

sudo systemctl reload httpd

Zakázat Apache při spouštění serveru:

sudo systemctl disable httpd

Povolit Apache při spouštění serveru:

sudo systemctl enable httpd

Jak aktualizovat Apache HTTPD

Chcete-li udržovat Apache aktualizovaný, spusťte příkaz, který obvykle používáte ke kontrole, zda je váš systém aktuální.

sudo dnf update --refresh

Před provedením jakékoli aktualizace je důležité vytvořit zálohy nebo bitové kopie systému, protože se někdy mohou vyskytnout chyby. Následující příkaz obnoví všechny systémové balíčky, včetně Apache, a vyzve vás k upgradu.

Jak odstranit Apache HTTPD

Chcete-li odinstalovat Apache ze systému, použijte následující příkaz.

sudo systemctl disable httpd --now

Nyní použijte následující příkaz k úplnému odstranění Apache.

sudo dnf remove httpd

Zbylé soubory mohou zůstat v hlavním adresáři /etc/httpd, takže tuto složku vymažte.

sudo rm -R /etc/httpd/

Závěr

Díky úspěšnému nastavení Apache HTTP Server a Let's Encrypt ve vašem systému CentOS Stream bude váš web robustní a bezpečný. Pravidelná aktualizace Apache a obnovování certifikátu Let's Encrypt SSL pomůže udržet optimální zabezpečení a výkon. Užijte si spolehlivost a zabezpečení, které Apache HTTP Server a Let's Encrypt přinášejí do vašeho webhostingového prostředí.

Joshua James
Následuj mě
Nejnovější příspěvky uživatele Joshua James (vidět vše)

Napsat komentář