Úvod
HTTP server Apache je nejrozšířenějším webovým serverem na světě. Poskytuje mnoho výkonných funkcí, včetně dynamicky zatížitelných modulů, robustní mediální podpory a rozsáhlé integrace s jiným populárním softwarem.
v této příručce vysvětlíme, jak nainstalovat webový server Apache na server Ubuntu 20.04.
Předpoklady
Než začnete tuto příručku, měli byste mít pravidelné, non-root uživatele s sudo oprávněními nakonfigurován na serveru., Navíc budete muset povolit základní firewall pro blokování nepodstatných portů. Můžete se naučit, jak nakonfigurovat běžný uživatelský účet a nastavit firewall pro váš server podle našeho počátečního průvodce nastavením serveru pro Ubuntu 20.04.
Pokud máte k dispozici účet, Přihlaste se jako uživatel, který není root, a začněte.
Krok 1-Instalace Apache
Apache je k dispozici ve výchozích softwarových repozitářích Ubuntu, což umožňuje jeho instalaci pomocí konvenčních nástrojů pro správu balíčků.,
Pojďme začít tím, že aktualizaci indexu místní balíček, aby odrážely nejnovější proti proudu změn:
- sudo apt update
nainstalujte apache2
balení:
- sudo apt install apache2
Po potvrzení instalace, apt
bude instalovat Apache a všechny požadované závislosti.
2. Krok — Nastavení Firewallu
Před testováním Apache, je nutné upravit nastavení firewallu povolit vnější přístup k výchozí webový porty., Za předpokladu, že jste postupovali podle pokynů v předpokladech, měli byste mít nakonfigurován firewall UFW, aby omezil přístup k vašemu serveru.
během instalace se Apache zaregistruje pomocí UFW a poskytne několik profilů aplikací, které lze použít k povolení nebo deaktivaci přístupu k Apache prostřednictvím brány firewall.,>
zobrazí se seznam profily aplikace:
OutputAvailable applications: Apache Apache Full Apache Secure OpenSSH
Jak je uvedeno na výstup, jsou tam tři profily jsou k dispozici pro Apache:
- Apache: Tento profil se otevře pouze port 80 (normální, nešifrovaný provoz na webu)
- Apache Full: Tento profil se otevře port 80 (normální, nešifrovaný provoz webu) a port 443 (TLS/SSL šifrovaného provozu)
- Apache Bezpečné: Tento profil se otevře pouze portu 443 (TLS/SSL šifrovaného provozu)
je doporučeno, že byste povolit nejvíce omezující profil, který bude stále umožňují provoz jste nakonfigurovali., Od doby, co jsme nakonfigurovali SSL na našem serveru ještě v této příručce, budeme jen muset povolit komunikaci na portu 80:
- sudo ufw allow 'Apache'
můžete ověřit změnit zadáním:
- sudo ufw status
výstup bude poskytovat seznam povolených HTTP:
Jak je uvedeno na výstup, profil má být aktivován, aby umožnil přístup k Apache web serveru.
Krok 3-Kontrola webového serveru
Na konci procesu instalace spustí Ubuntu 20.04 Apache. Webový server by již měl být v provozu.,
Podívejte se na systemd
init systému, ujistěte se, že služba je spuštěna zadáním:
- sudo systemctl status apache2
Jak potvrdil tento výstup, služba byla úspěšně spuštěna. Nejlepším způsobem, jak to vyzkoušet, je požádat o stránku od Apache.
můžete přistupovat k výchozí vstupní stránce Apache a potvrdit, že software běží správně prostřednictvím vaší IP adresy. Pokud neznáte IP adresu vašeho serveru, můžete ji získat několika různými způsoby z příkazového řádku.,
zkuste to napsat na příkazovém řádku serveru:
- hostname -I
získáte zpět několik adres oddělených mezerami. Každý si můžete vyzkoušet ve svém webovém prohlížeči, abyste zjistili, zda fungují.,
Další možností je použít Icanhazip nástroj, který by vám vaši veřejnou IP adresu, jak číst z jiného místa na internetu:
- curl -4 icanhazip.com
Když máte IP adresu serveru, zadejte do adresního řádku vašeho prohlížeče:
You should see the default Ubuntu 20.04 Apache web page:
This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.
Step 4 — Managing the Apache Process
Now that you have your web server up and running, let’s go over some basic management commands using systemctl
.
To stop your web server, type:
- sudo systemctl stop apache2
Chcete-li spustit webový server, když je zastavena, typ:
- sudo systemctl start apache2
zastavit a poté službu opět spustit, typ:
- sudo systemctl restart apache2
Pokud jste prostě dělat změny v konfiguraci Apache může často nabít bez přerušení spojení., K tomu použijte tento příkaz:
- sudo systemctl reload apache2
ve výchozím nastavení Apache je nakonfigurován pro spuštění automaticky, když boty server. Pokud to není to, co chcete, zakázat toto chování zadáním:
- sudo systemctl disable apache2
Chcete-li znovu povolit spuštění služby na boot, typ:
- sudo systemctl enable apache2
Apache by nyní měla začít automaticky, když boty server znovu.,
Krok 5 — Nastavení Virtuálních Hostitelů (Doporučeno)
Pokud používáte webový server Apache, můžete použít virtuální hostitele (podobný server bloky v Nginx), aby zahrnovala podrobnosti o konfiguraci a hostit více než jednu doménu z jednoho serveru. Zřídíme doménu s názvem your_domain, ale měli byste ji nahradit vlastním názvem domény. Pokud nastavujete název domény pomocí DigitalOcean, podívejte se na naši síťovou dokumentaci.
Apache na Ubuntu 20.,04 má ve výchozím nastavení povolen jeden blok serveru, který je nakonfigurován tak, aby sloužil dokumentům z adresáře /var/www/html
. I když to funguje dobře pro jeden web, to může být těžkopádné, pokud hostujete více webů. Místo úpravy /var/www/html
, pojďme vytvořit adresářovou strukturu v rámci /var/www
pro your_domain stránky, takže /var/www/html
v místě, jako výchozí adresář musí být doručena, pokud klient žádost neodpovídá žádné jiné stránky.,
Vytvořit adresář pro your_domain takto:
- sudo mkdir /var/www/your_domain
Next, přiřadit vlastnictví adresáře s $USER
proměnné prostředí:
- sudo chown -R $USER:$USER /var/www/your_domain
oprávnění pro vaše webové kořeny by měly být správné, pokud jste upravili hodnotu umask, která nastavuje výchozí oprávnění souborů., Aby zajistily, že vaše oprávnění jsou správné, a aby majitel číst, zapisovat a spouštět soubory při poskytnutí pouze číst a spouštět oprávnění skupiny a další, můžete zadat následující příkaz:
- sudo chmod -R 755 /var/www/your_domain
Next, vytvořit vzorek index.html
stránky pomocí nano
nebo váš oblíbený editor:
- sudo nano /var/www/your_domain/index.html
Uvnitř, přidejte následující ukázka kódu HTML:
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>
Uložte a zavřete soubor po dokončení.,
aby Apache sloužil tomuto obsahu, je nutné vytvořit virtuální hostitelský soubor se správnými směrnicemi. Místo toho změnit výchozí konfigurační soubor se nachází v /etc/apache2/sites-available/000-default.conf
přímo, pojďme udělat nový na /etc/apache2/sites-available/your_domain.conf
:
- sudo nano /etc/apache2/sites-available/your_domain.conf
Vložit v následující konfiguraci bloku, který je podobný default,, ale aktualizovaný pro náš nový adresář a název domény:
Všimněte si, že jsme aktualizovali DocumentRoot
náš nový adresář a ServerAdmin
do e-mailu, že your_domain správce webu přístup. Přidali jsme také dvě směrnice: ServerName
, kterou se stanoví základní domény, který by měl odpovídat za tohoto virtuálního hostitele definice, a ServerAlias
, který definuje další jména, která by měla odpovídat tak, jako kdyby byly základní název.
Uložte a zavřete soubor po dokončení.,
řekněme, aby soubor s a2ensite
nástroj:
- sudo a2ensite your_domain.conf
Zakázat výchozí stránky definované v 000-default.conf
:
- sudo a2dissite 000-default.conf
Next, pojďme test pro konfiguraci chyby:
- sudo apache2ctl configtest
mělo by se zobrazit následující výstup:
OutputSyntax OK
Restartujte Apache k provedení změn:
- sudo systemctl restart apache2
Apache by měl být nyní slouží své doménové jméno., Můžete to vyzkoušet tím, že přejdete do , kde byste měli vidět něco jako toto:
6. Krok – seznámení s Důležitými Apache Souborů a Adresářů
Nyní, když víte, jak řídit Apache službu sám, ty by měly trvat několik minut, aby se seznámili s pár důležitých adresářů a souborů.,
Obsah
-
/var/www/html
: skutečný obsah webu, který ve výchozím nastavení se skládá pouze z výchozí Apache stránce jste viděli dříve, se podává z/var/www/html
adresář. To lze změnit změnou konfiguračních souborů Apache.
konfigurace serveru
-
/etc/apache2
: konfigurační adresář Apache. Všechny konfigurační soubory Apache jsou umístěny zde. -
/etc/apache2/apache2.conf
: hlavní konfigurační soubor Apache. To lze upravit tak, aby došlo ke změnám v globální konfiguraci Apache., Tento soubor je zodpovědný za načtení mnoha dalších souborů do konfiguračního adresáře. -
/etc/apache2/ports.conf
: tento soubor určuje porty, které Apache bude poslouchat. Ve výchozím nastavení Apache poslouchá na portu 80 a navíc poslouchá na portu 443, když je povolen modul poskytující funkce SSL. -
/etc/apache2/sites-available/
: adresář, kde lze ukládat virtuální hostitele na webu. Apache nebude používat konfigurační soubory nalezené v tomto adresáři, pokud nejsou propojeny s adresářemsites-enabled
., Obvykle se v tomto adresáři provádí veškerá konfigurace bloku serveru a poté je povoleno propojením s jiným adresářem pomocí příkazua2ensite
. -
/etc/apache2/sites-enabled/
: adresář, kde jsou uloženy povolené virtuální hostitele na webu. Obvykle jsou vytvořeny propojením s konfiguračními soubory nalezenými v adresářisites-available
sa2ensite
. Apache čte konfigurační soubory a odkazy nalezené v tomto adresáři, když se spustí nebo znovu načte kompilovat kompletní konfiguraci., -
/etc/apache2/conf-available/
/etc/apache2/conf-enabled/
: Tyto adresáře mají stejný vztah jakosites-available
sites-enabled
adresářů, ale jsou použity k uložení konfigurace fragmenty, které nepatří do virtuálního hostitele. Soubory v adresářiconf-available
lze povolit příkazema2enconf
a deaktivovat příkazema2disconf
. -
/etc/apache2/mods-available/
/etc/apache2/mods-enabled/
: Tyto adresáře obsahují dostupné a zapnuté moduly, resp., Soubory končící v.load
obsahují fragmenty pro načtení specifických modulů, zatímco soubory končící v.conf
obsahují konfiguraci těchto modulů. Moduly lze aktivovat a deaktivovat pomocí příkazua2enmod
aa2dismod
.
Protokoly Serveru
-
/var/log/apache2/access.log
: ve výchozím nastavení, každý požadavek na webový server je zaznamenána v tomto souboru protokolu, pokud Apache je nakonfigurován tak, aby dělat jinak. -
/var/log/apache2/error.log
: ve výchozím nastavení jsou v tomto souboru zaznamenány všechny chyby.,LogLevel
směrnice v konfiguraci Apache určuje, kolik detailů budou chybové protokoly obsahovat.
Závěr
Nyní, že máte webový server nainstalován, máte mnoho možností pro typ obsahu, můžete sloužit a technologií, které můžete použít k vytvoření bohatší zkušenosti.
Pokud chcete vytvořit úplnější zásobník aplikací, můžete si přečíst tento článek o konfiguraci zásobníku LAMP na Ubuntu 20.04