Apache HTTP Server
Főnév
Apache HTTP Server (tsz. Apache HTTP Servers)
- (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_cachemodult, 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.
- Apache HTTP Server - Szótár.net (en-hu)
- Apache HTTP Server - Sztaki (en-hu)
- Apache HTTP Server - Merriam–Webster
- Apache HTTP Server - Cambridge
- Apache HTTP Server - WordNet
- Apache HTTP Server - Яндекс (en-ru)
- Apache HTTP Server - Google (en-hu)
- Apache HTTP Server - Wikidata
- Apache HTTP Server - Wikipédia (angol)