웹 브라우저에 주소를 치면 어딘가의 서버가 그 요청을 받아 HTML을 돌려준다. 그 "어딘가의 서버" 소프트웨어 중 가장 오래되고 널리 쓰인 것이 Apache HTTP Server다. 한 대의 물리 서버에서 수십 개의 웹사이트를 동시에 서비스하고, 디렉터리별로 접근 권한을 다르게 주며, 모듈을 끼워 기능을 확장하는 이 유연함이 Apache를 25년 넘게 표준으로 만들었다. 오늘은 Apache의 설치와 디렉터리 구조, httpd.conf의 핵심 지시어, 그리고 한 서버에서 여러 사이트를 돌리는 **가상 호스트(Virtual Host)**의 이름 기반·IP 기반 방식을 정밀하게 익힌다.
핵심 통찰: 웹 서버 설정은 "어떤 요청을, 어느 파일로, 누구에게 보여 줄 것인가"를 지시어로 선언하는 일이다. DocumentRoot가 파일의 위치를, Directory 블록이 접근 권한을, VirtualHost가 사이트별 분기를 정한다. 이 세 축만 잡으면 httpd.conf 전체가 읽힌다.
RHEL/CentOS 계열에서 Apache의 패키지·데몬 이름은 모두 httpd다(데비안 계열은 apache2).
# 설치
yum install httpd
# 데몬 제어
systemctl start httpd
systemctl enable httpd # 부팅 시 자동 시작
systemctl status httpd