Vagrant + Virtual Box + UB12.04 + Rails環境

前言 && 目標

原先都在mac上安裝開發rails的環境,但本機玩一玩後,

想想最後成品還是得放到遠端去讓人打XD

所以想要有一台linux(Ubuntu)的測試機,希望環境可以跟遠端的一樣,

這樣deploy時理論上不會有太多環境轉換的問題(應該啦)。

然後本來想雲端直接開一台來用,但想想也才剛開始學進度緩慢,

開一台CP給它很低,尋找別的方案時就看到方向啦!

[教學]使用Vagrant練習環境佈署
http://gogojimmy.net/2013/05/26/vagrant-tutorial/

雖然強者大大文章寫的很清楚,但有些地方偶還是不太懂啊 QQ

剛好Let's Try Rails Tuesday#1 開始辦,就來去請教(煩)強大的教練們了!

首先了解一下 Virtual Box,Vagrant,vagrantbox.es的關係

  1. VirtualBox 就是VM啦,跟VMWave,Parallels算是同一類的軟體。
    所以先安裝一下,這裡下載

  2. Vagrant 是用來控制VirtualBox的工具。這裡下載
    (VirtualBox本身也有操控的介面可以用,Vagrant提供另一種用法)

  3. Vagrantbox.es 這裡是找各種imagefile的地方。

點進去看後,選擇太多但根本不知道要找怎樣的版本啊Orz,
只確定我要ubuntu 經過教練開示

3-1.如果不想一直更新os版本的話,可以用長期支援版本(LTS)
3-2.找跟自已機器同個規格cpu的版本,以我的來講就是 x86_64啦
3-3.找有Guest Additions的之後用比較方便。Guest Additions 說明
3-4.因為要練習裝機器用,所以找個乾淨的版本(no Puppet, Chef,Ruby…etc)

上面的Virtual Box,Vagrant安裝好後,就可以來開始啦
簡單的在Vagrantbox.es站上選了這個版本用 ub-12-amd64
先來看一下我們安裝好後的vagrant 版本

$ vagrant -v #Vagrant 1.3.3

然後來把剛找好的image box加入

$ vagrant box add ub-12-amd64 http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box

ub-12-amd64 是你幫這個box image取的名字,然後就會開始下載box了
等下載完後 可以打

$ vagrant box list #可以看到你機器上有那一些image box

UB-12-10 (virtualbox)
precise_64 (virtualbox)

然後找個要建Virtual Machine的地方

mkdir ~/tmp/ub_no3
cd ~/tmp/ub_no3
vagrant init ub-12-amd64

它就會自已在目錄底下幫你產生一個名叫 Vagrantfile 的檔案,
內容先不管它先來把機器開起來吧!
打上 vagrant up 等它一下等等機器就會開好囉!
開起來後,直接ssh進去吧, vagrant ssh
就成功的開好一台 ubuntu囉!!(開心)(系統預設的account/pwd 都是vagrant)


接下來~我們來安裝系統吧!

$ sudo apt-get -y update
$ sudo apt-get upgrade
$ sudo apt-get --no-install-recommends -y install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev libgdbm-dev ncurses-dev automake libtool bison subversion pkg-config libffi-dev vim imagemagick libmagickwand-dev

$ sudo apt-get install mysql-server libmysqlclient15-dev
$ \curl -L https://get.rvm.io | bash -s stable
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >>~/.bashrc

$ source ~/.bashrc $ rvm -v
$ vim ~/.gemrc
$ gem: --no-ri --no-rdoc  #加入這行
$ rvm pkg install readline openssl
$ rvm install 2.0.0
$ rvm use 2.0.0 --default
$ ruby -v
$ gem install rails

$ rails -v

結束!!! 有一台ub可以用了!

ps.vagrant可以指定box image裡哪個目錄要跟mac裡哪個目錄分享/同步檔案
所以可以把二邊跑的ruby/rails版本設一致後,開發的rails app
可以在mac裡run,也可以在ub上run,真的是很方便啊!!!

你可能感兴趣的:(Vagrant + Virtual Box + UB12.04 + Rails環境)