Logo programu | |
| Autor | Apache Software Foundation |
|---|---|
| Aktualna wersja stabilna | 2.4.59 (4 kwietnia 2024) [±] |
| System operacyjny | GNU/Linux, OS X, Windows |
| Rodzaj | Serwer WWW |
| Licencja | Apache License |
| Strona internetowa | |
Apache – otwarty serwer HTTP dostępny dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD, OS X, Microsoft Windows).
Popularność
Apache jest jednym z szeroko stosowanych serwerów HTTP w Internecie. W maju 2020 (według serwisu Netcraft) jego udział wśród wszystkich serwerów wynosił ponad 25%. Według nieistniejącego już serwisu Amudom, wśród polskich domen ok. 53% serwerów używało Apache w 2017 roku.
Statystyki wykorzystania serwerów WWW (dane z maja 2020 według serwisu Netcraft):
| nginx | 445 724 550 | 36,00% |
| Apache | 315 019 262 | 25,45% |
| Microsoft | 155 042 311 | 12,52% |
| 44 304 867 | 3,58% |
Technika używana przez Netcraft polegająca na badaniu odpowiedzi serwerów ma pewne ograniczenia i może dawać zaburzone statystyki, ponieważ jest w stanie ustalić jedynie serwer zewnętrzny. Jeśli właściwy serwer jest za serwerem proxy, to może nie być to uwzględnione.
Cechy serwera i obsługiwane moduły
- wielowątkowość
- skalowalność
- bezpieczeństwo
- Kontrola dostępu/uwierzytelnianie: mod_authz_host
- CGI
- Proxy typu HTTP, Apache JServe Protocol, FTP, CONNECT: mod_proxy*
- SSI: mod_include
- Content-Negotation: mod_negotation
- Moduł URL-Rewriting: mod_rewrite
- SSL: mod_ssl
- możliwość osadzania interpreterów języków skryptowych, np. mod perl, mod_php czy mod_python
Historia
Serwer Apache wywodzi się z kodu serwera NCSA HTTPd napisanego przez Roba McCoola, pracownika NCSA.
- kwiecień 1995 – wersja 0.6.2 pierwsza oficjalna wersja serwera HTTP Apache.
- sierpień 1995 – wersja 0.8.8 dodanie standardowego API i modularyzacja kodu.
- grudzień 1995 – wersja 1.0 ulepszenie modułów serwera, napisanie dokumentacji, przeniesienie serwera na wiele różnych platform systemowych.
- 2000 – wersja 1.3 wprowadziła m.in. dynamiczne ładowanie modułów, wsparcie dla Windows NT i Windows 2000.
- 2002-2013 – wersja 2.0 to wsparcie wielowątkowości, bardziej elastyczne API dla modułów, a także wsparcie IPv6 i UTF-8 w nazwach plików. Wydane zostały również nowe moduły między innymi do szyfrowania (mod_ssl) czy do kompresji danych (mod_deflate).
- 2005-2017 – wersja 2.2 dodała m.in. nowe moduły do cachowania, proxy AJP (do serwera Tomcat) i obsługę plików większych niż 2 GB.
- 2012-teraz – wersja 2.4 zmienia sposób konfiguracji ograniczenia dostępu (stare dyrektywy Deny, Allow należy zastąpić Require); sekcje If, Else umożliwiają warunkowe konfiguracje na podstawie konkretnego żądania (podobnie jak w poprzednich wersjach za pomocą mod_rewrite); od wersji 2.4.36 wspiera TLS 1.3.
Trwają prace nad nową wersją oznaczoną roboczo 2.5, ostateczna wersja będzie miała oznaczenie 2.6 lub 3.0.
Konfiguracja
Najnowsze wersje serwera Apache posiadają interfejs graficzny GUI. Program Apache parsuje plik konfiguracyjny httpd.conf (oraz inne zdefiniowane przez użytkownika, bądź sam program).
Plik konfiguracyjny dystrybucji Apache z serii 2.0 zawiera sekcje:
Global Environment
- środowisko serwera
- podstawowe parametry sieciowe
- lista dołączanych modułów
Main server configuration
Virtual Hosts
- odwrotny DNS
- lista i konfiguracja ewentualnych hostów wirtualnych obsługiwanych przez maszynę
Niektóre większe moduły (np. mod_SSL) mogą posiadać własne sekcje w pliku httpd.conf bądź oddzielny plik dla własnych ustawień. Aby zmiany dokonane w plikach konfiguracyjnych zostały uwzględnione, konieczne jest zrestartowanie procesu serwera.
Zobacz też
Przypisy
- 1 2 May 2020 Web Server Survey [online], Netcraft News, 26 maja 2020 [dostęp 2020-06-12] (ang.).
- ↑ Statystyki polskiego Internetu amudom.pl [online], www.amudom.pl [dostęp 2017-02-16] [zarchiwizowane z adresu 2017-02-17] (pol.).
- ↑ Hosting Provider Server Count [online], Netcraft [dostęp 2020-06-11] (ang.).
- ↑ The NCSA HTTPd homepage. hoohoo.ncsa.uiuc.edu. [zarchiwizowane z tego adresu (2009-04-15)].
- ↑ New features with Apache 1.3 [online], httpd.apache.org [dostęp 2019-12-30] [zarchiwizowane z adresu 2016-06-29].
- 1 2 Overview of new features in Apache 2.0 - Apache HTTP Server [online], httpd.apache.org [dostęp 2019-12-30].
- ↑ Apache Week. Apache 2 Release [online], www.apacheweek.com [dostęp 2019-12-30].
- ↑ Apache 2.0 CHANGES [online].
- ↑ Overview of new features in Apache 2.2 - Apache HTTP Server Version 2.2 [online], httpd.apache.org [dostęp 2019-12-30].
- ↑ Apache 2.2 Changes [online].
- ↑ Upgrading to 2.4 from 2.2 - Apache HTTP Server Version 2.4 [online], httpd.apache.org [dostęp 2019-12-30].
- ↑ Overview of new features in Apache HTTP Server 2.4 - Apache HTTP Server Version 2.4 [online], httpd.apache.org [dostęp 2019-12-30].
- ↑ Apache 2.4 Changes [online].
- ↑ Contents of STATUS [online], Apache-SVN, 27 grudnia 2019 [dostęp 2019-12-30].