본문 바로가기

Development/Servers

로컬 개발환경 세팅

버추얼박스로 우분투를 세팅하여 로컬피시에 세팅하던 개발환경을 모두 버추얼박스에 설치된 우분투로 옮기게 되었다.


* 우분투 서버 세팅 관련 : 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 와 개발툴만 설치하기로 한다.

개발/테스트에 필요한 서버 툴은 모두 가상환경의 서버에서 구동하기로 한다.


- 설치과정

  1. 오라클 버추얼박스 : 설치시 몇가지 옵션이 있는데 네트워크 관련 부분의 내용을 정확하게 파악하지 못하여 대강 설치함. 모든 옵션을 제외하고 네트워크 관련 부분만 설치하였음 (파이썬 모듈이나 USB 모듈은 설치안함)
    * 몇번의 재설치과정을 통해서 네트워크어댑터를 NAT 방식으로 했을 경우에는 네트워크부분 모두 설치하지 않아도 됩니다.

    (아래 그림 참고)


  2. 우분투 1204 x64 : 호스트OS 가 윈도우즈7 x86 (32bit) 지만 64bit OS 를 설치할 수 있기 때문에 우분투.컴 에서 추천하는 우분투 1204.1 64bit 서버버전을 다운로드 (32bit 버전에서 버추얼박스 공유폴더 마운트 되지 않는 문제 발생합니다)

  3. 버추얼박스에서 우분투 1204 설치 : 다운로드한 우분투 ISO 파일을 가상드라이브로 마운트하여 설치 (시디를 구울필요가 없음)

    1. 버추얼박스에서 우분투 세팅

    2. 공유폴더(소스코드가 담긴 로컬피시의 디렉토리를 공유폴더로 지정하였음)

    3. 포트포워딩(80->8080, 22->22, 3000->3000, 3001->3001, 9000->9000, 9001->9001 로 바인딩만 해줌, 로컬피시의 서비스가 없어서 문제되지 않았음)

  4. 가상환경의 우분투 세팅 : 개발을 위한 패키지들 설치

    1. 우선 버추얼박스 공유폴더를 마운트하기 위해 virtualbox-ose-guest-utils 를 설치해야함
      sudo apt-get install virtualbox-ose-guest-utils

    2. 마운트 스크립트
      mount -t vboxsf -o uid=1000,gid=1000,dmode=0755,fmode=0755 repository /media/repository

    3. 서버가 구동될 때 자동으로 마운트 하기 위해 rc.local 에 추가
      /etc/init.d/rc.local

    4. 심볼릭 링크
      ln -s /media/repository repos

    5. nginx 최신 : http://nginxlibrary.com/ubuntu-latest-nginx/

    6. 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 으로 설치하면 된다.

    7. nodejs 최신 : https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

    8. oracle jdk 설치 : http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
      여러가지 방법이 있지만(기존 포스팅한 내용도 있지만) 위 방법이 가장 깔끔해 보임

    9. 위 과정 요약

      $ 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


    10. 그 외 imagemagick 이나 zsh 등 필요한 툴이 계속 설치될 예정
      zsh 은 prezto, bash 는 bash-it 을 사용하면 된다.

  5. 적당히 설치하고 잘 작동하는지 확인 후 버추얼박스헤드리스 운영을 위해 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


우분투 서버설치.docx