CentOS VM에 웹 서버(httpd)를 설치하고, HTML 템플릿을 배포하는 과정이다.
# 프로젝트 디렉토리 생성
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
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)로 접속하면 템플릿 페이지가 표시된다.