2026-04-10

Vagrant — CentOS에 웹사이트 구축하기

실습 목표

CentOS VM에 웹 서버(httpd)를 설치하고, HTML 템플릿을 배포하는 과정이다.


VM 생성

# 프로젝트 디렉토리 생성 mkdir website cd website # 로컬에 다운로드된 box 목록 확인 vagrant box list # CentOS box로 Vagrantfile 초기화 vagrant init bandit145/centos_stream9_arm

vagrant box list는 로컬에 이미 다운로드된 Vagrant box 목록을 보여준다. vagrant init은 지정한 box 기반으로 Vagrantfile을 생성한다.


패키지 설치 및 웹 서버 실행

# VM 접속 vagrant ssh # 패키지 설치 sudo yum install httpd wget vim unzip zip -y # httpd 시작 및 부팅 시 자동 실행 등록 sudo systemctl start httpd sudo systemctl enable httpd

systemctl start는 지금 바로 서비스를 시작하고, systemctl enable은 VM 재부팅 시에도 자동으로 시작되도록 등록한다.


방화벽 설정

httpd를 실행해도 호스트 PC 브라우저에서 접속이 안 될 수 있다. CentOS는 기본적으로 firewalld가 활성화되어 있어서 허용하지 않은 포트는 외부 접근을 차단하기 때문이다.

# HTTP(80번 포트) 허용 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload

실습 환경에서는 방화벽 자체를 비활성화할 수도 있다.

sudo systemctl stop firewalld sudo systemctl disable firewalld

HTML 템플릿 배포

tooplate.com에서 템플릿을 다운로드한 뒤 압축을 풀고, /var/www/html/에 파일을 배치한다.

# 템플릿 다운로드 및 압축 해제 cd /tmp wget <템플릿 URL> unzip <파일명>.zip # 웹 서버 문서 루트에 배포 sudo cp -r <템플릿 폴더>/* /var/www/html/ # httpd 재시작 sudo systemctl restart httpd

호스트 PC 브라우저에서 VM의 IP(192.168.33.10)로 접속하면 템플릿 페이지가 표시된다.