본문 바로가기

개발이야기

Windows 에서 가상머신(Vagrant)으로 Ruby on rails 개발환경 만들기

최근 Ruby on Rails를 공부하면서 윈도우를 주 운영체제로 쓰던 나로서는 설치가 매우 힘들고 운영하기도 불편함을 많이 느끼게 되었다. 어거지로 VI에디터에 나름 적응도 하고 하였지만 매번 회사PC, 집PC, 개인노트북, 회사노트북 여기저기 환경을 옮겨다니면서 매번 세팅을 하다보니 힘든것을 많이 느끼게 되었다. 그래서 그나마 환경을 통일하기 위해 Vagrant를 사용하게 되었다. 개인적으로 Linux는 Ubuntu를 선호하는 관계로 최신버전인 Ubuntu13.04를 기준으로 주로 설치한다. 참고로 Gorails 의 설치 tutorial 때문에 ubuntu 13.04를 선택했다고도 할 수 있다. 이렇게 깔끔한 설치 튜토리얼 정말 찾기 힘들다. ㅎㅎ

아래 안내사항 대로 따라 한다면 당신은 이와 같은 환경에서 개발 할수 있다.

  • OS : Ubuntu 13.04 (CUI - NO GUI)
  • Editor : VIM
  • Ruby : 2.0.0 (2013-08-29 기준)
  • Rails : 4.0 (2013-08-29 기준)

윈도우의 에디터 환경에 너무나도 익숙해서 VI를 사용하기 힘든 분들 이라면 가상머신으로 SSH에 접속해서 에디트를 할 수있는 에디터 환경 세팅을 하시길 바란다. 참고로 본인은 Editplus만 죽어라 쓰고 있음.

설치순서

  1. VirtualBox 설치
  2. Vagrant 설치
  3. Vagrant를 이용한 Ubuntu 13.04 가상머신 설치
  4. 가상머신에 Ruby on rails 개발환경 설치
  5. 가상머신 포트 포워딩 설정
  6. Rails sample Application 생성
  7. Windows의 Editplus에서 직접 수정할수 있도록 설정하기

1. VirtualBox 설치

2. Vagrant 설치

  • http://downloads.vagrantup.com/ 로 접속하여 윈도우용 Vagrant 최신버전(2013-08-29기준 : v1.2.7)을 다운받아서 설치합니다.
  • 설치후 재부팅 시키면 꼭 재부팅합니다. 재부팅안하면 가상머신 설치때 에러가 나더라구요.

3. Vagrant를 이용한 Ubuntu13.04 가상머신 설치

  • 시작 - 실행 - cmd로 커맨드창을 실행합니다.
  • 원하는 디렉토리(예 : c:\myubuntu )로 이동하고 나서 Vagrant Box를 초기화 하고 실행합니다.
    • c:
    • cd \
    • mkdir myubuntu
    • cd myubuntu
    • vagrant init ubuntu13 http://cloud-images.ubuntu.com/raring/current/raring-server-cloudimg-vagrant-amd64-disk1.box
    • vagrant up
    • 위 과정을 하고 나면 virtualbox에 가상머신이 추가되고 실행까지 됩니다.
      • ---------- 제대로 진행되지 않을때 참고사항 -----------------
      • [default] Waiting for VM to boot. This can take a few minutes. 
      • 메세지가 나오면서 계속 멈춰있다면 콘트롤 + C 키를 눌러서 중지를 시키고 vagrant halt 를 입력하여 가상머신을 중지시킵니다.
      • virtual box를 실행시켜서 추가되어있는 myubuntu_default_xxxx 가상머신을 실행시키고 
      • id : vagrant, password : vagrant 를 입력하여 로그인을 하여 봅니다.
      • 로그인이 되면 sudo shutdown -h now를 입력하여 가상머신을 종료시킵니다.
      • 윈도우 커맨드 창에서 다시한번 vagrant up을 입력해봅니다. (저의 경우에는 vagrant up이 한번에 먹히지 않고 위와 같이 해야 제대로 먹혔습니다.)
  • 가상머신에 접속하기 위해서는 SSH에 접속할수 있는 프로그램이 필요합니다. 
    추천하는 Windows용 SSH클라이언트 프로그램은 XShell 입니다.
  • XShell 다운로드페이지로 접속하여 XShell을 다운받아서 설치합니다.
  • XShell을 실행시킨 후에 메뉴에서 파일 - 열기 - 새로만들기를 클릭하여 가상머신으로 접속할 세션을 입력합니다.
    • 이름 : Ubuntu13
    • 호스트 : 127.0.0.1
    • 포트 : 2222
    • 좌측의 연결 - 사용자인증 선택후
      • 사용자이름 : vagrant
      • 암호 : vagrant
  • Xshell을 사용하여 접속을 해 봅니다.

4. 가상머신에 Ruby on rails 개발환경 설치

5. Rails를 이용한 HelloWorld 프로그램을 생성하여 봅니다.

  1. XShell을 이용해 가상머신에 접속
  2. Helloworld 프로그램 생성
    • rails new helloworld
    • cd helloworld
    • rake db:create
    • rails server

6. 가상머신 포트포워딩 설정

  • 윈도우에서 가상머신의 사이트를 보기위해서는 Vagrant에서 포트포워딩을 해야합니다.
  • 참고문서 : Vagrant 메뉴얼 Port Forwarding 페이지 - http://docs-v1.vagrantup.com/v1/docs/getting-started/ports.html
  • 메모장이나 에디터로 가상머신을 생성한 폴더 (c:\myubuntu)안의 Vagrantfile 파일을 열어서 수정합니다.
        config.vm.network :forwarded_port 라고 써져있는 줄 뒤에 원하는 포트를 추가하고 앞의 #으로 되어있는 주석을 제거합니다.     
      • host : 내PC포트
      • guest : 가상머신의 포트
    • 예 - 내PC의 8080포트로 접속 할 경우에 가상머신포트의 3000포트로 연결하고 싶을 경우
       config.vm.network :forwarded_port, guest: 3000, host: 8080
  • 적용하기위해 현재 가상머신을 종료후 다시 시작합니다.
    • 종료 : 윈도우 커맨트 창에서 vagrant halt 입력
    • 시작 : 윈도우 커맨트 창에서 vagrant up 입력

7. Windows의 Editplus에서 직접 수정할 수 있도록 설정하기

  • Editplus를 실행한다.
  • 메뉴 - 파일 - FTP - FTP설정 - 추가
    • 설명 : Ubuntu13
    • FTP 서버 : 127.0.0.1
    • Username : vagrant
    • Password : vagrant
    • 디렉토리 : /home/vagrant
    • 고급옵션 - 기본포트사용 체크해제, 포트번호 : 2222
    • 고급옵션 - sftp사용 체크
  • 왼쪽의 디렉토리창을 이용해서 [ftp0x] Ubuntu13 선택해서 접속하기
  • 파일을 선택하여 직접 수정할 수 있습니다.