Webový server Apache HTTP je výkonný, bezplatný a open source webový server, který byl a zůstává přední platformou webových serverů před ostatními, jako jsou Nginx a Microsoft IIS.
Podle Opensource.com má Apache podíl na trhu 45,9 % a pohání oblíbené weby jako PayPal, Apple, Craigslist, Adobe a BBC, abychom zmínili jen některé.
Co je virtuální hostitel?
Webový server Apache nám umožňuje vytvářet jednotlivé jednotky, které lze nezávisle konfigurovat a přizpůsobit tak, aby obsluhovaly více stránek na stejném serveru. Toto je známé jako virtuální hosting.
K tomu dochází, když je na jednom serveru hostováno více názvů domén, z nichž každá se zpracovává samostatně. Server je tak schopen sdílet své zdroje, jako je místo na disku a využití paměti.
Každá doména je nakonfigurována tak, aby směrovala provoz do jedinečného adresáře obsahujícího informace specifické pro daný název domény.
Široce používanou aplikací virtuálního hostingu je sdílený webhosting, kde je na jednom serveru hostováno více zákazníků. Jedná se o levnější alternativu než vyhrazený hosting, který je mnohem dražší.
V této příručce se ponoříme do nastavení a konfigurace virtuálních hostitelů Apache na Ubuntu 18.04 LTS.
Instalace webového serveru Apache
Před instalací Apache je dobré aktualizovat úložiště balíčků. Můžete to provést spuštěním následujících příkazů:
# sudo apt update
Poté nainstalujte webový server Apache.
# sudo apt install apache2
Tyto dva příkazy označují první z velmi důležitého procesu. Pro ilustrační účely použijeme ubuntu.biz
a debian.edu
jako naši virtuální hostitelé.
Podle tohoto průvodce vás také provede testováním obou domén a zjistíte, zda konfigurace fungují.
Vytváření adresářových struktur pro virtuální hostitele
Potřebujeme adresář, který bude obsahovat data, ke kterým mají uživatelé přístup. Apache má obvykle kořenový adresář dokumentů, který slouží uživatelům, kteří z něj hledají informace. Obsah v kořenovém adresáři je přiřazen jednotlivým uživatelům pod /var/www
adresář.
V každém z těchto adresářů potřebujeme složku public folder (public_html) pro uložení všech nahraných souborů.
Spuštěním následujících příkazů vytvořte dva adresáře:
# sudo mkdir -p /var/www/ubuntu.biz/public_html
# sudo mkdir -p /var/www/debian.edu/public_html
Udělování oprávnění
Nyní, když máme vytvořené adresářové struktury, musíme přiřadit vlastnictví běžným uživatelům, aby mohli upravovat soubory obsažené v adresářích. Abychom toho dosáhli, musíme spustit příkazy podle obrázku.
# sudo chown -R $USER:$USER /var/www/ubuntu.biz/public_html
# sudo chown -R $USER:$USER /var/www/debian.edu/public_html
$USER
proměnná převezme hodnotu aktuálně přihlášeného uživatele po stisknutí klávesy „Enter“. To umožňuje běžnému uživateli vlastnit podadresáře obsažené v public_html
který bude hostit náš obsah.
Aby byly webové stránky virtuálních hostitelů správně obsluhovány, musíme obecnému adresáři www přidělit oprávnění ke čtení, který bude rekurzivně přidělovat oprávnění ke čtení souborům a složkám v něm. Chcete-li toho dosáhnout, spusťte
# sudo chmod -R 755 /var/www
V tomto okamžiku by náš webový server měl mít potřebná oprávnění k poskytování obsahu a uživatelé by také měli mít možnost vytvářet svůj vlastní obsah v příslušných adresářích.
Vytvořte nové soubory virtuálního hostitele
Potřebujeme zkopírovat soubor do první domény:
# sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ubuntu.biz.conf
Otevřeme nový soubor pomocí nano, jak je znázorněno:
# sudo nano /etc/apache2/sites-available/ubuntu.biz.conf
Můžete to buď nechat tak, jak je, nebo to udělat lépe prezentovatelné pro první časovač v instalaci VPS (všimněte si, že původní soubor má #, což označuje komentáře vysvětlující, co každý řádek znamená).
Z výše uvedeného souboru virtuální hostitel zpracuje jakýkoli požadavek podaný na portu 80 s výchozím protokolem, který se zde používá, je HTTP.
K atributu ServerAdmin potřebujeme přiřadit pracovní e-mail. V tomto případě použijeme [email protected]
Poté přidáme dva řádky:
- Název serveru , která odpovídá základní doméně pro konkrétního virtuálního hostitele.
- Alias serveru který definuje jakýkoli jiný název, který by se měl co nejvíce shodovat se základním názvem domény. V tomto případě použijeme www.
Pro DocumentRoot
atribut, změňte cestu tak, aby odrážela cestu k souboru virtuálního hostitele.
Všechny tři změny lze shrnout úpravou souboru virtuálního hostitele tak, aby vypadal takto:
Uložte změny a ukončete.
Zkopírujeme prvního virtuálního hostitele a přizpůsobíme jej pro debian.edu
(druhá doména)
Zkopírujeme jej:
# sudo cp /etc/apache2/sites-available/ubuntu.biz.conf /etc/apache2/sites-available/debian.edu.conf
Otevřete a upravte soubor podle obrázku:
# sudo nano /etc/apache2/sites-available/debian.edu.conf
Otevřete konfigurační soubor a v případě potřeby proveďte příslušné změny
Uložte a ukončete konfigurační soubor.
Povolení nově vytvořených souborů hostitelů
Apache má některé vestavěné nástroje, které nám umožňují „aktivovat“ soubory. Můžete použít a2ensite
nástroj, jak toho dosáhnout, jak je znázorněno:
# sudo a2ensite ubuntu.biz.conf
# sudo a2ensite debian.edu.conf
Poté restartujte webový server Apache, aby se změny projevily.
# sudo systemctl restart apache2
Chcete-li otestovat funkčnost vašeho VPS, musíte upravit soubor hosts na místním počítači. To pomáhá přesměrovat požadavky na domény na vaše servery VPS. Funguje to stejným způsobem, jakým fungují systémy DNS při registraci nových domén.
Následující kroky by měly být provedeny na místní pracovní stanici a ne na serveru VPS. Aby to fungovalo, musíte se přihlásit jako root. Upravte /etc/hosts
soubor podle obrázku.
# sudo vim /etc/hosts
Do tohoto souboru musíte přidat veřejnou adresu (IP) vašeho serveru VPS a poté název domény používaný pro přístup k VPS. V mém případě je moje VPS adresa 192.168.43.195; následně upravím soubor svých hostitelů, jak je uvedeno:
Uložte a ukončete textový editor.
Výše uvedené změny znamenají, že jakýkoli požadavek návštěvníka na ubuntu.biz
a debian.edu
bude směrován přes 192.168.43.195. Takto jsou přesměrovány domény na virtuálních hostitelích.
Testování virtuálních serverů
Nyní, když jsme skončili s konfigurací našich virtuálních hostitelů, je čas ověřit, zda vše proběhlo v pořádku. Pro začátek můžete zkontrolovat dostupnost dvou virtuálních hostitelů na terminálu pomocí příkazu ping
Báječné! Můžeme se dostat k virtuálnímu hostiteli. Nyní můžete pokračovat a otevřít svůj prohlížeč a navštívit adresu URL.
https://ubuntu.biz
Skvělý! Náš první virtuální hostitel funguje. Zkusme pingnout našeho druhého virtuálního hostitele
Podobně otevřete prohlížeč a navštivte adresu URL virtuálního hostitele
https://debian.edu
Závěr
Webový server Apache HTTP lze snadno nakonfigurovat tak, aby obsluhoval více webových stránek z jednoho serveru. V tomto tutoriálu jsme se naučili, jak nastavit více konfiguračních souborů virtuálních hostitelů na webovém serveru Apache.