Weboldal keresés

Hozzon létre Apache név- és IP-alapú virtuális gazdagépeket Linuxban


A virtuális tárhely egy olyan koncepció, amelyben több webhely vagy domain található egyetlen szerveren, ami az erőforrások általános költségeinek és a vállalkozás vagy szervezet működési költségeinek csökkentése érdekében történik.

Az Apache webszerver leegyszerűsíti több webhely hosztolását azáltal, hogy lehetővé teszi a rendszergazdák számára, hogy minden webhelyhez egyszerűen konfigurálhassanak virtuális gazdagépeket. A virtuális tárhely lehet IP-alapú vagy névalapú.

Ebben az oktatóanyagban megvizsgáljuk, hogyan állíthatunk be virtuális tárhelyet RHEL-alapú disztribúciókban, például Fedora, CentOS Stream, Rocky Linux és Alma Linux IP-alapú és névalapú virtuális gazdagépeket egyaránt használ Linuxban.

A Megosztott webtárhely és a Viszonteladói webtárhely koncepciója elsősorban az Apache ezen funkcióján alapul.

Az Apache virtuális tárhely típusai Linuxban

Kétféle virtuális tárhely érhető el az Apache segítségével.

Név alapú virtuális tárhely

Az ilyen típusú tárhelyszolgáltatások során több domain vagy webhely is tárolható egyetlen szerveren egyetlen IP-cím használatával. Egyszerűen fogalmazva, minden domain egyetlen IP-címen fog osztozni. Ez a legkönnyebben konfigurálható virtuális tárhelytípus, mivel mindössze annyit kell tennie, hogy a tartományneveket az IP-címhez rendeli, majd minden egyes tartománynévhez konfigurálja az Apache virtuális gazdagépeket.

IP alapú virtuális tárhely

Az IP-alapú virtuális hosting az, ahol minden domainhez egyedi IP-cím tartozik. Ezek az IP-címek több hálózati kártya vagy egyetlen NIC kártya használatával is csatolhatók a szerverhez.

Tesztkörnyezet

  • OSFedora 34
  • AlkalmazásApache webszerver
  • IP-cím192.168.2.105
  • IP-cím192.168.2.106
  • Domainwww.mydomain1.com
  • Domainwww.mydomain2.com

IP-alapú és névalapú Apache virtuális gazdagépek beállítása

Mielőtt elkezdené, győződjön meg arról, hogy az Apache webszerver telepítve van a rendszerére a dnf paranccsal az ábrán látható módon.

sudo dnf install httpd -y

Névalapú virtuális tárhely beállítása

A névalapú virtuális tárhely beállításának első lépése a domain névfeloldásának beállítása az /etc/hosts fájlban. Ezért futtassa a következő parancsokat root felhasználóként a gazdagép IP-címére mutató tartománynév bejegyzések hozzáadásához.

echo '192.168.2.105 www.mydomain1.com' >> /etc/hosts
echo '192.168.2.105 www.mydomain2.com' >> /etc/hosts

A következő lépés egy könyvtár létrehozása, amely tartalmazza a webhely fájljait. Ezért két könyvtárat fogunk létrehozni a virtuális gazdagépek számára a Dokumentumgyökérben, amely az Apache konfiguráció /var/www/html mappája.

sudo mkdir /var/www/html/mydomain1.com/
sudo mkdir /var/www/html/mydomain2.com/

A következő lépés a virtuális gazdagép fájl módosítása, amely utasítja az Apache IP-t, hogy figyelje a bejövő Apache webszerver kéréseket az összes tartománynévre vonatkozóan. Ezért nyissa meg az Apache konfigurációs fájlt a kívánt szövegszerkesztővel.

sudo vim /etc/httpd/conf/httpd.conf

Adja hozzá a következő kódblokkokat a két virtuális gazdagéphez.

<VirtualHost 192.168.2.105:80>
   ServerName mydomain1.com
   ServerAlias www.mydomain1.com
   DocumentRoot /var/www/html/mydomain1.com/
ErrorLog logs/www.mydomain1.com-error_log
CustomLog logs/www.mydomain1.com-access_log common
</VirtualHost>


<VirtualHost 192.168.2.105:80>
    ServerName mydomain2.com
    ServerAlias www.mydomain2.com
    DocumentRoot /var/www/html/mydomain2.com
ErrorLog logs/www.mydomain2.com-error_log
CustomLog logs/www.mydomain2.com-access_log common
</VirtualHost>

Mentse el a változtatásokat és lépjen ki. Ezután ellenőrizze, hogy a szintaxis rendben van-e, és nincs-e hiba.

httpd -t

Ezután HTML-tesztoldalakat hozunk létre minden egyes domainhez, és hozzáadunk néhány tartalmat annak ellenőrzésére, hogy minden megfelelően működik-e a böngészőből.

A mydomain1.com számára

Hozzon létre egy index.html fájlt a mydomain1.com könyvtárban.

sudo vim /var/www/html/mydomain1.com/index.html 

Illessze be a következő sorokat.

<html>
  <head>
    <title>My sample site</title>
  </head>
  <body>
    <h1>Success! Welcome to mydomain1.com.</h1>
  </body>
</html>

Mentse el a változtatásokat, és lépjen ki a fájlból.

A mydomain2.com számára

Hozzon létre egy index.html fájlt a mydomain2.com könyvtárban.

sudo vim /var/www/html/mydomain2.com/index.html 

Illessze be a következő sorokat.

<html>
  <head>
    <title>My sample site</title>
  </head>
  <body>
    <h1>Success! Welcome to mydomain2.com.</h1>
  </body>
</html>

Mentse el a változtatásokat, és lépjen ki a fájlból.

Most indítsa el az Apache webszervert, és ellenőrizze, hogy fut-e.

sudo systemctl start httpd
sudo systemctl status httpd

Ha engedélyezve van a tűzfal, engedélyezze a HTTP és a HTTPS (ha szükséges) forgalmat.

sudo firewall-cmd --add-service=http --zone=public --permanent
sudo firewall-cmd --add-service=https --zone=public --permanent
sudo firewall-cmd --reload

Most tesztelje a domaineket egy böngészőből.

IP alapú virtuális tárhely Linux beállítása

Az IP-alapú virtuális tárhely, ahogy a neve is sugallja, több IP-címet foglal magában a Linux-kiszolgálóhoz. A legtöbb esetben két vagy több hálózati kártya van csatlakoztatva a rendszerhez, hogy több IP-címet biztosítson.

Az IP-alapú virtuális tárhely célja, hogy minden domainhez egyedi IP-címet rendeljen, amelyet más domain nem használ.

Ez ideális olyan helyzetekben, amikor webhelyei SSL-tanúsítvánnyal (mod_ssl) titkosítva vannak, vagy különböző portokon futnak. Beállításunkban két NIC adapterünk van.

A rendszer IP-konfigurációjának megtekintéséhez futtassa az ifconfig vagy az ip a parancsot.

ifconfig
OR
ip addr

Szerverünknek két IP-címe van, mindegyik egy hálózati kártyához van hozzárendelve. A 192.168.2.106 IP-cím az ens160-hoz, a 192.168.2.105 pedig az ens224-hez van hozzárendelve.

Még egyszer állítsuk be a httpd.conf fájlt.

sudo vim /etc/httpd/conf/httpd.conf

Hozzon létre virtuális gazdagépet mindkét tartományhoz az ábra szerint. Győződjön meg arról, hogy minden IP-cím hozzá van rendelve a megfelelő virtuális gazdagép konfigurációjához.

<VirtualHost 192.168.2.105:80>
   ServerName mydomain1.com
   ServerAlias www.mydomain1.com
   DocumentRoot /var/www/html/mydomain1.com/
ErrorLog logs/www.mydomain1.com-error_log
CustomLog logs/www.mydomain1.com-access_log common
</VirtualHost>


<VirtualHost 192.168.2.106:80>
    ServerName mydomain2.com
    ServerAlias www.mydomain2.com
    DocumentRoot /var/www/html/mydomain2.com
ErrorLog logs/www.mydomain2.com-error_log
CustomLog logs/www.mydomain2.com-access_log common
</VirtualHost>

Mentse el, és lépjen ki a konfigurációs fájlból. Ezután módosítsa az /etc/hosts fájlt az ábra szerint.

echo '192.168.2.105 www.mydomain1.com' >> /etc/hosts
echo '192.168.2.106 www.mydomain2.com'>> /etc/hosts

Erősítse meg a bejegyzéseket:

cat /etc/hosts

192.168.2.105 www.mydomain1.com
192.168.2.106 www.mydomain2.com

Ezután indítsa újra az Apache webszervert, hogy a változtatások életbe lépjenek.

sudo systemctl restart httpd

Végül tesztelje az IP-alapú virtuális tárhely beállítását az URL-címek elérésével az ábrán látható módon.

http://192.168.2.105
http://192.168.2.106

Ez a teszt megerősíti, hogy az IP-alapú virtuális tárhely a várt módon működik!

Következtetés

És ennyi az előadás. Reméljük, hogy gond nélkül konfigurálhatja mindkét típusú virtuális tárhelyet. Nagyra értékeljük az útmutatóval kapcsolatos visszajelzését.