Jelenleg az Apache a legszélesebb körben használt webszerver a világon. Ez egy nyílt forráskódú szoftver, amelyet a The Apache Software Foundation fejleszt és tart karban. 2020 szeptemberi adatok szerint a becslések szerint a világ összes webhelyforgalmának 36%-át szolgálja ki. A fejlesztők szeretik a sebessége, biztonsága, megbízhatósága és robusztussága miatt. Könnyű testreszabhatósága lehetővé teszi, hogy bővítmények és modulok telepítésével számos környezet igényeinek megfeleljen.
Az Apache egy olyan egyeztető rendszerrel érkezik, amellyel több domaint vagy webhelyet is kiszolgálhat egyetlen, egyetlen IP-címen elérhető Apache-szervertelepítés használatával. A domainek vagy webhelyek az Apache egyik konfigurációs fájljában vannak beállítva, virtuális gazdagépként (virtual host) meghatározva.
Minden domainhez tartozik egy virtuális gazdagép-definíció egy adott könyvtárral, amelyre mutat. Amikor egy felhasználó meglátogat egy domaint, a szerver megvizsgál minden egyező virtuális gazdagépet, és a megadott gépnév (hostname) alapján kiválasztja, hogy melyiket használja a látogató kérésének kiszolgálására. Ha nem található egyező gépnév, a szerver a konfigurációs fájlban elsőként meghatározott virtuális gazdagépet használja tartalékként (fallback). A látogató anélkül fogja elérni a kért weboldalt, hogy tudná, ugyanaz a szerver más webhelyeket is kiszolgál. A szerver erőforrásaitól és a kezelhető forgalom mennyiségétől függően tetszőleges számú domaint hosztolhat.
Ebben az útmutatóban végigvezetjük a virtuális gazdagépek beállításán az Ubuntu 20.04 szerveren.
Mindenekelőtt
Az útmutató követéséhez telepítve kell lennie az Ubuntu 20.04 rendszernek. Emellett létre kell hoznia egy nem-root felhasználót, és be kell jelentkeznie azzal.
Az útmutató lépéseihez az Apache telepítése is szükséges. Ha még nem tette meg, az alábbi parancsokkal telepítheti. Követheti a LAMP Stack beállítása – Linux Apache MySQL PHP útmutatót a részletesebb beállítási útmutatóért.
|
1 2 |
sudo apt update sudo apt install apache2 |
Rendelkeznie kell egy tetszőleges domainregisztrátornál regisztrált ingyenes vagy fizetős domain névvel. Győződjön meg arról, hogy a domainek a DNS-rekordok konfigurálásával a szerverére mutatnak. Ennek ellenére továbbra is használhatja a mi konfigurációinkat az útmutató lépéseinek követéséhez. Ebben az útmutatóban az example.dev és a mydomain.com domaineket fogjuk használni. Nyugodtan helyettesítse őket a sajátjaival. Ha a tesztdomainek használata mellett dönt, akkor az Apache hosts fájljait szerkeszteni kell a domainek kezeléséhez. Erre az útmutató későbbi részében térünk ki.
1. lépés – A webhely könyvtárainak beállítása
Ezek azok a könyvtárak, amelyek a webhely azon adatait tartalmazzák, amelyeket a látogatók elérnek majd. Az internetről elérhető Apache dokumentumgyökér (document root) általában a /var/www könyvtárban található. Itt fogjuk létrehozni a könyvtárakat az egyes hosztolni kívánt domainek számára. Mindegyik könyvtárban létrehozunk egy public_html könyvtárat a tényleges webhelyfájlok tárolására. A virtuális gazdagép a public_html könyvtárra mutat. Ez rugalmasságot biztosít, mivel a kulcsfontosságú webhelyfájlokat a public_html könyvtáron kívül tarthatja, és csak a nyilvános fájlokat helyezheti el benne.
Ezután adja meg az alábbi parancsokat a könyvtárak létrehozásához. A későbbi beállítások során mindig emlékezzen arra, hogy a tesztdomaineket a saját valós domainjeire cserélje:
|
1 2 |
sudo mkdir -p /var/www/example.dev/public_html sudo mkdir -p /var/www/mydomain.com/public_html |
2. lépés – Írási-olvasási jogosultságok módosítása
Az előző parancsok létrehozták a könyvtárszerkezetet, de a tulajdonjogot a root felhasználónál hagyták. Azt szeretnénk, hogy a nem-root felhasználónk teljes írási-olvasási jogosultsággal rendelkezzen a könyvtárakhoz. Azt is szeretnénk, hogy a nyilvános webes elérés olvasási jogosultsággal rendelkezzen.
Először módosítsa a tulajdonost a nem-root felhasználóra az alábbi parancs megadásával:
|
1 2 |
sudo chown -R $USER:$USER /var/www/example.dev/public_html sudo chown -R $USER:$USER /var/www/mydomain.com/public_html |
A $USER egy változó, amely a jelenleg bejelentkezett felhasználó hitelesítő adatait veszi fel. A normál felhasználó most már birtokolja a public_html könyvtárat. Ezután olvasási jogosultságot kell adnia a nyilvános web számára. A következő parancs engedélyezi a hozzáférést a könyvtárban lévő összes fájlhoz, biztosítva a weboldalak megfelelő kiszolgálását:
|
1 |
sudo chmod -R 755 /var/www |
Az előző három parancs futtatásával a webhelye most már képes tartalmat kiszolgálni. Ezenkívül a felhasználója ugyanúgy létrehozhat tartalmat a megadott könyvtárakban. Itt további információkat talál az Ubuntu jogosultságokról.
Step 3 – Create Demo Pages in the Directories for Each Virtual Host
A könyvtárszerkezet kialakítása után itt az ideje a szkriptelésnek. A következőt fogjuk használni: HTML és a nano szövegszerkesztőt néhány alapvető weboldal létrehozásához. Írja be a következő parancsot a nano megnyitásához és egy index.html fájl létrehozásához az első tartomány könyvtárában:
|
1 |
vim /var/www/example.dev/public_html/index.html |
A szerkesztőben helyezze el a következő mintakódot, amely a tartomány elérésekor fog megjelenni:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Üdvözöljük az Example.dev!</title> </head> <body> <h1>Siker! Az example.dev virtuális gazdagép már működik!</h1> </body> </html> |
Miután beillesztette a fenti sorokat, nyomja meg a “!wq” billentyűkombinációt a mentéshez és a fájlból való kilépéshez.
Hozza létre az index.html oldalt a második tartományhoz a nano szerkesztővel a következő parancs beírásával:
|
1 |
vim /var/www/mydomain.com/public_html/index.html |
Ezután a szerkesztőben illessze be a következő HTML-kódot, mentse el és lépjen ki:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Üdvözöljük a Mydomain.com!</title> </head> <body> <h1>Siker! A mydomain.com virtuális gazdagép már működik!</h1> </body> </html> |
Most már megvannak az oldalak a következő lépésben létrehozandó két virtuális gazdagép teszteléséhez.
4. lépés – Virtuális gazdagépfájlok létrehozása a tartománynevekhez
A virtuális gazdagépfájlok tartalmazzák az egyes virtuális gazdagépek konfigurációit. Meghatározzák, hogyan lesz kiszolgálva egy tartománynév. Az Apache új telepítése tartalmaz egy 000-default.conf nevű alapértelmezett virtuális gazdagépfájlt, amelyet használhatunk és a tartományainkhoz igazíthatunk. Mint látható, .conf kiterjesztéssel végződik, amit az Ubuntu elvár a konfigurációs fájlok esetében.
Az Apache konfigurációs fájljai az /etc/apache2/sites-available könyvtárban találhatók. Ott fogjuk tárolni a virtuális gazdagépfájljainkat. Kimásolhatjuk az alapértelmezett conf fájlt, és szükség szerint szerkeszthetjük.
-
Hozza létre az első virtuális gazdagépfájlt az example.dev tartományhoz
Írja be a következő parancsot az example.dev.conf létrehozásához az alapértelmezett conf fájl másolásával:
|
1 |
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.dev.conf |
Ezután nyissa meg a létrehozott fájlt a nano szerkesztővel, sudo jogosultságokkal, a következő paranccsal:
|
1 |
sudo nano /etc/apache2/sites-available/example.dev.conf |
Az alapértelmezett conf fájl az alábbi képernyőképen látható módon néz ki. A megjegyzések útmutatásul szolgálnak. Ezeket eltávolíthatjuk, és csak a tiszta fájlt hagyhatjuk meg a tényleges konfigurációs sorokkal:

Ezt a fájlt testre kell szabnia a saját domainnevéhez és ahhoz a könyvtárútvonalhoz, ahová a weboldal fájljait mentette. Ezenkívül frissíteni fogunk és több direktívát is hozzáadunk a fájlhoz. Már tartalmaz egy ServerAdmin direktívát, amely azt az e-mail címet tartalmazza, amelyre a szerveradminisztrátor az e-maileket kapja. Tartalmaz egy DocumentRoot direktívát is, amely arra a könyvtárra mutat, ahol a weboldal fájljait tárolja.
Két új direktívát kell hozzáadnunk: ServerName és ServerAlias. A ServerName beállítja az alapvető domainnevet. Ide kell beírnia a domainjét. A ServerAlias más neveket határoz meg, amelyeket az Apache-nak úgy kell egyeztetnie, mintha azok lennének az alapvető domainnév. Ez lehetővé teszi az olyan hostok egyeztetését, mint a www.
Frissítse a fájlt, hogy az alábbiak szerint nézzen ki:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin admin@example.dev ServerName example.dev ServerAlias www.example.dev DocumentRoot /var/www/example.dev/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Ezután frissítse a domaineket és az e-mail címet a megfelelő módon. Ha kész, nyomja meg a CTRL + O, majd az ENTER billentyűket a fájl mentéséhez. A szerkesztőből való kilépéshez nyomja meg a CTRL + X billentyűket.
-
Hozza létre az első virtuális gazdagép fájlt a mydomain.com domainhez
Egyszerűen átmásolhatjuk az első domain virtuális gazdagépét, és szükség szerint frissíthetjük a második domainhez. A fájl másolásához használja a következő parancsot:
|
1 |
sudo cp /etc/apache2/sites-available/example.dev.conf /etc/apache2/sites-available/mydomain.com.conf |
Ezután nyissa meg a nano szerkesztőben a következő paranccsal:
|
1 |
sudo nano /etc/apache2/sites-available/mydomain.com.conf |
Keresse meg a direktívákat, és frissítse őket megfelelően, hogy a fájl az alábbiak szerint nézzen ki:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin admin@mydomain.com ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /var/www/mydomain.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Ha kész, mentse a fájlt, és lépjen ki a szerkesztőből.
5. lépés – A virtuális gazdagép fájlok engedélyezése
A negyedik lépésben létrehoztuk a virtuális gazdagép fájlokat. Azonban ezek nem működnek mindaddig, amíg nem engedélyezi őket. Az Apache rendelkezik egy a2ensite nevű eszközzel, amelyet a virtuális gazdagépek engedélyezésére fogunk használni.
Adja meg a következő két parancsot a virtuális gazdagépek engedélyezéséhez:
|
1 2 |
sudo a2ensite example.dev.conf sudo a2ensite mydomain.com.conf |
A fenti parancsok kimenete az alábbiak szerint látható:

Ezután le kell tiltania az alapértelmezett konfigurációs fájlt; a webhelyek letiltásához az a2dissite Apache eszközt használjuk. Adja meg a következő parancsot:
|
1 |
sudo a2dissite 000-default.conf |
A kimenetből látható, hogy a konfigurációk érvénybe lépéséhez újra kell indítania az Apache-ot. Használja a következő parancsot:
|
1 |
sudo systemctl restart apache2 |
Ezután ellenőrizze az Apache állapotát a következő paranccsal:
|
1 |
sudo systemctl status apache2 |
A kimenet azt mutatja, hogy a szerver fut és működik, és képes kiszolgálni a két weboldalt.

6. lépés – A helyi hosts fájl módosítása a példa domainekkel
Ha nem regisztrált valódi domaint, hanem teszt domaineket használt, frissítenie kell a helyi hosts fájljait. Ezeknek fel kell fogniuk a forgalmat, és a weboldal könyvtárára kell irányítaniuk azt, amikor a virtuális gazdagép fájlokban beállított domainek bármelyikére navigál. Ne feledje, ez csak a helyi számítógépén fog működni. Ha a helyi számítógépe Windows operációs rendszert futtat, akkor kövesse a hosts fájl beállítására vonatkozó utasításokat ezen a linken.
Ha Mac vagy Linux gépet használ, a hosts fájl az /etc könyvtárban található. A nano szerkesztőt fogjuk használni a megnyitásához és a teszt domainjeink hozzáadásához. Először keresse meg a VPS IP-címét a következő parancs beírásával:
|
1 |
curl -4 icanhazip.com |
Írja be a következő parancsot a fájl megnyitásához és a szerver IP-címével való frissítéséhez:
|
1 |
sudo nano /etc/hosts |
|
1 2 3 4 |
127.0.0.1 localhost 127.0.1.1 ComputerName your_server_IP example.dev your_server_IP mydomain.com |
Ezután mentse el és zárja be a fájlt. Amikor beír egy domain nevet a böngészőjébe, a rendszer először a hosts fájlt ellenőrzi. Ha a domain név megtalálható benne, a forgalom a megadott IP-címre irányul. Ha nem található, a DNS-rendszer lép működésbe a globális átirányításhoz. A teszt domainjeink esetében a forgalom a megadott IP-címre lesz irányítva.
7. lépés – A virtuális gazdagépek tesztelése
A domain nevek beállítása után ellenőrizheti a működésüket a böngészőben vagy a terminálban:
|
1 |
curl http://example.dev |
A kimenetnek valahogy így kell kinéznie:

|
1 |
http://mydomain.com |

Gratulálunk! Sikeresen konfigurált két weboldalt, hogy egyetlen szerveren fussanak.
Összegzés
Ebben az útmutatóban megtanulta, hogyan konfigurálhatja az Apache szervert egynél több weboldal kiszolgálására. Ha további weboldalakat szeretne hozzáadni, ezt a lépések követésével és virtuális gazdagépek beállításával teheti meg. Az Apache tetszőleges számú domaint képes kezelni, amíg a szerver erőforrásai bírják azt.
Kellemes gépezést!
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.