Apache 최종 수정일 2026-06-19 14:07 조회수 14
대시보드

Apache

기본 정보

  • 이름: Apache HTTP Server
  • 약칭: Apache
  • 분류: 웹 서버(Web Server)
  • 개발 기관: Apache Software Foundation
  • 최초 공개: 1995년
  • 라이선스: Apache License 2.0
  • 주요 용도: 웹사이트 및 웹 애플리케이션 서비스
  • 관련 주제: #Apache #웹서버 #HTTP #Linux #PHP

개요

Apache HTTP Server는 세계에서 가장 널리 사용되는 오픈소스 웹 서버 소프트웨어 중 하나이다.

웹 브라우저의 HTTP/HTTPS 요청을 받아 HTML, CSS, JavaScript, 이미지 등의 정적 파일을 제공하며, PHP·Python·Perl 등의 서버 프로그램과 연동하여 동적 웹페이지를 서비스할 수 있다.

Linux, Windows, macOS 등 다양한 운영체제에서 실행 가능하다.


주요 특징

  • 오픈소스
  • 크로스 플랫폼 지원
  • HTTP 및 HTTPS 지원
  • Virtual Host 지원
  • URL Rewrite 지원
  • 모듈 확장 가능
  • PHP 연동 가능
  • SSL/TLS 지원

동작 구조

브라우저

↓

HTTP / HTTPS

↓

Apache Web Server

├── 정적 파일

├── PHP

├── CGI

├── Rewrite

└── SSL

↓

Application

↓

Database

주요 역할

  • HTML 제공
  • CSS 제공
  • JavaScript 제공
  • 이미지 제공
  • 파일 다운로드
  • URL 라우팅
  • PHP 실행
  • SSL 처리
  • 접근 제어

설치 위치(Linux)

/

/etc/httpd/

/etc/apache2/

/var/www/html/

/var/log/httpd/

운영체제에 따라 경로가 다를 수 있다.


주요 설정 파일

httpd.conf

apache2.conf

ports.conf

ssl.conf

가상 호스트(VirtualHost)는 별도 설정 파일로 관리하는 경우가 많다.


VirtualHost

<VirtualHost *:80>

    ServerName example.com

    DocumentRoot /var/www/html

</VirtualHost>

하나의 서버에서 여러 도메인을 운영할 수 있다.


DocumentRoot

DocumentRoot "/var/www/html"

웹사이트의 기본 경로를 지정한다.


Directory 설정

<Directory "/var/www/html">

    AllowOverride All

    Require all granted

</Directory>

디렉터리 접근 권한을 설정한다.


.htaccess

RewriteEngine On

RewriteRule ^board/(.*)$ board.php?id=$1 [L]

디렉터리별 설정을 적용할 수 있다.

주요 기능

  • URL Rewrite
  • 접근 제한
  • 리디렉션
  • 캐시 설정
  • 압축 설정

mod_rewrite

URL 변경

RewriteRule

^member$

member.php

[L]

SEO 친화적인 URL 구성에 많이 사용된다.


SSL 설정

<VirtualHost *:443>

SSLEngine on

SSLCertificateFile cert.pem

SSLCertificateKeyFile key.pem

</VirtualHost>

HTTPS 서비스를 위한 설정이다.


로그

Access Log

access.log

Error Log

error.log

운영 중 오류 분석에 중요한 자료이다.


PHP 연동

Apache는 PHP와 함께 많이 사용된다.

Browser

↓

Apache

↓

PHP

↓

MySQL

↓

Response

대표 CMS


대표 모듈

  • mod_rewrite
  • mod_ssl
  • mod_headers
  • mod_proxy
  • mod_deflate
  • mod_expires
  • mod_security

성능 최적화

대표 방법

  • KeepAlive 설정
  • Gzip 압축
  • Cache-Control 설정
  • Expires 설정
  • HTTP/2 활성화
  • OPcache 사용
  • PHP-FPM 연동

보안 설정

권장 사항

  • ServerTokens 최소화
  • ServerSignature Off
  • 디렉터리 목록 비활성화
  • HTTPS 적용
  • 불필요한 모듈 제거
  • 최신 버전 유지
  • 접근 권한 최소화

Apache와 Nginx 비교

ApacheNginx
Process 기반Event 기반
.htaccess 지원.htaccess 미지원
PHP 연동 쉬움Reverse Proxy에 강점
설정 유연고성능 처리
소규모~중규모 서비스 적합대규모 트래픽 처리에 강점

주요 활용 분야

  • 기업 홈페이지
  • 블로그
  • 쇼핑몰
  • 게시판
  • API 서버
  • ERP
  • CMS
  • 파일 서버

장점

  • 안정성이 높음
  • 풍부한 모듈 제공
  • .htaccess 지원
  • PHP와 뛰어난 호환성
  • 다양한 운영체제 지원
  • 커뮤니티와 자료가 풍부함

단점

  • 대량 동시 접속에서는 Nginx보다 불리할 수 있음
  • 설정이 복잡해질 수 있음
  • 메모리 사용량이 상대적으로 큰 편

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • HTTP/2 활성화
  • HTTPS 기본 적용
  • Gzip 압축 활성화
  • KeepAlive 활성화
  • OPcache 사용
  • PHP-FPM 연동
  • Access/Error Log 주기적 관리
  • .htaccess 남용 지양
  • VirtualHost 분리 관리
  • Fail2Ban 등 보안 도구 적용

Apache와 함께 사용하는 기술


대표 명령어

서비스 시작

systemctl start httpd

서비스 중지

systemctl stop httpd

재시작

systemctl restart httpd

설정 검사

apachectl configtest

관련 문서


출처

  • Apache HTTP Server 공식 홈페이지
  • Apache HTTP Server 공식 문서
  • Apache Software Foundation 자료