이번 실습에서는 리눅스 환경에서 가장 널리 쓰이는 웹 서버인 Apache(아파치)를 설치하고, 가상 호스트 설정 및 SSL 인증서 적용(Cerbot)을 자동화 스크립트와 함께 구성하였다. HTTPS 기반의 안전한 웹 서비스 환경을 만들기 위한 핵심 단계였다.
1. Apache란?
Apache HTTP Server는 오픈소스 기반의 웹 서버 소프트웨어로, 전 세계에서 가장 많이 사용되고 있다.
- 다양한 운영체제 지원 : Linux, Unix, Windows 등
- 정적 웹 서버로도 활용 가능하고, PHP나 MySQL 연동을 통해 동적 웹 서버로 확장 가능.
- 설정이 유연하고 커스터마이징이 쉬움.
2. Apache 설치
apt update
apt install apache2
설치 후 서비스 상태 확인 및 시작:
systemctl start apache2
systemctl enable apache2 # 부팅 시 자동 시작
웹 브라우저에서 http://서버 IP로 접속하면 기본 Apache 인덱스 페이지가 출력됨.
3. Apache 주요 설정 파일 구조
위치 | 설명 |
/etc/apache2/apache2.conf | 전체 기본 설정 |
/etc/apache2/envvars | 환경 변수 설정 |
/etc/apache2/ports.conf | 리스닝 포트 지정(기본 80) |
/etc/apache2/sites-available/ | 가상 호스트 설정 파일 위치 |
/etc/apache2/sites-enabled/ | 활성화된 가상 호스트 링크 |
/etc/apache2/mods-enabled/ | 활성화된 모듈 목록 |
4. 가상 호스트 설정
Apache는 하나의 웹 서버에서 여러 도메인이나 서비스를 분리하여 운영할 수 있도록 가상 호스트(VirtualHost) 기능을 제공한다.
설정 예시
<VirtualHost *:80>
ServerAdmin webmaster@ahhyun.me
ServerName ahhyun.me
ServerAlias www.ahhyun.me
DocumentRoot /var/www/ahhyun.me
</VirtualHost>
5. 여러 포트에서 리스닝 가능
Apache는 기본적으로 80 포트를 사용하지만, /etc/apache2/ports.conf 파일을 수정하면 여러 포트(8080,8888 등)에서 동시에 서비스가 가능하다.
6. Certbot을 활용한 SSL 인증서 설치
Let's Encrypt의 무료 인증서를 발급받고 Apache에 적용할 수 있다.
설치 및 실행
apt install certbot python3-certbot-apache
certbot --apache
=> 이메일과 도메인 입력 후 자동으로 인증서 설치 및 default-ssl.conf 수정
7. 자동화 스크립트로 Apache + SSL 설정
#!/bin/bash
apt update
apt install apache2 ufw -y
systemctl enable apache2
systemctl start apache2
# Certbot 설치 및 인증서 발급
apt install certbot python3-certbot-apache -y
certbot --apache
# 기본 SSL 설정 파일 백업 및 수정
cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
# ServerName과 DocumentRoot 수정
sed 's|ServerAdmin webmaster@localhost|ServerAdmin webmaster@localhost\nServerName ahhyun.me|' -i /etc/apache2/sites-available/default-ssl.conf
sed 's|DocumentRoot /var/www/html|DocumentRoot /var/www/ahhyun.me|' -i /etc/apache2/sites-available/default-ssl.conf
# SSL 모듈과 사이트 활성화
a2enmod ssl
a2ensite default-ssl.conf
# Apache 재시작
service apache2 restart
기능
- Apache 설치 및 시작
- Cerbot 인증서 자동 발급 및 적용
- SSL 가상 호스트 설정 수정
- 포트 허용 및 방화벽 구성
- HTTPS 완전 자동 설정 완료
8. 마무리
이번 실습에서는 Apache 웹 서버 설치부터 HTTPS 적용까지 웹 서비스 설정 흐름 전체를 경험할 수 있었다.
특히, SSL 인증서를 자동으로 설정하는 스크립트를 통해 효율성 있게 웹 서버를 관리하는 방법도 배울 수 있었다.
이 블로그는 불법 해킹 및 악의적인 활동을 지양하며, 그런 행위는 절대 권장하지 않습니다.
모든 실습은 허가된 환경에서만 진행해야 하며, 법적 책임은 사용자 본인에게 있습니다.
'리눅스 서버 구축' 카테고리의 다른 글
리눅스 네트워크 서버 - MariaDB 설치 및 사용자 권한 설정 실습 (2) | 2025.05.28 |
---|---|
리눅스 네트워크 서버 - Nginx 웹 서버 설치 및 가상 호스트 설정 (0) | 2025.05.28 |
리눅스 핵심 네트워크 서버 - BIND DNS 구축 실습 (0) | 2025.05.27 |
리눅스 Application 네트워크 서버 - Tomcat 설치 및 자동 실행 설정 (4) | 2025.05.27 |
리눅스 Application 네트워크 서버 - DHCP 서버 구축 및 설정 실습 (0) | 2025.05.25 |