Virtuální hosting se používá k hostování více webových stránek na jednom webovém serveru. Webový server může být cokoli z webového serveru Apache HTTP , Microsoft IIS , Lighttpd , openLiteSpeed , atd. Tato příručka vám ukáže, jak nastavit virtuální hostitele Apache na Debian 9 / Ubuntu 16.04 / LinuxMint 18 .
Typy virtuálního hostování
Na webovém serveru Apache existují dva typy virtuálního hostování,
1. Virtuální hosting podle názvu
2. Virtuální hosting založený na IP
S virtuálním hostingem založeným na názvu můžeme konfigurovat více webů na jedné IP adrese, zatímco na základě IP; můžeme nakonfigurovat pouze jednu webovou stránku na jedné IP adrese.
Předpoklady
Pro ukázku budeme hostit dvě webové stránky s názvem „www.itzgeek1.local a „www.itzgeek2.local ” na jediném webovém serveru.
Název hostitele serveru:server.itzgeek.local
IP adresa:192.168.12.3
Instalovat webový server Apache
Před instalací Apache aktualizujte index úložiště.
sudo apt-get update
Nainstalujte webový server Apache pomocí následujícího příkazu.
sudo apt-get install apache2
Jakmile je nainstalována, systém automaticky spustí službu Apache.
Chcete-li instalaci otestovat, otevřete webový prohlížeč a přejděte na adresu URL.
http://localhostNEBO
http://your.ip.add.ress
Výchozí stránku byste získali podobně jako níže. Níže uvedený obrázek ukazuje výchozí stránku Apache2 v Debianu 9.

Nastavení virtuálních hostitelů Apache
Vytváření veřejných adresářů
Nyní vytvoříme adresář pro naše webové dokumenty, tj. soubory .html. Pomocí následujícího příkazu vytvořte adresář pro každý web, „www.itzgeek1.local “ a „www.itzgeek2.local “.
sudo mkdir -p /var/www/html/www.itzgeek1.local sudo mkdir -p /var/www/html/www.itzgeek2.local
Vytvořit ukázkovou stránku pro virtuální hostitele
Nyní do obou adresářů vložíme soubor index.html, abychom zkontrolovali, zda virtuální hosting založený na názvu funguje nebo ne.
Vytvořte index.html pro „www.itzgeek1.local ” virtuální hostitel.
sudo nano /var/www/html/www.itzgeek1.local/index.html
Vložte níže uvedený obsah do souboru.
<html> <head> <title>www.itzgeek1.local</title> </head> <body> <h1>Welcome To www.itzgeek1.local website</h1> </body> </html>
Vytvořte index.html pro „www.itzgeek2.local ” virtuální hostitel.
sudo nano /var/www/html/www.itzgeek2.local/index.html
Vložte níže uvedený obsah do souboru.
<html> <head> <title>www.itzgeek2.local</title> </head> <body> <h1>Welcome To wwww.itzgeek2.local website</h1> </body> </html>
Nastavení vlastnictví adresáře a oprávnění
Ve výchozím nastavení služba apache běží jako uživatel www-data. Nyní jsou oba virtuální adresáře, které jsme vytvořili dříve, vlastněny rootem a my musíme změnit vlastnictví na www-data takže server apache do něj může zapisovat a číst data.
sudo chown -R www-data:www-data /var/www/html
Virtuální adresáře můžete také nastavit tak, aby byly čitelné.
sudo chmod 755 /var/www/html/
Nyní jsme všichni připraveni vytvořit konfigurační soubor pro virtuální hostitele.
Vytvořte soubory virtuálního hostitele
Nyní vytvořte soubor virtuálního hostitele „www.itzgeek1.local.conf pro virtuálního hostitele „www.itzgeek1.local. Konfigurační soubor virtuálního hostitele by měl končit příponou .conf.
sudo nano /etc/apache2/sites-available/www.itzgeek1.local.conf
Přidejte do souboru následující obsah.
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.itzgeek1.local DocumentRoot /var/www/html/www.itzgeek1.local ErrorLog ${APACHE_LOG_DIR}/www.itzgeek1.local_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek1.local_ccess.log combined </VirtualHost>
Stejným způsobem vytvořte druhý soubor virtuálního hostitele.
sudo nano /etc/apache2/sites-available/www.itzgeek2.local.conf
Do souboru vložte následující obsah.
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.itzgeek2.local DocumentRoot /var/www/html/www.itzgeek2.local ErrorLog ${APACHE_LOG_DIR}/www.itzgeek2.local_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek2.local_ccess.log combined </VirtualHost>
Po vytvoření souborů virtuálního hostitele povolte nové virtuální hostitele, které jsme právě vytvořili, vytvořením symbolického odkazu na povolené weby adresář.
sudo ln -s /etc/apache2/sites-available/www.itzgeek1.local.conf /etc/apache2/sites-enabled/ sudo ln -s /etc/apache2/sites-available/www.itzgeek2.local.conf /etc/apache2/sites-enabled/
Restartujte službu apache.
sudo service apache2 restart
Ověření virtuálních hostitelů
Pokud ve svém prostředí nemáte server DNS, upravte „/etc/hosts “.
sudo nano /etc/hosts
Přidejte níže uvedené položky.
192.168.12.3 www.itzgeek1.local 192.168.12.3 www.itzgeek2.local
Pokud používáte počítače se systémem Windows, upravte „hostitelé “ v souboru „C:\Windows\System32\drivers\etc ” adresář.
Otevřete prohlížeč a přejděte na adresu URL http://www.itzgeek1.local nebo http://www.itzgeek2.local . Měli byste vidět ukázkové stránky, které jsme vytvořili dříve.
www.itzgeek1.local ukázková stránka:

www.itzgeek2.local ukázková stránka:

To je vše.