Virtuální hostitel umožňuje provozovat více webových stránek z jednoho fyzického serveru nebo virtuálního privátního serveru. Na Apache existují dva typy virtuálních hostitelů:
Virtuální hostování na základě IP – každá jednotlivá webová stránka na serveru Apache používá jinou, jedinečnou adresu IP. Virtuální hostitelé podle názvu – umožňují přidat více domén pomocí jedné adresy IP.Tento výukový program vám ukáže, jak nastavit Virtuální hostitelé Apache na systému Ubuntu 18.04.
Předpoklady
Virtuální hostitel Apache vám umožňuje maximalizovat vaše zdroje při nastavování webu. S tímto výkonným softwarem můžete používat jeden server a jedinou IP adresu k hostování několika různých domén.
Než budete moci nakonfigurovat virtuální hostitele Apache, musíte nainstalovat webový server Apache. Chcete-li to provést, spusťte příkaz:
sudo apt-get install apache2Pokud máte nějaké problémy s nastavením webového serveru, podívejte se na náš podrobný tutoriál o instalaci Apache na Ubuntu.
Virtuální hostování založené na jménu umožňuje klientovi nahlásit název hostitele serveru jako prvek HTTP hlavičky. Tato funkce znamená, že jeden počítač může hostit více webových stránek sdílejících stejnou IP adresu.
Krok 1: Vytvoření adresářové strukturyKaždý virtuální hostitel musí mít adresář pro ukládání dat virtuálního hostitele. Vytvořte adresáře a adresářovou strukturu na následujícím umístění /var/www. V našem příkladu jsme vytvořili adresáře phxnap1.com a phxnap2.com, jeden pro každý název domény.
1. Zadejte následující příkaz a nahraďte vzorovou doménu svými názvy domén:
sudo mkdir -p /var/www/phxnap1.com/public_htmlsudo mkdir -p /var/www/phxnap2.com/public_htmlV rámci adresářů jsme také vytvořili public_html. Tyto adresáře budou ukládat soubory webových stránek pro domény.
2. Dále vytvořte vzorovou stránku index.html pro každou doménu pomocí nano nebo vašeho oblíbeného textového editoru. Začněte s první doménou:
nano /var/www/phxnap1.com/public_html/index.html3. Přidejte následující ukázkový HTML:
Vítejte v phoenixNAP 1!Výborně! Zdá se, že na vaší první doméně vše funguje!
4. Uložte a ukončete soubor.
5. Dále vytvořte ukázkovou stránku pro druhou doménu:
nano /var/www/phxnap2.com/public_html/index.html6. Přidejte do souboru následující řádky:
Vítejte ve fénixNAP 2!Výborně! Zdá se, že na vaší druhé doméně vše funguje!
7. Uložte a ukončete druhý soubor HTML.
8. Chcete-li předejít jakýmkoli problémům s oprávněními, změňte vlastnictví kořenového adresáře vašeho dokumentu na www-data. Příkaz chown je užitečný v tomto případě:
sudo chown –R www-data:www-data /var/www/phxnap1.comsudo chown –R www-data:www-data /var/www/phxnap2.comNyní jste úspěšně změnili vlastnictví adresáře na Uživatel Apache.
Krok 2: Vytvoření konfiguračního souboru virtuálního hostiteleKonfigurační soubory virtuálního hostitele Apache jsou uloženy v adresáři /etc/apache2/sites-available.
1. Chcete-li vytvořit základní konfigurační soubor pro svou první doménu, zadejte informace o doméně do příkazu:
sudo nano /etc/apache2/sites-available/phxnap1.com.conf2. Přidáním následujícího konfiguračního bloku vytvoříte základní konfigurační soubor. Tento příklad používá první testovací doménu, phxnap1.com. Ujistěte se, že jste pro svůj web zadali správnou doménu:
ServerAdmin webmaster@phxnap1.comServerName phxnap1.comServerAlias www.phxnap1.comDocumentRoot /var/www/phxnap1.com/public_htmlErrorLog ${APACHE_LOG_DIR}/phxnap1.com-error.logCustomLog_com-phxnap.LOG combined_com-phxnap1.LOG combined představuje doménuServerAlias – představuje všechny ostatní domény, jako jsou subdoményDocumentRoot – adresář používaný Apache k poskytování doménových souborůErrorLog, CustomLog – určuje umístění souborů protokoluNeexistuje žádný zavedený formát. Pojmenování konfiguračních souborů podle názvu domény je však „nejlepší praxí“.
4. Jakmile upravíte konfigurační soubor pro první doménu, opakujte proces pro zbytek. V našem případě spustíme:
sudo nano /etc/apache2/sites-available/phxnap2.com.conf5. Poté přidejte konfigurační blok jako ve výše uvedeném příkladu, přičemž nezapomeňte změnit hodnoty pro phxnap2.com:
ServerAdmin webmaster@phxnap2.comServerName phxnap2.comServerAlias www.phxnap2.comDocumentRoot /var/www/phxnap2.com/public_htmlErrorLog ${APACHE_LOG_DIR}/phxnap2.com-error.logCustom_comStepxna/APACHE kombinované : Povolit konfigurační soubory virtuálního hostiteleChcete-li povolit soubor virtuálního hostitele, vytvořte symbolický odkaz ze souboru virtuálního hostitele na adresář s povolenými weby. Apache2 čte tento soubor při pohledu.
1. Pomocí pomocníka a2ensite povolte soubor virtuálního hostitele pomocí příkazu:
sudo a2ensite phxnap1.comVýstup se zobrazí jako:
2. Opakujte proces pro druhou doménu zadáním:
sudo a2ensite phxnap2.com3. Dále ověřte správnost syntaxe konfiguračního souboru pomocí příkazu:
sudo apachectl configtestZpráva v terminálu potvrdí správnost syntaxe: “Syntaxe OK”
4. Restartujte Apache2, aby se změny projevily:
sudo systemctl restartujte apache25. Jediné, co zbývá udělat, je přejít do webového prohlížeče a otevřít své webové stránky. Na základě souboru index.html, který jsme vytvořili dříve, by se pro každou doménu měla objevit příslušná zpráva.
phxnap1.comphxnap2.comKrok 4: Konfigurace brány firewall (volitelné)Upravte nastavení brány firewall pro zlepšení zabezpečení vytvořením pravidla pro povolení SSH na Ubuntu:
sudo ufw allow OpenSSHPřidejte pravidla pro povolení přístupu k Apache.
sudo ufw allow v “Apache Full”Dále povolte firewall.
sudo ufw enablePokud se zobrazí zpráva „Příkaz může narušit existující připojení SSH.“ Stiskněte y. Pokud brána firewall funguje správně, měli byste vidět „Firewall je aktivní a povolený při spuštění systému“.
Závěr
Podle tohoto návodu jste úspěšně vytvořili a nakonfigurovali virtuálního hostitele Apache na Ubuntu. Nyní můžete vytvořit více virtuálních hostitelů založených na názvech a také provozovat/hostovat velké množství domén z jednoho serveru pomocí jedné adresy IP.
PREV: Jak vyřešit