mir.pe (일반/어두운 화면)
최근 수정 시각 : 2024-10-07 16:04:36

아파치 HTTP 서버

Apache HTTP Server에서 넘어옴

파일:httpd_logo_wide_new.png
현재 버전 2.4.62 (2024년 7월 17일)
버전 공개일
Apache 1.3 1998년 6월 6일
Apache 2 2.0 2002년 4월 6일
2.2 2005년 12월 1일
2.4 2012년 2월 21일
홈페이지 파일:홈페이지 아이콘.svg

1. 개요2. 상세3. 라이선스4. 점유율 및 한계점5. 관련문서

[clearfix]

1. 개요

Apache HTTP Server는 오픈 소스 소프트웨어 그룹인 아파치 소프트웨어 재단에서 만드는 웹 서버 프로그램이다. 팀 버너스 리가 만든 최초의 웹 서버 프로그램인 "NCSA HTTPd"를 기반으로 만들어졌다.

엄밀이 말하자면 NCSA httpd는 팀 버너스리 가 구현한 참조구현인 CERN httpd의 NCSA(National Center for Supercomputing Applications) 구현이어서 팀 버너스리가 직접만든것은 아니다.

팀 버너스 리의 NCSA HTTPd는 유닉스 기반으로 만들어졌기에, 아파치 HTTP 서버는 NCSA HTTPd를 리눅스에서도 돌리는 것을 목표로 만들어진 프로그램이다. 그 이후 리눅스와 함께 퍼져나갔고, 리눅스가 서버 OS의 최다 점유율을 차지하자 아파치도 자연스럽게 최다 점유율을 차지하게 되었다. 현재 거의 모든 리눅스 배포판이 이 아파치를 지원한다.

2. 상세

아파치는 확장성이 상당히 좋은데, 모듈이라는 개념으로 수많은 기능을 덧붙일 수 있다. 이 모듈을 통해 다른 프로그램과의 연동도 가능하다. 이 때문에 여러가지 서버 사이드 프로그래밍 언어 DBMS와도 궁합이 잘 맞았는데, 초창기에는 Perl이 대세였고, PHP가 그 뒤를 이었다. 바로 PHP 모듈을 통해 PHP를 실행할 수도 있지만, 주로 속도 향상을 위해 PHP-FPM을 통해 PHP를 연결해서 사용한다. 좀 더 고성능을 원하는 사람은 HHVM을 쓴다.[1] 그리고 오픈소스 DBMS인 MySQL이 나오자, Apache+PHP+MySQL을 통틀어 "APM"이라고 통칭하면서 웹 서버를 돌리기 위한 기본 3종 세트 비스무레하게 되었다. 물론 다른 언어와 다른 DBMS도 지원하지만, 저 조합이 가장 인지도가 높다. JSP의 경우에도 설정이 조금 귀찮아지지만 Tomcat과 연동하여 돌릴 수 있다.

그러나 2.2 버전대에서 너무 무겁다는 평이 많아졌고, 빠른 속도를 내세운 NGINX라는 웹 서버 프로그램이 새로 나오면서 아파치의 위기가 왔다. 아파치는 Event MPM을 탑재하여 속도를 크게 개선한 2.4 버전을 내놓으면서 여기에 대응하고 있다.[2]

기능이 매우 많은 웹서버이지만 그 기능을 다 활용하는 사람이 드문 그런 프로그램이다. 확장 모듈이 매우 다양하여 간단하게 설치하고 사용 가능하지만 대부분의 사람은 이 프로그램과 PHP, MySQL만 설치하고 돌린다. 그런데 그 기능들은 NGINX에도 있고 더 빠르기 때문에, 호환성을 확인하고 옮길 수 있으면 옮기는 게 좋다.

윈도우용도 나온다. 윈도우에도 XAMPP라는 아파치 웹 서버+PHP+MySQL을 편리하게 통합해 설치할 수 있는 패키지가 나와 있다. 셋 다 윈도우용이 나오기 때문에 가능한 것. 과거에 한국에서 인기 있었던 APMSetup은 개발이 중단되었고 업데이트 서버 도메인이 만료된 후 랜섬웨어 배포처로 사용 중이기 때문에 인터넷에 설치 파일이 있어도 사용하면 안 된다. 그러나 아무래도 리눅스/ 유닉스 베이스로 만들어진 프로그램이다보니 윈도우에서는 제 속도가 나오지 않는다. 윈도우 버전은 서버 입문자의 디버깅 환경 구축용 혹은 PHP+MySQL 연습용 정도라고 보면 된다. 거기다 윈도우 서버에는 MS가 자체적으로 만든 인터넷 정보 서비스(IIS)가 있기 때문에, IIS에 FastCGI 모듈로 PHP를 연결시켜서 돌리는 것이 보통이다. 이 때문에 PHP의 윈도우 버전은 IIS용과 Apache/NGINX용이 따로 나온다.

3. 라이선스

라이선스는 GPL이 아닌 자체 라이선스를 쓴다. 아파치 라이선스 2.0을 따르는데, 아파치 소프트웨어 재단에서 만들었다는 사실을 밝히고 아파치 라이선스를 따르면 자유롭게 수정 및 재배포가 가능하다. 소스 공개 강제 사항도 없는 자유로운 라이선스다.

4. 점유율 및 한계점

2023년 7월 기준으로 실질적으로 작동하는 웹 사이트(active site)들에서 쓰이는 웹 서버 소프트웨어 순위는 엔진엑스(34.3%), 아파치 HTTP 서버(31.4%), LiteSpeed(12.2%) 순이다.[3] 클라우드플레어는 20.6%이지만 CDN이기 때문에 실질적 점유율로는 인정하기 힘들다.[4]

아파치 HTTP 서버의 점유율이 1위였으나 2020년대 넘어서면서부터 NGINX에게 추월당했고, HTTP/3 지원 여부가 불확실한 상태에서 LiteSpeed에게 빠르게 시장을 잠식 당하고 있다. LiteSpeed는 아파치 HTTP 서버와 호환되는 설정을 사용하는데, 빠르고 가벼우며 신기능들을 지원한다는 점을 내새워서 시장을 넓히고 있다.

5. 관련문서


[1] 하지만 PHP 7이 발표되면서 속도 면에서 HHVM은 강력한 적수를 만나게 되었다. [2] PHP로 HTTP/2를 쓰려면 Event MPM + PHP-FPM 조합을 써야 한다. [3] 세계 웹서버 시장 점유율, W3Tech [4] 클라우드플레어를 경유하는 나무위키의 경우에도 나무위키 서버 연결에 실패하면 경유지인 클라우드플레어에서 HTTP 50X 오류를 띄우지만 나무위키 서버에 연결된 상태에서 어떤 오류가 발생하면 나무위키 서버 내의 NGINX에서 오류를 띄운다.