Vagrant는 쉬운 개발환경의 구성을 도와주는 오픈소스로서 팀내의 개발환경을 동일하게 유지해야 할 경우 유용하게 사용할 수 있습니다. 



오늘 새 노트북에 개발환경을 구축하기 위해서 Vagrant를 이용하여 설치할 일이 있었기에 진행 과정을 남겨두려고 합니다.

개발환경은  CentOS 6.4 + Apache 2.2.15 + MySQL 14.14 + PHP 5.3.3 + Tomcat 6-6.0.36 로 구성되었습니다.


1) 필수 환경 구성

먼저 자신의 환경에 맞는 아래의 프로그램을 각각 설치합니다.

- VirtualBox : https://www.virtualbox.org/

- Vagrant : http://downloads.vagrantup.com/


2) 가상이미지(box) 설치

- 저는 손에 익숙한 centos 64bit 를 설치하기로 했습니다.

- 다른 이미지를 사용하고 싶은 경우 http://www.vagrantbox.es/ 참고하세요


우선 box 설치

// 형식 : vagrant box add [title] [download-url] 

$ vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box


box 초기화

$ vagrant init centos64


초기화 하고 나면 Vagrantfile 이라는 환경설정 파일이 생깁니다.(제 경우는 C:\Users\Administrator 안에 있네요.)

어디있는지 모를때는 링크를 참고하세요. http://docs.vagrantup.com/v2/vagrantfile/index.html


box 구동하기

$ vagrant up


box 재구동

$ vagrant reload


box 종료

$ vagrant halt


그리고 예상하시는 것처럼 vagrant help 명령으로 더 많은 내용을 확인할 수 있습니다.


vagrant up 명령으로 구동을 마치면 ssh 클라이언트로 접속해서 사용할 수 있습니다. 

ssh 호스트는 localhost 포트는 2222

id : vagrant/ pw : vagrant


3) apache, tomcat, mysql, php 환경구성


- httpd 설치

$ yum install httpd httpd-devel


- php 설치

$ yum install php


- mysql 설치

$ yum install mysql-server mysql


- php mysql 연동

$ yum install php-mysql


- java 설치

$ yum install java-1.6.0-openjdk.x86_64


- tomcat6 설치

wget http://jpackage.org/jpackage50.repo -O /etc/yum.repos.d/jpackage50.repo

$ yum install tomcat6 tomcat6-admin-webapps tomcat6-webapps


설치후 JAVA_HOME 설정

vi /usr/share/tomcat6/conf/tomcat6.conf

JAVA_HOME="/usr/java/jdk1.6.0_45" (각자의 환경에 맞는 JAVA_HOME을 설정해야 합니다.)


4) Vagrantfile 환경설정

- Vagrantfile 에서 apache, tomcat, mysql 포트 포워딩 설정을 아래처럼 변경해 줍니다.


  # guest : vm 머신의 포트 / host : local 포트

  # 아래와 같이 설정하면 localhost 33306 으로 접속할때 vm 머신 3306으로 접속된다.

  config.vm.network :forwarded_port, guest: 3306, host: 33306


  # httpd

  config.vm.network :forwarded_port, guest: 80, host: 8000


  # tomcat6

  config.vm.network :forwarded_port, guest: 8080, host: 9999


설정을 마쳤으면 재 구동합니다.





5) 설치확인

- 테스트 파일을 만들어서 확인해 줍니다.

vi /var/www/html/info.php 

<?php phpinfo(); ?>


http://localhost:8000/info.php

http://localhost:9999/


기타) box와 운영OS의 파일공유

- 설치 후 가상이미지 상의 /vagrant 디렉토리는 윈도우(내 경우)의  C:\Users\Administrator 폴더와 연결되어 있으니 개발 PC와 이미지의 파일공유가 필요하신 경우 사용하시면 됩니다.

- 폴더 공유 관련 설정은 다음 링크 참고. http://docs.vagrantup.com/v2/synced-folders/basic_usage.html


* 접속 문제가 있는경우 iptables 를 변경하거나 중지해 보세요.



+ Recent posts