Railsでアプリケーションが動くところまでをメモしておきます。
環境は
- Ubuntu Server 14.04.2 LTS
- Rails4.x
- ruby 2.2.x
です。
仮想マシン上に
ローカルインストールで下記を参考に構築しました。
rbenv インストールから Bundler を使用した Rails のローカルインストールと起動まで
Ubuntu Server 14.04.2 LTSダウンロード
http://www.ubuntu.com/download/server
メモリ 512MB ディスク 4GBで標準的にインストール。接続のためOpenSSH Serverのみ入れている。
セキュリティアップデート
$ sudo apt-get update
$ sudo apt-get upgrade
各種パッケージのインストール
rubyやRailsのインストールで必要なものを入れておきます。下記はSQLite用。
$ sudo apt-get install git libreadline-dev libssl-dev libsqlite3-dev gcc g++ make
rbenvのインストール
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
$ rbenv --version
バージョンが表示されればOK
ruby-build のインストール
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
インストール可能なバージョンの確認
$ rbenv install -l
rubyインストール
目的のバージョンをインストール。最新のものを使っておけば良いと思います。
$ rbenv install 2.2.2
$ rbenv versions
結果がインストールしたバージョンと同じならOK
ローカルにrubyインストール
$ cd prj
$ rbenv local 2.2.2
$ rbenv versions
バージョンの前に*がついたらOK
bundlerのインストール
$ rbenv exec gem install bundler
$ rbenv rehash
Gemfile初期ファイル作成
$ rbenv exec bundle init
ローカルインストールのためGemfileにRailsを追加
# A sample Gemfile
source "https://rubygems.org"
gem "rails", '4.2.3'
Railsローカルインストール
$ rbenv exec bundle install --path vendor/bundle
Rails プロジェクト作成(SQLite使用)
$ rbenv exec bundle exec rails new project-name --skip-bundle
Rails プロジェクトディレクトリが作成される
不要ファイル削除
ここにできたものは使用しない。プロジェクト用ディレクトリに環境が用意されるのでそちらを使用する。
$ rm -f Gemfile
$ rm -f Gemfile.lock
$ rm -rf .bundle
$ rm -rf vendor
Rails プロジェクトセットアップ
$ cd project-name
プロジェクトディレクトリ移動後はrbenv exec 省略可
Gemfile編集
このままBundlerでGemインストールすると実行時にJavascriptエンジンがなくて実行時エラーになる。その為、therubyracerをインストールする。このgemは依存関係がややこしくなっているらしい。詳細は下記参照。
Gemfileを編集してtherubyracerのコメントを外す。
# See https://github.com/rails/execjs#readme for more supported runtimes
gem 'therubyracer', platforms: :ruby
BundlerでGemインストール
$ rbenv exec bundle install --path vendor/bundle
BundlerでインストールされたGem確認
$ rbenv exec bundle list
therubyracer やlibv8 がうまいことインストールされない場合は、直接バージョンをGemfileで指定すると解決するかもしれない。
libv8は3.11.8.0からリリース 偶数番号はソースのみ、奇数はバイナリ入りになっているので、libv8 gemをGemfileに追加してバイナリ入りのバージョンを指定してみる。
Railsアプリケーションにアクセス
$ rbenv exec bundle exec rails server -b 0.0.0.0
ブラウザでhttp://[server_ip]:3000/にアクセスしてみる。
画面が見れれば動いている、OK。