GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit virtuální hostitele Apache na Ubuntu 18.04

Co je virtuální hostitel Apache?

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 bázi IP – každý jednotlivý web na serveru Apache používá jinou, jedinečnou IP adresu.
  • Virtuální hostitelé podle jména – umožňuje přidat více domén pomocí jedné IP adresy.

Tento tutoriál vám ukáže, jak nastavit virtuální hostitele Apache v systému Ubuntu 18.04.

Předpoklady

  • Okno příkazového řádku/terminálu
  • Uživatel s rootem nebo sudo privilegia
  • Doména směřující na IP veřejného serveru
  • Webový server Apache na Ubuntu nainstalovaný, nakonfigurovaný a aktivní
  • Firewall povolen

Nastavení více domén na jedné IP adrese

Apache Virtual Host 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 apache2

Pokud máte nějaké problémy s nastavením webového serveru, podívejte se na náš podrobný návod k instalaci Apache na Ubuntu.

Jak nastavit virtuálního hostitele založeného na názvu

Na základě jména virtuální hosting umožňuje klientovi nahlásit serveru název hostitele 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řte adresářovou strukturu

Kaž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 phxnap1.com a phxnap2.com adresáře, 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_html
sudo mkdir -p /var/www/phxnap2.com/public_html

V rámci adresářů jsme vytvořili i public_html . Tyto adresáře budou ukládat soubory webových stránek pro domény.

2. Dále vytvořte ukázku index.html stránku pro každou doménu pomocí nano nebo váš oblíbený textový editor. Začněte s první doménou:

nano /var/www/phxnap1.com/public_html/index.html

3. Přidejte následující ukázkový kód HTML:

<html>
<head>
<title>Welcome to phoenixNAP 1!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your first domain!</h1>
</body>
</html>

4. Uložte a ukončete soubor.

5. Dále vytvořte vzorovou stránku pro druhou doménu:

nano /var/www/phxnap2.com/public_html/index.html

6. Přidejte do souboru následující řádky:

<html>
<head>
<title>Welcome to phoenixNAP 2!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your second domain!</h1>
</body>
</html>

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 . V tomto případě je užitečný příkaz chown:

sudo chown –R www-data:www-data /var/www/phxnap1.com
sudo chown –R www-data:www-data /var/www/phxnap2.com

Nyní jste úspěšně změnili vlastnictví adresáře na uživatele Apache .

Krok 2:Vytvořte konfigurační soubor virtuálního hostitele

Konfigurační soubory virtuálního hostitele Apache jsou uloženy v /etc/apache2/sites-available adresář.

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

2. 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:

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap1.com
ServerAlias www.phxnap1.com
DocumentRoot /var/www/phxnap1.com/public_html

ErrorLog ${APACHE_LOG_DIR}/phxnap1.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap1.com-access.log combined

</VirtualHost>
  • Název serveru – představuje doménu
  • Alias ​​serveru – představuje všechny ostatní domény, jako jsou subdomény
  • DocumentRoot – adresář používaný Apache k poskytování doménových souborů
  • ErrorLog, CustomLog – určuje umístění souborů protokolu

Neexistuje žádný zavedený formát. Nicméně pojmenování konfiguračních souborů na základě názvu domény je „nejlepší praxe“.

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

5. 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 :

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap2.com
ServerAlias www.phxnap2.com
DocumentRoot /var/www/phxnap2.com/public_html

ErrorLog ${APACHE_LOG_DIR}/phxnap2.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap2.com-access.log combined

</VirtualHost>

Krok 3:Povolte konfigurační soubory virtuálního hostitele

Chcete-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, když zírá.

1. Použijte pomocníka a2ensite pro povolení souboru virtuálního hostitele příkazem:

sudo a2ensite phxnap1.com

Výstup se zobrazí jako:


2. Opakujte proces pro druhou doménu zadáním:

sudo a2ensite phxnap2.com

3. Dále ověřte správnost syntaxe konfiguračního souboru pomocí příkazu:

sudo apachectl configtest

Zpráva v terminálu potvrdí správnost syntaxe:„Syntaxe OK“

4. Restartujte Apache2, aby se změny projevily:

sudo systemctl restart apache2

5. 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ě index.html soubor, který jsme vytvořili dříve, měla by se pro každou doménu objevit příslušná zpráva.

phxnap1.com
phxnap2.com

Krok 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 OpenSSH

Přidejte pravidla pro povolení přístupu k Apache.

sudo ufw allow in “Apache Full”

Dále povolte bránu firewall.

sudo ufw enable

Pokud 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.“


Ubuntu
  1. Jak nastavit virtuální hostitele Apache na CentOS

  2. Konfigurace virtuálních hostitelů Apache na Ubuntu 18.04 – proces krok za krokem?

  3. Jak nastavit Apache s HTTP/2 na Ubuntu 16.04

  1. Ubuntu – Jak nastavit statickou IP v Ubuntu?

  2. Jak nastavit ověřování hesla Apache na Ubuntu 18.08?

  3. Nastavte virtuální hostitele Apache v operačním systému Ubuntu

  1. Jak nastavit virtuální hostitele Apache na Ubuntu 20.04

  2. Jak nastavit virtuální hostitele Apache na CentOS 7

  3. Jak nastavit virtuální hostitele Apache na CentOS 8