Lehetséges egyszerre futtatni IIS-t (Internet Information Services) és Apache webszervert ugyanazon a gépen? A válasz: igen, de némi trükközést igényel. Mindkét webszerver alapértelmezés szerint a 80-as és 443-as portokat (HTTP és HTTPS) használja a kommunikációra. Mivel egy porton egyszerre csak egy alkalmazás „hallgathat”, konfliktus lépne fel. Ebben a cikkben bemutatjuk, hogyan konfigurálhatod a két webszervert úgy, hogy békében megférjenek egymás mellett.
Miért futtassuk az IIS-t és az Apache-t együtt?
Elsőre furcsának tűnhet, de vannak helyzetek, amikor hasznos lehet ez a megoldás:
- Fejlesztési környezet: Lehet, hogy projekteken dolgozol, amelyek különböző webszervereket igényelnek. Például, egy .NET alapú alkalmazás IIS-t, míg egy PHP alkalmazás Apache-ot.
- Tesztelés: Az alkalmazásaid kompatibilitásának tesztelése különböző webszervereken.
- Átmeneti időszak: Ha egy meglévő IIS alapú alkalmazást Apache-ra migrálsz, átmenetileg mindkét szerverre szükséged lehet.
A konfliktus kezelése: Port átirányítás
A leggyakoribb és legegyszerűbb módszer a portok átirányítása. Az egyik webszervert (általában az IIS-t) a standard 80-as és 443-as portokon hagyjuk, a másikat pedig egy másik portra helyezzük át. Ebben az útmutatóban az Apache-ot fogjuk átirányítani.
1. Az Apache konfigurálása más portra
Az Apache konfigurációs fájlja általában az httpd.conf
vagy apache2.conf
. Ennek a fájlnak a helye a telepítési könyvtártól függ. Keresd meg a következő sorokat:
Listen 80
És változtasd meg például erre:
Listen 8080
Ha HTTPS-t is használsz, hasonlóan módosítsd a 443-as portot is egy másik, nem használt portra (pl. 8443):
<VirtualHost _default_:443>
Ezt is át kell írni:
<VirtualHost _default_:8443>
Győződj meg róla, hogy a httpd.conf
fájlban minden 443-as port említését is átírtad az új portra. Ne felejtsd el a mentést!
2. Az Apache újraindítása
A módosítások életbe léptetéséhez újra kell indítani az Apache webszervert. Ezt a Windows Szolgáltatások (Services) ablakban teheted meg, vagy a parancssorban az httpd -k restart
paranccsal (ha az Apache a rendszer elérési útjában van).
3. Az IIS konfigurálása (ha szükséges)
Ha az IIS-t szeretnéd a standard portokon hagyni (ez az ajánlott), akkor nincs szükség további konfigurálásra. Azonban, ha valamilyen oknál fogva az IIS-t is át szeretnéd helyezni egy másik portra, azt az IIS Managerben teheted meg. A „Sites” alatt válaszd ki a webhelyet, majd a „Bindings” menüpontban módosítsd a HTTP és HTTPS kötéseket.
Hozzáférés a weboldalakhoz
Az Apache-on futó weboldalakhoz a következő URL-lel férhetsz hozzá:
http://localhost:8080
HTTPS esetén:
https://localhost:8443
Az IIS-en futó weboldalak továbbra is a standard http://localhost
és https://localhost
címeken érhetők el (feltéve, hogy nem módosítottad az IIS portjait).
Fontos megjegyzések
- Tűzfal: Győződj meg róla, hogy a Windows tűzfal engedélyezi a forgalmat az új portokon (8080, 8443, stb.).
- Virtual Hostok: Ha több virtuális hostot használsz az Apache-ban, győződj meg róla, hogy mindegyik a megfelelő portra van konfigurálva.
- SSL Tanúsítványok: Ha HTTPS-t használsz, ne felejtsd el a megfelelő SSL tanúsítványt konfigurálni mindkét webszerveren.
- Router konfiguráció: Ha a weboldalakat az interneten is elérhetővé szeretnéd tenni, a routeren is át kell irányítani a 8080-as és 8443-as portokat a szerver belső IP címére.
Alternatív megoldás: Fordított proxy
Egy másik, bonyolultabb megoldás a fordított proxy használata. Ebben az esetben az IIS fut a standard portokon, és az Apache-t használjuk fordított proxyként, ami bizonyos kéréseket az Apache-hoz irányít. Ez a módszer összetettebb konfigurálást igényel, de lehetővé teszi, hogy a felhasználók számára a weboldal egyetlen URL-en keresztül legyen elérhető, függetlenül attól, hogy melyik webszerver szolgálja ki a tartalmat. A fordított proxy konfigurálása az Apache-ban a mod_proxy
modul segítségével történik.
Összegzés
A IIS és Apache egyidejű futtatása egy gépen lehetséges, de gondos konfigurálást igényel. A legegyszerűbb megoldás a portok átirányítása. Reméljük, ez az útmutató segített a beállításban. Ne felejtsd el a biztonsági szempontokat sem figyelembe venni a konfigurálás során!