Overview
Apache 웹 서버는 HTTP 프로토콜을 기반으로 웹사이트를 제공하는 서버 소프트웨어이다.
웹 브라우저에서 http://example.com과 같은 주소를 입력하면,
Apache 서버가 해당 요청을 받아 웹 페이지를 클라이언트에게 반환하는 역할을 한다.
이번 글에서는 Apache 웹 서버의 개념과 환경 설정, 실습 방법을 다룬다.
1️⃣ Apache 웹 서버 개요
Apache HTTP Server(Apache 웹 서버)는 전 세계에서 가장 널리 사용되는 오픈소스 웹 서버이다.
다양한 모듈을 통해 확장할 수 있으며, PHP, Python, Ruby와 같은 여러 프로그래밍 언어와 연동이 가능하다.
Apache 주요 특징
- 오픈소스이며 무료
- 모듈을 활용한 기능 확장 가능
- 가상 호스팅(Virtual Hosting) 지원
- 다양한 OS에서 동작 가능
2️⃣ Apache 환경 설정
① 필수 패키지 설치
yum install -y httpd # CentOS/RHEL
apt install -y apache2 # Ubuntu/Debian
② 서비스 시작 및 자동 실행
systemctl enable httpd systemctl start httpd
Apache 서비스 상태 확인
systemctl status httpd
3️⃣ 방화벽 설정
웹 서버가 외부 요청을 수락하도록 방화벽을 설정한다.
① HTTP(80) 및 HTTPS(443) 포트 개방
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
방화벽 상태 확인
firewall-cmd --list-all
4️⃣ Apache 주요 설정 파일
Apache의 환경 설정 파일은 `/etc/httpd/conf/httpd.conf` (CentOS) 또는 `/etc/apache2/apache2.conf` (Ubuntu)이다.
파일 경로 | 설명 |
`/etc/httpd/conf/httpd.conf` | Apache 메인 설정 파일 |
`/etc/httpd/conf.d/*.conf` | 개별 사이트 설정 파일 |
`/var/www/html/` | 기본 웹 페이지 경로 |
`/var/log/httpd/access_log` | 웹 요청 로그 파일 |
`/var/log/httpd/error_log` | 오류 로그 파일 |
5️⃣ 실습
① 포트 포워딩(Port Forwarding)
기본 HTTP 포트(80) 대신 8080 포트에서 웹 서버를 실행하도록 변경한다.
환경 설정 파일 수정
vi /etc/httpd/conf/httpd.conf
...
Listen 8080 # 기존 Listen 80을 주석 처리하고 추가
방화벽에서 8080 포트 허용
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Apache 서비스 재시작
systemctl restart httpd
웹 브라우저에서 접속 테스트
`http://<서버IP>:8080`
정상적으로 웹 페이지가 열리면 성공
② 기본 경로 변경
기본 웹 페이지 경로(`/var/www/html/`)를 새로운 경로(`/home/somaz/`)로 변경한다.
기본 웹 페이지 파일 생성
mkdir -p /home/somaz/ echo "Somaz!!" > /home/somaz/index.html
환경 설정 파일 수정
vi /etc/httpd/conf/httpd.conf
...
DocumentRoot "/home/somaz" <Directory "/home/somaz"> AllowOverride None Require all granted </Directory>
웹 서버가 접근할 수 있도록 권한 변경
chown -R apache:apache /home/somaz chmod -R 755 /home/somaz
Apache 서비스 재시작
systemctl restart httpd
웹 브라우저에서 접속 테스트
`http://<서버IP>`
"Somaz!!"가 출력되면 성공
마무리
Apache 웹 서버는 웹 애플리케이션을 배포할 때 가장 널리 사용되는 HTTP 서버이다.
이번 글에서는 Apache 설치부터 포트 변경, 기본 경로 변경까지 실습을 진행했다.
💡 정리
- Apache 웹 서버는 HTTP 요청을 처리하고 웹 콘텐츠를 제공
- 포트 변경 시 Listen <port> 수정 후 방화벽 개방 필요
- 기본 웹 페이지 경로 변경 시 DocumentRoot 수정 후 권한 변경 필수
- 설정 변경 후에는 반드시 systemctl restart httpd 실행하여 반영
이제 Apache 웹 서버를 활용하여 다양한 웹 애플리케이션을 배포해보자! 🚀
Reference
- man httpd, man apache2
- Apache 공식 문서
'Web Server' 카테고리의 다른 글
WAS(Web Application Server) & Tomcat 설치 및 설정 (2) | 2022.02.11 |
---|---|
Nginx (0) | 2022.02.09 |