Apache HTTP szerver
Kiejtés
- IPA: [ ˈɒpɒɦɛ ˈxtp ˈsɛrvɛr]
Főnév
- (informatika, számítógép-hálózatok) Az Apache HTTP Server (röviden Apache) egy nyílt forráskódú, népszerű webszerver szoftver, amely lehetővé teszi a weboldalak kiszolgálását és kezelését az interneten vagy helyi hálózatokon. Az Apache az egyik legszélesebb körben használt webszerver a világon, mivel stabil, rugalmas, és számos modul segítségével könnyen bővíthető, hogy megfeleljen különféle alkalmazási igényeknek.
Fő jellemzők
- Többplatformos támogatás:
- Az Apache támogatja a Linuxot, Windows-t, macOS-t és más operációs rendszereket, így szinte minden platformon használható.
- Moduláris felépítés:
- Az Apache rugalmasan bővíthető, mivel moduláris szerkezettel rendelkezik. Az alaptelepítés mellett különböző modulok (például SSL, PHP, Python támogatás, stb.) betöltésével különböző funkciókat lehet hozzáadni a webszerverhez.
- Virtuális hostok (Virtual Hosts):
- Az Apache lehetőséget biztosít több webhely kiszolgálására egyetlen szerverről különböző domain nevek vagy IP-címek használatával. Ezt virtuális hostok segítségével valósítja meg, így egyetlen szerver különböző webhelyeket tud kiszolgálni.
- Támogatás dinamikus tartalmakhoz:
- Az Apache támogatja a dinamikus tartalmak kiszolgálását különféle szkriptnyelvekkel, például PHP, Python, Perl vagy más CGI alapú programozási nyelvekkel.
- SSL/TLS támogatás:
- Az Apache könnyedén támogatja a HTTPS protokollt az SSL/TLS (Secure Sockets Layer/Transport Layer Security) modulok segítségével, amely biztosítja a titkosított kommunikációt a szerver és a kliensek között.
- Proxy és cache funkciók:
- Az Apache képes proxy szerverként és gyorsítótárként is működni, ami növeli a teljesítményt és optimalizálja a hálózati forgalmat.
- Jelszavas védelem:
- Az Apache lehetőséget biztosít könyvtárak jelszavas védelmére, így bizonyos webes erőforrásokhoz csak hitelesített felhasználók férhetnek hozzá.
- Nagyon jól skálázható:
- Az Apache nagy forgalmú webhelyeket is hatékonyan képes kezelni, köszönhetően a különböző munkavégzési modelleknek (pl. prefork, worker, event MPM).
Apache telepítése Linux rendszeren (például Ubuntu)
Az Apache telepítése egyszerű Linux rendszeren a csomagkezelő használatával.
- Apache telepítése:
Ubuntu és Debian rendszereken:
sudo apt update
sudo apt install apache2
CentOS vagy Fedora rendszereken:
sudo yum install httpd
- Apache szolgáltatás indítása:
Az Apache telepítése után el kell indítanod a szolgáltatást:
Ubuntu/Debian:
sudo systemctl start apache2
CentOS/Fedora:
sudo systemctl start httpd
- Szolgáltatás engedélyezése az automatikus indításhoz:
Ahhoz, hogy az Apache automatikusan induljon a rendszerrel, engedélyezned kell a szolgáltatást:
Ubuntu/Debian:
sudo systemctl enable apache2
CentOS/Fedora:
sudo systemctl enable httpd
- Tesztelés:
Miután telepítetted és elindítottad az Apache szervert, megnyithatod a böngészőben a szerver IP-címét vagy a localhost
címet, hogy ellenőrizd a működést:
http://localhost
Ha mindent jól csináltál, az Apache alapértelmezett üdvözlő oldala fog megjelenni.
Konfigurációs fájlok helye
Az Apache konfigurációs fájljai a következő helyeken találhatók:
- Ubuntu/Debian rendszereken:
- Fő konfigurációs fájl:
/etc/apache2/apache2.conf
- Virtuális hostok:
/etc/apache2/sites-available/
és/etc/apache2/sites-enabled/
- Modulok:
/etc/apache2/mods-available/
és/etc/apache2/mods-enabled/
- Fő konfigurációs fájl:
- CentOS/Fedora rendszereken:
- Fő konfigurációs fájl:
/etc/httpd/conf/httpd.conf
- Virtuális hostok:
/etc/httpd/conf.d/
- Fő konfigurációs fájl:
Apache alapvető konfiguráció
Virtuális hostok beállítása
A virtuális hostok (Virtual Hosts) lehetővé teszik több webhely kiszolgálását egyetlen Apache szerverrel. Például, ha két domain van, mint a example.com
és a mywebsite.com
, mindkettőt külön-külön kiszolgálhatod.
Például egy example.com
nevű webhely virtuális host konfigurációja így nézhet ki:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
- ServerName: A fő domain név, amelyet a webhely használ.
- ServerAlias: Alternatív domain vagy aldomain nevek, amelyek erre a virtuális hostra mutatnak.
- DocumentRoot: A fájlok elérési útja, amelyből az Apache a webhely tartalmát kiszolgálja.
- ErrorLog és CustomLog: A webhelyhez tartozó naplófájlok.
Az Ubuntu/Debian rendszereken a virtuális host konfigurációs fájlokat a /etc/apache2/sites-available/
könyvtárban tárolhatod. Miután létrehoztad a fájlt, aktiválnod kell azt:
sudo a2ensite example.com.conf
Majd újra kell indítanod az Apache szervert:
sudo systemctl reload apache2
SSL/TLS engedélyezése HTTPS-hez
Az Apache támogatja az SSL/TLS titkosítást, amely lehetővé teszi a weboldalak HTTPS-en történő kiszolgálását. A következő lépések szükségesek egy SSL-tanúsítvány beállításához:
SSL modul engedélyezése (Ubuntu/Debian rendszereken):
sudo a2enmod ssl
Virtuális host fájl létrehozása HTTPS-hez:
Például egy HTTPS virtuális host beállítása:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example.com/public_html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/private/example.com.key
SSLCertificateChainFile /etc/ssl/certs/chain.pem
ErrorLog ${APACHE_LOG_DIR}/example.com_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_ssl_access.log combined
</VirtualHost>
- Apache újraindítása:
Miután elvégezted a módosításokat, újra kell indítanod az Apache szervert:
sudo systemctl reload apache2
Apache naplózása
Az Apache kétféle naplózási mechanizmust használ:
- Hozzáférési napló (Access Log):
- Ez a napló tartalmazza az összes kérést, amit a szerverhez intéztek. Alapértelmezés szerint a naplófájl helye:
- Ubuntu/Debian:
/var/log/apache2/access.log
- CentOS/Fedora:
/var/log/httpd/access_log
- Ubuntu/Debian:
- Ez a napló tartalmazza az összes kérést, amit a szerverhez intéztek. Alapértelmezés szerint a naplófájl helye:
- Hibanapló (Error Log):
- Az Apache szerver által jelentett hibákat és figyelmeztetéseket tartalmazza.
- Ubuntu/Debian:
/var/log/apache2/error.log
- CentOS/Fedora:
/var/log/httpd/error_log
- Ubuntu/Debian:
- Az Apache szerver által jelentett hibákat és figyelmeztetéseket tartalmazza.
Apache optimalizálása és teljesítmény
- MPM (Multi-Processing Modules): Az Apache különböző MPM-eket használ a folyamatok kezelésére. A leggyakrabban használtak:
- prefork: Minden kéréshez külön folyamatot indít, amely jó kompatibilitást biztosít, de nem a legjobb teljesítményű.
- worker: Több szálat használ egyetlen folyamaton belül, ami kevesebb memóriahasználatot eredményez.
- event: Továbbfejlesztett változata a worker MPM-nek, és javítja a teljesítményt nagy terhelés esetén.
- Cache használata:
- Az Apache támogatja a különböző gyorsítótár-megoldásokat, például a
mod_cache
modult, amely segíthet az erőforrások hatékonyabb kiszolgálásában.
- Az Apache támogatja a különböző gyorsítótár-megoldásokat, például a
Összegzés
Az Apache HTTP Server egy erőteljes és rugalmas webszerver, amely lehetővé teszi a statikus és dinamikus webhelyek kiszolgálását különböző platformokon. Könnyen skálázható és számos modullal bővíthető, így ideális megoldás kis és nagy weboldalak számára egyaránt.
Fordítások
- Apache HTTP szerver - Értelmező szótár (MEK)
- Apache HTTP szerver - Etimológiai szótár (UMIL)
- Apache HTTP szerver - Szótár.net (hu-hu)
- Apache HTTP szerver - DeepL (hu-de)
- Apache HTTP szerver - Яндекс (hu-ru)
- Apache HTTP szerver - Google (hu-en)
- Apache HTTP szerver - Helyesírási szótár (MTA)
- Apache HTTP szerver - Wikidata
- Apache HTTP szerver - Wikipédia (magyar)