GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nakonfigurovat virtuální hostitele Apache v Ubuntu 18.04 LTS

Co jsou virtuální hostitelé Apache?

Virtuální hostitel termín odkazuje na způsob provozování více než jedné webové stránky, jako je host1.domain.com, host2.domain.com, nebo www.domain1.com, www.domain2.com atd., na jednom systému. V Apache existují dva typy virtuálního hostingu, a to založený na IP virtuální hosting a na základě jména virtuální hosting. S virtuálním hostingem založeným na IP můžete hostovat více webových stránek nebo domén na stejném systému, ale každý web/doména má jinou IP adresu. S virtuálním hostingem založeným na názvu můžete hostovat více webových stránek/domén na stejné IP adrese. Virtuální hosting může být užitečný, pokud chcete hostovat více webových stránek a domén z jednoho fyzického serveru nebo VPS. Doufám, že máte základní představu o virtuálních hostitelích Apache. Dnes se podíváme, jak nakonfigurovat virtuální hostitele Apache v Ubuntu 18.04 LTS.

StáhnoutZdarma e-kniha:„Kuchařka pro server Apache HTTP Server“

Konfigurace virtuálních hostitelů Apache v Ubuntu 18.04 LTS

IP adresa mé testovací krabice je 192.168.225.22 a název hostitele je ubuntuserver .

Nejprve uvidíme, jak nakonfigurovat virtuální hostitele založené na názvech na webovém serveru Apache.

Konfigurace virtuálních hostitelů podle názvu

1. Nainstalujte webový server Apache 

Ujistěte se, že máte nainstalovaný webový server Apache. Chcete-li jej nainstalovat na Ubuntu, spusťte:

$ sudo apt-get install apache2

Jakmile je apache nainstalován, otestujte, zda funguje nebo ne, procházením testovací stránky Apache v prohlížeči.

Otevřete webový prohlížeč a nasměrujte jej na http://IP_Address nebo http://localhost . Měli byste vidět stránku jako níže.

Dobrý! Webový server Apache je funkční!!

2. Vytvořte webový adresář pro každého hostitele

Chystám se vytvořit dva virtuální hostitele, konkrétně ostechnix1.lan a ostechnix2.lan .

Vytvořme adresář pro prvního virtuálního hostitele ostechnix1.lan. Tento adresář je vyžadován pro ukládání dat našich virtuálních hostitelů.

Chcete-li tak učinit, zadejte:

$ sudo mkdir -p /var/www/html/ostechnix1.lan/public_html

Podobně vytvořte adresář pro druhého virtuálního hostitele ostechnix2.lan, jak je znázorněno níže.

$ sudo mkdir -p /var/www/html/ostechnix2.lan/public_html

Výše uvedené dva adresáře jsou ve vlastnictví uživatele root. Musíme změnit vlastnictví na běžného uživatele.

Chcete-li to provést, spusťte:

$ sudo chown -R $USER:$USER /var/www/html/ostechnix1.lan/public_html
$ sudo chown -R $USER:$USER /var/www/html/ostechnix2.lan/public_html

Zde, $USER odkazuje na aktuálně přihlášeného uživatele.

Dále nastavte oprávnění ke čtení kořenovému adresáři Apache, tj. /var/www/html/ pomocí příkazu:

$ sudo chmod -R 755 /var/www/html/

Děláme to proto, že jsme již pro každého virtuálního hostitele vytvořili samostatný adresář pro ukládání jeho dat. Takže jsme vytvořili kořenový adresář Apache jako pouze pro čtení pro všechny uživatele kromě uživatele root.

Vytvořili jsme požadované adresáře pro ukládání dat každého virtuálního hostitele, nastavili jsme správná oprávnění. Nyní je čas vytvořit několik vzorových stránek, které budou obsluhovány z každého virtuálního hostitele.

3. Vytvořte ukázkové webové stránky pro každého hostitele

Vytvořme vzorovou stránku pro web otechnix1.lan. Chcete-li to provést, spusťte:

$ sudo vi /var/www/html/ostechnix1.lan/public_html/index.html

Přidejte do něj následující řádky:

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix1.lan website</h1>
 </body>
</html>

Uložte a zavřete soubor.

Podobně vytvořte vzorovou stránku pro web ostechnix2.lan:

$ sudo vi /var/www/html/ostechnix2.lan/public_html/index.html

Přidejte do něj následující řádky:

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix2.lan website</h1>
 </body>
</html>

Uložte a zavřete soubor.

4. Vytvořte konfigurační soubor pro každého hostitele

Dále musíme vytvořit konfigurační soubory pro každého virtuálního hostitele. Nejprve to udělejme pro web otechnix1.lan.

Zkopírujte výchozí soubor virtuálního hostitele s názvem 000-default.conf obsah do nových souborů virtuálního hostitele, jak je uvedeno níže.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix1.lan.conf
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix2.lan.conf

Mějte prosím na paměti, že všechny konfigurační soubory musíte uložit s .conf rozšíření na konci, jinak to nebude fungovat.

Nyní upravte konfigurační soubory tak, aby odpovídaly našim virtuálním hostitelům.

Upravte ostechnix.lan1.conf soubor:

$ sudo vi /etc/apache2/sites-available/ostechnix1.lan.conf

Upravte/upravte shodu hodnot ServerAdmin, ServerName, ServerAlias ​​a DocumentRoot s virtuálním hostitelem.

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

   ServerAdmin [email protected]
   ServerName ostechnix1.lan
   ServerAlias www.ostechnix1.lan
   DocumentRoot /var/www/html/ostechnix1.lan/public_html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Uložte a zavřete soubor.

Dále upravte ostechnix2.lan.conf soubor:

$ sudo vi /etc/apache2/sites-available/ostechnix2.lan.conf

Proveďte potřebné změny.

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

    ServerAdmin [email protected]
    ServerName ostechnix2.lan
    ServerAlias www.ostechnix2.lan
    DocumentRoot /var/www/html/ostechnix2.lan/public_html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Uložte/zavřete soubor.

5. Povolit konfigurační soubory virtuálního hostitele

Po provedení nezbytných změn deaktivujte výchozí konfigurační soubor virtuálního hostitele, tj. 000.default.conf a povolte všechny nově vytvořené konfigurační soubory virtuálního hostitele, jak je uvedeno níže.

$ sudo a2dissite 000-default.conf
$ sudo a2ensite ostechnix1.lan.conf
$ sudo a2ensite ostechnix2.lan.conf

Restartujte webový server apache, aby se změny projevily.

$ sudo systemctl restart apache2

A je to. Úspěšně jsme nakonfigurovali virtuální hostitele v Apache. Pojďme do toho a zkontrolujeme, zda fungují nebo ne.

6. Otestujte virtuální hostitele

Otevřete soubor /etc/hosts v libovolném editoru:

$ sudo vi /etc/hosts

Přidejte všechny své virtuální webové stránky/domény jednu po druhé, jak je uvedeno níže.

[...]
192.168.225.22   ostechnix1.lan
192.168.225.22   ostechnix2.lan
[...]

Upozorňujeme, že pokud chcete přistupovat k virtuálním hostitelům z libovolného vzdáleného systému, musíte výše uvedené řádky přidat do souboru /etc/hosts každého vzdáleného systému.

Uložte a zavřete soubor.

Otevřete webový prohlížeč a nasměrujte jej na http://ostechnix1.lan nebo http://ostechnix2.lan .

testovací stránka otechnix1.lan:

testovací stránka otechnix2.lan:

Gratulujeme! Nyní můžete mít přístup ke všem svým webům. Od této chvíle můžete nahrávat data a poskytovat je z různých webových stránek.

Jak jste si všimli, použili jsme stejnou IP adresu (tj. 192.168.225.22) pro hostování dvou různých webových stránek (http://ostechnix1.lan a http://ostechnix2.lan). Tomu říkáme jmenný virtuální hosting. Snad to pomůže. V další příručce vám ukážu, jak nakonfigurovat virtuální hosting založený na IP. Do té doby zůstaňte naladěni!


Ubuntu
  1. Jak nainstalovat Apache Cordova na Ubuntu 18.04 LTS

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

  3. Jak nakonfigurovat virtuálního hostitele Apache na ubuntu

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

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

  3. Jak nakonfigurovat statickou IP adresu v Ubuntu 22.04 LTS

  1. Jak vytvořit virtuální hostitele Apache na CentOS 7

  2. Jak nainstalovat Apache Maven na Ubuntu 16.04 LTS

  3. Jak nainstalovat Apache Maven na Ubuntu 18.04 LTS