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