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 를 변경하거나 중지해 보세요.
'오픈소스SW' 카테고리의 다른 글
오픈소스 거버넌스 (0) | 2016.09.29 |
---|---|
공개SW 개발자대회 멘토링 이야기 (0) | 2014.08.03 |
오픈소스SW 라이선스 LGPL 바로알기 (8) | 2013.10.24 |
공개SW 클라우드 플랫폼 (0) | 2012.07.28 |
레드마인 - CentOS 5.x + Redmine 2.x 설치 (0) | 2012.07.11 |