Mi az a VirtualHost és mire való? Ebben a cikkben megnézzük, hogy mire jók és hogyan kell beállítani őket.

Hirdetés

Tegyük fel, hogy van egy VPS-ünk vagy szerverünk amin, az Apache kiszolgál egy weboldalt, mint például nálunk a bytech-hu-t. De én szeretném, ha a nemtudom.hu weboldalt is ez a szerver szolgálná ki, de nem szeretnék ezért új szervert vagy vps-t. Ilyenkor jönnek a képbe a VirtualHost-ok amikkel meg tudjuk mondani a webszervernek, hogy melyik domaint melyik mappára irányítsa, így megosztva a szervert.

Alapértelmezetten a webszerver itt keresi a weboldalakat: /var/www/html először is ide kell létrehozni egy mappát, amiben a weboldalt tárolni fogjuk.

mkdir /var/www/html/bytech.hu
az mkdir paranccsal tudunk mappákat létrehozni

Minden Virtualhost-nak van egy konfigurációs fájlja, amiben definiálva vannak a szükséges adatok, ezeket a fájlokat ide kell elhelyezni:

mcedit /etc/apache2/sites-available/bytech.hu.conf
az mcedit egy konzolos szövegszerkesztő, ami létrehozza a fájlt és rögtön szerkeszteni is tudjuk, az mcedit a Midnight Commander része, így használatához szükséges a telepítése

Rengeteg beállítás létezik, mi most csak a működéshez szükségeseket nézzük meg:

<VirtualHost *:80>
    ServerAdmin fodorbalazs@bytech
    ServerName bytech.hu
    ServerAlias www.bytech.hu
    DocumentRoot /var/www/html/bytech.hu
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Így épül fel egy alap VirtualHost konfig fájl. Látszik, hogy a beállításokat <VirtualHost> </Virtualhost> tagek közé kell tenni illetve a nyitó tagben meg kell adni, hogy a webszerver melyik porton figyelje a forgalmat, ami jelenleg a 80.

  • ServerAdmin: adminisztrátori email cím
  • ServerName: ide adjuk meg weboldalunk domain-jét tisztán
  • ServerAlias: minden más domain amit szeretnénk az adott mappára irányítani
  • DocumentRoot: itt kell megadnunk weboldalunk teljes útvonalát
  • ErrorLog: ide fogja az apache írni az esetleges hibákat, kezelhetjük egyben, vagy ezt is különbonthatjuk weboldalanként
  • CustomLog: ide minden forgalom ami áthalad a webszerver ezen domain-jén rögzítve lesz, szintén lehet egyedi

Ezután engedélyeztetnünk kell az Apache-csal az új VirtualHost-okat.

Engedélyezés:
sudo a2ensite bytech.hu.conf

Kikapcsolás:
sudo a2dissite  bytech.hu.conf

Ha frissen telepítettük a webszervert, akkor érdemes az alap konfigurációt kikapcsolni:

sudo a2dissite 000-default.conf

Ezután teszteljük le a konfigurációkat:

sudo apache2ctl configtest
Ha nincs probléma akkor ezt fogja kiírni: 
Syntax OK

Indítsuk újra a webszervert és készen is vagyunk!

sudo systemctl restart apache2

Apache webszerver folyamat kezelése

 

Válaszolj

Az e-mail címed nem publikáljuk.