• Digitální příslušenství
  • Server
  • Digitální život
  • Zásady ochrany osobních údajů
  • Kontaktujte nás
  1. Domov
  2. Článek
  3. Nastavení webového serveru Ubuntu 20.04 – Answertopia

Nastavení webového serveru Ubuntu 20.04 – Answertopia

Rsdaa 23/12/2021 970

Mezi mnoha balíčky, které tvoří operační systém Ubuntu, je webový server Apache. Škálovatelnost a odolnost Ubuntu z něj ve skutečnosti dělá ideální platformu pro hostování i těch nejnavštěvovanějších webových stránek.

V této kapitole vysvětlíme, jak nakonfigurovat systém Ubuntu pomocí Apache tak, aby fungoval jako webový server, včetně zabezpečených (HTTPS) i nezabezpečených (HTTP) konfigurací.

1.1 Požadavky na konfiguraci webového serveru Ubuntu

K nastavení vlastního webu potřebujete počítač (nebo instanci cloudového serveru), operační systém, webový server, název domény, název server a IP adresu.

Pokud jde o operační systém, budeme samozřejmě předpokládat, že používáte Ubuntu. Jak již bylo zmíněno, Ubuntu podporuje webový server Apache, který lze snadno nainstalovat, jakmile bude operační systém spuštěn. Doménové jméno lze zaregistrovat u jakékoli služby registrace názvu domény.

Pokud používáte Ubuntu v cloudové instanci, IP adresa přidělená poskytovatelem bude uvedena v informacích o přehledu serveru. Pokud hostujete svůj vlastní server a váš poskytovatel internetových služeb (ISP) přidělil statickou IP adresu, budete muset k této adrese přiřadit svou doménu. Toho je dosaženo pomocí jmenného serveru a všechny služby registrace domény vám tuto službu poskytnou.

Pokud nemáte statickou IP adresu (tj. váš ISP vám poskytuje dynamickou adresu, která se často mění), můžete použít jednu z řady bezplatných služeb dynamického DNS (DDNS nebo zkráceně DynDNS), které mapují vaše dynamické IP adresa k názvu vaší domény.

Jakmile máte nakonfigurován název domény a názvový server, dalším krokem je instalace a konfigurace webového serveru.

1.2Instalace balíčků webového serveru Apache

Aktuální verze Ubuntu obvykle ve výchozím nastavení webový server Apache neinstaluje. Chcete-li zkontrolovat, zda je server již nainstalován, spusťte následující příkaz:

Pokud apt generuje výstup podobný následujícímu, server apache je již nainstalován:

apache2/bionic-updates,bionic-security,nyní 2.4.29-1ubuntu4.13 amd64 [nainstalováno]

Pokud výstup apt neuvádí balíček nebo neobsahuje stav [installed], spusťte na příkazovém řádku následující příkaz a proveďte instalaci Apache:

1.3Konfigurace brány firewall

Před spuštěním a testováním webového serveru Apache bude nutné upravit bránu firewall, aby webový server mohl komunikovat s vnějším světem. Protokoly HTTP a HTTPS standardně používají porty 80 a 443, takže v závislosti na používaných protokolech bude nutné otevřít jeden nebo oba tyto porty. Pokud je váš systém Ubuntu chráněn nekomplikovanou bránou firewall, lze následující příkaz použít k povolení pouze nezabezpečeného webového provozu (HTTP):

Povolení pouze zabezpečeného provozu (HTTPS):

# ufw allow 'Apache Secure'

Případně povolte zabezpečený i nezabezpečený webový provoz následovně:

# ufw allow 'Apache Full'

Pokud používáte bránu firewall, lze k otevření portů HTTP a HTTPS použít následující příkazy. Při otevírání portů nezapomeňte zadat zónu brány firewall, která se vztahuje na síťové připojení k internetu:

# firewall-cmd --permanent --zone= --add-port=80/tcp# firewall-cmd --permanent --zone= --add-port=443/tcp

Po otevření potřebných portů nezapomeňte znovu načíst nastavení brány firewall:

Na serverech hostovaných v cloudu může být také nutné povolit příslušný port pro instanci serveru v rámci cloudové konzoly. Postup, jak to provést, najdete v dokumentaci poskytovatele cloudu.

1.4Přesměrování portů

Pokud je systém Ubuntu hostující webový server umístěn v síti chráněné firewallem (buď na jiném počítači s firewallem, nebo na routeru či bezdrátové základnové stanici s vestavěnou firewallovou ochranou ) budete muset nakonfigurovat bránu firewall tak, aby předávala port 80 a/nebo port 443 vašemu systému webového serveru. Mechanismus tohoto provedení se mezi firewally a zařízeními liší, proto si v dokumentaci zjistěte, jak nakonfigurovat předávání portů.

1.5Spuštění webového serveru Apache

Jakmile je server Apache nainstalován a nakonfigurován firewall, dalším krokem je ověřit, zda server běží, a v případě potřeby jej spustit.

Chcete-li zkontrolovat stav služby Apache z příkazového řádku, zadejte do příkazového řádku následující:

# systemctl status apache2

Pokud výše uvedený příkaz ukazuje, že služba httpd není spuštěna, lze ji spustit z příkazového řádku následovně:

# systemctl spustí apache2

Pokud chcete, aby se služba Apache httpd spouštěla ​​automaticky při spuštění systému, spusťte následující příkaz:

# systemctl povolit apache2

1.6 Testování webového serveru

Po dokončení instalace je dalším krokem ověření, zda je webový server v provozu.

Pokud máte přístup (místně nebo vzdáleně) k desktopovému prostředí serveru, jednoduše spusťte webový prohlížeč a do adresního řádku zadejte http://127.0.0.1 (127.0.0.1 je síť se zpětnou smyčkou adresa, která říká systému, aby se připojil k místnímu počítači). Pokud je vše správně nastaveno, prohlížeč by měl načíst stránku zobrazenou na obrázku 32-1:

Obrázek 32-1

Pokud desktopové prostředí není k dispozici, připojte se buď z jiného systému ve stejné místní síti jako server, nebo pomocí externí adresy IP přiřazené systému, pokud je hostován vzdáleně.

1.7 Konfigurace webového serveru Apache pro vaši doménu

Dalším krokem při nastavování vašeho webového serveru je konfigurace pro název vaší domény. Chcete-li nakonfigurovat webový server, začněte změnou adresáře na /etc/apache2, který naopak obsahuje řadu souborů a podadresářů. Hlavní konfigurační soubor se jmenuje apache2.conf a slouží jako centrální bod pro organizaci modulárních konfiguračních souborů umístěných v podadresářích. Například soubor apache2.conf obsahuje řádek pro import konfiguračních nastavení deklarovaných v souborech umístěných ve složce s povolenými weby:

# Zahrnout konfigurace virtuálního hostitele:IncludeOptional sites-enabled/*.conf

Podobně soubor apache2.conf importuje soubor ports.conf, který definuje porty, na kterých server Apache naslouchá síťovému provozu.

Chcete-li nakonfigurovat doménu webových stránek na Ubuntu, začněte změnou adresáře na /etc/apache2. V tomto adresáři najdete dva podadresáře, sites-available a sites-enabled. Změnit adresář na stránky-dostupné. V tomto adresáři najdete výchozí soubor, který lze použít jako šablonu pro vaše vlastní stránky.

Zkopírujte výchozí soubor do nového souboru s názvem, který odpovídá názvu vaší domény. Například:

# cp 000-default.conf myexample.conf

Upravte svůj soubor myexample.com pomocí svého oblíbeného editoru, kde bude vypadat následovně:

# Direktiva ServerName nastavuje schéma požadavku, název hostitele a port, který# server používá k identifikaci. Používá se při vytváření # adres URL přesměrování. V kontextu virtuálních hostitelů určuje ServerName#, jaký název hostitele se musí objevit v hlavičce Host: požadavku, aby# odpovídal tomuto virtuálnímu hostiteli. Pro výchozího virtuálního hostitele (tento soubor) tato # hodnota není rozhodující, protože se bez ohledu na to používá jako hostitel poslední instance.# Pro každého dalšího virtuálního hostitele ji však musíte nastavit explicitně.#ServerName www.example.comServerAdmin [email protected ]DocumentRoot /var/www/html# Dostupné úrovně protokolů: trace8, ..., trace1, ladění, info, upozornění, varování,# chyba, crit, alert, emerg.# Je také možné nakonfigurovat úroveň protokolu pro konkrétní# moduly , např.#LogLevel info ssl:warnErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined# Pro většinu konfiguračních souborů z conf-available/, které jsou# povoleny nebo zakázány na globální úrovni, je možné to# obsahuje řádek pouze pro jednoho konkrétního virtuálního hostitele. Například # následující řádek povoluje konfiguraci CGI pro tohoto hostitele pouze# poté, co byl globálně zakázán pomocí "a2disconf".#Include conf-available/serve-cgi-bin.conf

Směrnice ServerAdmin definuje administrativní e-mailovou adresu pro lidi, kteří chtějí kontaktovat správce webu pro váš web. Změňte toto na vhodnou e-mailovou adresu, na které vás lze kontaktovat:

Dále je třeba odkomentovat direktivu ServerName (jinými slovy odstranit předponu znaku „#“) a definovat ji, aby webový server věděl, na kterého virtuálního hostitele se tento konfigurační soubor vztahuje:

V další fázi musíme pomocí direktivy DocumentRoot definovat, kde budou umístěny soubory webových stránek. Tradicí je používat /var/www/název-domény:

DocumentRoot /var/www/myexample.com

Po dokončení změn nyní potřebujeme web povolit následovně:

# a2ensite myexample.conf

Tento příkaz vytvoří symbolický odkaz ze souboru myexample.conf v adresáři sites-available na složku sites-enabled.

S povoleným webem spusťte následující příkaz a deaktivujte výchozí testovací web:

# a2dissite 000-default.conf

Dále vytvořte adresář /var/www/myexample.com a umístěte do něj soubor index.html. Například:

Ukázková webová stránkaVítejte na webu MyExample.com

Po provedení těchto změn spusťte příkaz apache2ctl ke kontrole chyb v konfiguračních souborech:

# apache2ctl configtestSyntaxe OK

Pokud nejsou hlášeny žádné chyby, znovu načtěte webový server Apache, abyste se ujistili, že používá naše nová nastavení:

# systemctl znovu načíst apache2

Nakonec zkontrolujte, zda konfigurace serveru funguje. Otevřete okno prohlížeče a přejděte na web pomocí názvu domény namísto adresy IP. Webová stránka, která se načte, by měla být ta, která je definována v souboru index.html vytvořeném výše.

1.8 Základy zabezpečené webové stránky

Webový server a webová stránka dosud vytvořené v této kapitole používají protokol HTTP na portu 80 a jako takové jsou považovány za nezabezpečené. Problém je v tom, že provoz mezi webovým serverem a klientem (obvykle webovým prohlížečem uživatele) se přenáší v čistém textu. Jinými slovy, data jsou nešifrovaná a náchylná k zachycení. I když to není problém pro obecné procházení webu, je to vážná slabina při provádění úkolů, jako je přihlašování na webové stránky nebo přenos citlivých informací, jako jsou údaje o totožnosti nebo kreditní kartě.

V dnešní době se očekává, že webové stránky budou používat protokol HTTPS, který k navázání zabezpečené, šifrované komunikace mezi webovým serverem a klientem používá buď Secure Socket Layer (SSL) nebo Transport Layer Security (TLS). Toto zabezpečení je zajištěno použitím veřejného, ​​soukromého a relačního šifrování spolu s certifikáty.

Pro podporu HTTPS musí mít web certifikát vydaný důvěryhodnou autoritou známou jako certifikační autorita (CA). Když se prohlížeč připojí k zabezpečenému webu, webový server odešle zpět kopii certifikátu SSL webu, který také obsahuje kopii veřejného klíče webu. Prohlížeč poté ověří pravost certifikátu u důvěryhodných certifikačních autorit.

Pokud je certifikát shledán platným, prohlížeč použije veřejný klíč odeslaný serverem k zašifrování klíče relace a předá jej serveru. Server dešifruje klíč relace pomocí soukromého klíče a použije jej k odeslání zašifrovaného potvrzení do prohlížeče. Jakmile je tento proces dokončen, prohlížeč a server použijí klíč relace k šifrování všech následných datových přenosů, dokud relace neskončí.

1.9Konfigurace Apache pro HTTPS

Ve výchozím nastavení server Apache neobsahuje modul nezbytný pro implementaci zabezpečené webové stránky HTTPS. Prvním krokem je proto povolit modul Apache mod_ssl na serverovém systému následovně:

Po dokončení instalace restartujte httpd, aby se nový modul načetl na server Apache:

# systemctl restartujte apache2

Zkontrolujte, zda se modul načetl na server pomocí následujícího příkazu:

# apache2ctl -M | grep ssl_module ssl_module (sdílený)

Jakmile je modul ssl nainstalován, opakujte kroky z předchozí části této kapitoly a vytvořte konfigurační soubor pro web, tentokrát s použitím souboru sites-available/default-ssl.conf jako šablony pro konfiguraci webu. soubor.

Za předpokladu, že je modul nainstalován, je dalším krokem vygenerování certifikátu SSL pro webovou stránku.

1.10 Získání certifikátu SSL

Certifikát pro webovou stránku je nutné získat od certifikační autority. K dispozici je řada možností za různé ceny. Zdaleka nejlepší možností je však získat bezplatný certifikát od Let’s Encrypt na následující URL:

https://letsencrypt.org/

Proces získání certifikátu od Let’s Encrypt jednoduše zahrnuje instalaci a spuštění nástroje Certbot. Tento nástroj prohledá konfigurační soubory Apache na serveru a poskytuje možnost generovat certifikáty pro libovolné virtuální hostitele nakonfigurované v systému. Poté vygeneruje certifikát a přidá položky virtuálního hostitele do konfigurace Apache speciálně pro odpovídající webové stránky.

K instalaci nástroje certbot do systému Ubuntu použijte následující kroky:

# apt update# apt install software-properties-common# add-apt-repository universe# add-apt-repository ppa:certbot/certbot# apt install certbot python-certbot-apache

Jakmile je certbot nainstalován, spusťte jej následovně:

Po vyžádání e-mailové adresy a žádosti o přijetí podmínek služby Certbot zobrazí seznam domén nalezených ve složce dostupné stránky a nabídne možnost vybrat jednu nebo více z těchto stránek, pro které má být certifikát nainstalován. Certbot poté provede některé kontroly před získáním a instalací certifikátu do systému:

Pro jaká jména chcete aktivovat HTTPS?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: myexample.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vyberte příslušná čísla oddělená čárkami a/nebo mezerami, nebo ponechte vstup prázdný, chcete-li vybrat všechny zobrazené možnosti (zadejte „c“ pro zrušení): 1Získání nového certifikátu Provedení následujících výzev: http-01 výzva pro ebooktricity.com Povoleno Apache přepisovací modulČekání na ověření. .Vyčištění výzevVytvořen SSL vhost na /etc/apache2/sites-available/myexample-le-ssl.confNasazení certifikátu na VirtualHost /etc/apache2/sites-available/myexample-le-ssl.confPovolení dostupného webu: /etc/apache2 /sites-available/myexample-le-ssl.conf

Certbot také vytvoří nový soubor s názvem myexample-le-ssl.conf v adresáři /etc/apache2/sitesavailable obsahující zabezpečený záznam virtuálního hostitele pro každý název domény, pro který byl vygenerován certifikát, a umožní webu tak že odkaz na soubor je vytvořen v adresáři /etc/apache2/sites-enabled. Tyto položky budou podobné následujícím:

..ServerName myexample.comServerAdmin [email protected]DocumentRoot /var/www/myexample.com..ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined..SSLCertificateFile/etc/letsencrypt live/myexample.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/myexample.com/privkey.pemInclude /etc/letsencrypt/options-ssl-apache.conf

Nakonec se Certbot zeptá, zda by budoucí webové požadavky HTTP měly být serverem přesměrovány na HTTPS. Jinými slovy, pokud se uživatel pokusí o přístup na http://www.myexample.com, webový server ho přesměruje na https://www.myexample.com:

Zvolte prosím, zda chcete přesměrovat provoz HTTP na HTTPS a odebrat přístup HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Žádné přesměrování - Nedělejte žádné další změny v konfiguraci webového serveru.2: Přesměrování - Proveďte přesměrování všech požadavků na zabezpečený přístup HTTPS. Tuto možnost vyberte pro nové weby, nebo pokud jste si jisti, že váš web funguje na HTTPS. Tuto změnu můžete vrátit zpět úpravou konfigurace vašeho webového serveru.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vyberte příslušné číslo [1-2] a poté [zadejte] (zrušte stisknutím 'c'): 2

Pokud aktuálně testujete konfiguraci HTTPS a chcete verzi HTTP zachovat na později, vyberte možnost Bez přesměrování. Jinak se obecně doporučuje přesměrování na HTTPS.

Jakmile bude certifikát nainstalován, otestujte jej v prohlížeči na následující adrese URL (myexample.com nahraďte svým vlastním názvem domény):

https://www.ssllabs.com/ssltest/analyze.html?d=www.myexample.com

Pokud byla konfigurace certifikátu úspěšná, bude zpráva SSL Labs poskytovat vysoké hodnocení, jak ukazuje obrázek 32-2:

Obrázek 32-2

Jako závěrečný test otevřete okno prohlížeče a přejděte do své domény pomocí předpony https://. Stránka by se měla načíst jako předtím a prohlížeč by měl indikovat, že spojení mezi prohlížečem a serverem je zabezpečené (obvykle označeno ikonou visacího zámku v adresním řádku, na kterou lze kliknout pro další informace):

Obrázek 32-3

1.11Shrnutí

Systém Ubuntu lze použít k hostování webových stránek instalací webového serveru Apache. Na Ubuntu lze nasadit jak nezabezpečené (HTTP), tak zabezpečené (HTTPS) webové stránky. Zabezpečené webové stránky používají buď Secure Socket Layer (SSL) nebo Transport Layer Security (TLS) k navázání šifrované komunikace mezi webovým serverem a klientem pomocí veřejného, ​​soukromého a relačního šifrování spolu s certifikátem vydaným důvěryhodnou certifikační autoritou.


PREV: Jak smazat Discord Server - ochotni udělat

NEXT: Jak obejít a obejít zákaz v Discordu - Alphr

Populární články

Žhavé články

Navigační seznamy

Zpět na začátek