버추얼박스로 우분투를 세팅하여 로컬피시에 세팅하던 개발환경을 모두 버추얼박스에 설치된 우분투로 옮기게 되었다.
* 우분투 서버 세팅 관련 : http://faultnote.tistory.com/336
지난상황
- 로컬피시 : mysql + nginx + php-fpm 의 PHP 구동 환경
- 로컬피시 : nodejs
- 로컬피시 : IDE + Database Manager
- 개발서버 1 : apache + php + mysql (이하 apm) 환경
- 개발서버 2 : nodejs + mongo
현재상황
- 로컬피시 : IDE + Database Manager
- 로컬피시 : 버추얼박스 + 우분투 1204 서버
- 가상환경 : nginx + nodejs + php-fpm
- 개발서버 : mysql + mongo + redis (데이터베이스 서버로만 사용)
로컬피시 작업 과정
- 목적
호스트 피시는 IDE 와 개발툴만 설치하기로 한다.
개발/테스트에 필요한 서버 툴은 모두 가상환경의 서버에서 구동하기로 한다.
- 설치과정
- 오라클 버추얼박스 : 설치시 몇가지 옵션이 있는데 네트워크 관련 부분의 내용을 정확하게 파악하지 못하여 대강 설치함. 모든 옵션을 제외하고 네트워크 관련 부분만 설치하였음 (파이썬 모듈이나 USB 모듈은 설치안함)
* 몇번의 재설치과정을 통해서 네트워크어댑터를 NAT 방식으로 했을 경우에는 네트워크부분 모두 설치하지 않아도 됩니다.
(아래 그림 참고) - 우분투 1204 x64 : 호스트OS 가 윈도우즈7 x86 (32bit) 지만 64bit OS 를 설치할 수 있기 때문에 우분투.컴 에서 추천하는 우분투 1204.1 64bit 서버버전을 다운로드 (32bit 버전에서 버추얼박스 공유폴더 마운트 되지 않는 문제 발생합니다)
- 버추얼박스에서 우분투 1204 설치 : 다운로드한 우분투 ISO 파일을 가상드라이브로 마운트하여 설치 (시디를 구울필요가 없음)
- 버추얼박스에서 우분투 세팅
- 공유폴더(소스코드가 담긴 로컬피시의 디렉토리를 공유폴더로 지정하였음)
- 포트포워딩(80->8080, 22->22, 3000->3000, 3001->3001, 9000->9000, 9001->9001 로 바인딩만 해줌, 로컬피시의 서비스가 없어서 문제되지 않았음)
- 가상환경의 우분투 세팅 : 개발을 위한 패키지들 설치
- 우선 버추얼박스 공유폴더를 마운트하기 위해 virtualbox-ose-guest-utils 를 설치해야함
sudo apt-get install virtualbox-ose-guest-utils - 마운트 스크립트
mount -t vboxsf -o uid=1000,gid=1000,dmode=0755,fmode=0755 repository /media/repository - 서버가 구동될 때 자동으로 마운트 하기 위해 rc.local 에 추가
/etc/init.d/rc.local - 심볼릭 링크
ln -s /media/repository repos - nginx 최신 : http://nginxlibrary.com/ubuntu-latest-nginx/
- php 5.4 : http://www.barryodonovan.com/index.php/2012/05/22/ubuntu-12-04-precise-pangolin-and-php-5-4-again
- http://blog.bloodcat.com/181
- http://www.ubuntu.or.kr/viewtopic.php?p=32238
- http://www.xpressengine.com/serverClass/19558170
참고하여 세팅
그리고 GD 나 MySQL 관련 파일들도 apt-get 으로 설치하면 된다. - nodejs 최신 : https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
- oracle jdk 설치 : http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
여러가지 방법이 있지만(기존 포스팅한 내용도 있지만) 위 방법이 가장 깔끔해 보임 - 위 과정 요약
$ sudo -i
$ apt-get install python-software-properties
$ add-apt-repository ppa:nginx/stable
$ add-apt-repository ppa:chris-lea/node.js
$ add-apt-repository ppa:ondrej/php5
$ add-apt-repository ppa:webupd8team/java - 그 외 imagemagick 이나 zsh 등 필요한 툴이 계속 설치될 예정
zsh 은 prezto, bash 는 bash-it 을 사용하면 된다. - 적당히 설치하고 잘 작동하는지 확인 후 버추얼박스헤드리스 운영을 위해 vboxvmservice 설치 : 윈도우가 실행되면 버추얼박스 구동하지 않고 지정된 가상환경이 로딩됨
http://sourceforge.net/projects/vboxvmservice/
사용된 vboxvmservice.ini
[Settings]
ServiceName=VBoxVmService
VBOX_USER_HOME=C:\Users\Administrator\.VirtualBox
RunWebService=no
PauseShutdown=5000
[Vm0]
VmName=Ubuntu
ShutdownMethod=savestate
AutoStart=yes
- 결과
피시를 켜면 우분투 가상환경이 아무도 모르게 구동되어 있다.
ssh 접속하여 테스트서버 작업하듯 작업할 수 있고
공유된 소스코드 폴더에 로컬개발환경에서 작업하듯 코딩하고 저장하면 가상환경 서버에 그대로 반영된다.
- 주의점
vboxvmservice 를 종료하기 전까지 버추얼박스 GUI 툴을 구동할 수 없다. 따라서 기본적인 가상환경 세팅(버추얼박스 우부툰 세션의 메모리, 디스크 크기, 네트워크 설정 등)을 마치고 사용하시길 권함.
- 팁
오라클버추얼박스 설치파일 실행이 안되요 : http://yoonhg84.tistory.com/156
'Development > Servers' 카테고리의 다른 글
Nginx 프록시 모드 세팅 점검 (0) | 2013.05.15 |
---|---|
아파치 웹서버를 엔진엑스로 교체하기 (3) | 2013.05.09 |
엔진엑스nginx 에 SSL 세팅하기 (0) | 2013.03.19 |
mongoDB 사용자 계정 관련 (0) | 2013.02.13 |
PHP 로컬 웹서버 테스트 (0) | 2013.01.30 |