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 upgradeCode language: JavaScript (javascript)各種パッケージのインストール
rubyやRailsのインストールで必要なものを入れておきます。下記はSQLite用。
$ sudo apt-get install git libreadline-dev libssl-dev libsqlite3-dev gcc g++ makeCode language: JavaScript (javascript)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 --versionCode language: PHP (php)バージョンが表示されればOK
ruby-build のインストール
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-buildCode language: PHP (php)インストール可能なバージョンの確認
$ rbenv install -lrubyインストール
目的のバージョンをインストール。最新のものを使っておけば良いと思います。
$ 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 rehashGemfile初期ファイル作成
$ rbenv exec bundle initローカルインストールのためGemfileにRailsを追加
# A sample Gemfile
source "https://rubygems.org"
gem "rails", '4.2.3'Code language: PHP (php)Railsローカルインストール
$ rbenv exec bundle install --path vendor/bundleRails プロジェクト作成(SQLite使用)
$ rbenv exec bundle exec rails new project-name --skip-bundleCode language: JavaScript (javascript)Rails プロジェクトディレクトリが作成される
不要ファイル削除
ここにできたものは使用しない。プロジェクト用ディレクトリに環境が用意されるのでそちらを使用する。
$ rm -f Gemfile
$ rm -f Gemfile.lock
$ rm -rf .bundle
$ rm -rf vendorRails プロジェクトセットアップ
$ 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: :rubyCode language: PHP (php)BundlerでGemインストール
$ rbenv exec bundle install --path vendor/bundleBundlerでインストールされたGem確認
$ rbenv exec bundle listCode language: PHP (php)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。

