아파치 설치 및 SSL/TLS 설정 후 아파치의 가상호스트를 설정하는 방법을 알아보겠습니다.
아파치의 기본 설정이 안되어 있으면 아래 링크를 참고하여 설정을 마무리해주세요.
포스팅 목차
1. 기본 디렉토리 구조 생성
각 가상호스트를 위한 디렉토리 생성 및 테스트용 index.html 파일 생성후에 각 호스트 파일의 권한 설정을 진행.
# 각 가상호스트를 위한 디렉토리 생성
mkdir -p /var/www/site1
mkdir -p /var/www/site2
# 테스트용 index.html 파일 생성
echo "Welcome to Site 1" | sudo tee /var/www/site1/index.html
echo "Welcome to Site 2" | sudo tee /var/www/site2/index.html
# 권한 설정
chown -R apache:apache /var/www/site1
chown -R apache:apache /var/www/site2
chmod -R 755 /var/www/site1
chmod -R 755 /var/www/site2
2. 가상호스트 설정 파일 생성
가상 호스트 설정파일 수정을 진행
# 설정 파일 생성
nano /etc/httpd/conf.d/vhost.conf
# 첫 번째 가상호스트
<VirtualHost 172.16.117.120:80>
ServerAdmin webmaster@site1.com
DocumentRoot "/var/www/site1"
ServerName site1.local
ErrorLog "logs/site1-error_log"
CustomLog "logs/site1-access_log" combined
<Directory "/var/www/site1">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# 두 번째 가상호스트
<VirtualHost 172.16.117.120:8080>
ServerAdmin webmaster@site2.com
DocumentRoot "/var/www/site2"
ServerName site2.local
ErrorLog "logs/site2-error_log"
CustomLog "logs/site2-access_log" combined
<Directory "/var/www/site2">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
8080 포트
- HTTP의 대체 포트웹 서버의 대체 포트로 자주 사용
- 개발 및 테스트 환경에서 흔히 사용
주요 설정 항목 설명
ServerAdmin : 관리자 이메일 주소
DocumentRoot : 웹 문서 루트 디렉토리
ServerName : 가상호스트의 도메인 이름
ErrorLog : 오류 로그 파일 위치
CustomLog : 접근 로그 파일 위치
Directory : 디렉토리별 접근 권한 설정
3. 포트 추가 설정 (8080 포트 사용)
# Listen 디렉티브 추가
echo "Listen 8080" | sudo tee -a /etc/httpd/conf/httpd.conf
# 방화벽 설정
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
4. Apache 재시작
모든 설정이 완료되면 서비스 재시작 후 웹 페이지 접근을 시도합니다.
# Apache 재시작
sudo systemctl restart httpd