ubuntu and rails image

ubuntu and rails

Ubuntu16.04 ServerにRuby On Rails5をインストールする手順について説明します。
Ruby on Railsに必要なRubyはrbenvを使って、バージョンを管理できるようにインストールします。

 環境

  • OS: ubuntu 16.04 64bit
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
  • ruby: 2.4.0
  • rails: 5.0.2
  • DB: PostgreSQL9.6

 インストール手順

Ruby On Railsのインストール手順について説明します。

パッケージのインストール

必要なパッケージをインストールします。

$ sudo apt-get install git -y
$ sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libpq-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

 Rubyのインストール

Rubyのバージョン管理ソフト「rbenv」をインストールします。

$ cd
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv

ユーザーの初期化コマンドを記述します。

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ exec $SHELL

ruby-buildをインストールします。

$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
$ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
$ exec $SHELL

rbenvでインストール可能なリストを表示します。

$ rbenv install -l

.
.
2.4.0-preview2
2.4.0-preview3
2.4.0-rc1
2.4.0
2.5.0-dev
.
.

rbenvでrubyのバージョンを指定してインストールします。

$ rbenv install 2.4.0

アンインストールしたい時は以下のコマンドを実行します。

$ rbenv uninstall 2.4.0

システムで使用しているrubyのバージョンを確認します。

$ rbenv global
system

現在はシステム標準のrubyが割り当てられているので変更します。

$ rbenv global 2.4.0
$ rbenv global
2.4.0
$ rbenv rehash

gemをインストールした後のrbenv rehashを自動化します。

このままではgemをインストールまたはアンインストールするたびにrbenv rehashする必要がある
これを自動化してくれるrbenv-rehashというgemがあるのでインストール

$ gem i rbenv-rehash

プロキシを使っている場合は、以下のようにオプションに-pをつけて、プロキシ情報をつけて実行します。

$ gem i rbenv-rehash -r -p http://[username]:[port]@[proxy url]:[port]

 Ruby On Railsのインストール

依存関係の解決のためNode.jsをインストール

$ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
$ sudo apt-get install -y nodejs

gemが自動で作成するri rdocドキュメントを無効化します。

$ echo 'install: --no-rdoc --no-ri' >> ~/.gemrc
$ echo 'update: --no-rdoc --no-ri' >> ~/.gemrc

インストール可能なrailsのバージョンを検索します。

$ gem list -ra
.
.
rails (5.0.2, 5.0.1, 5.0.0.1, 5.0.0, 4.2.8, ...)
.
.

バージョンを指定してrailsをインストールします。

$ gem install rails -v 5.0.2

 PostgreSQLのインストール

本格的に運用する場合は、DBはPostgreSQLを利用
公式リポジトリを追加し、最新のバージョンをインストールします。

$ sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
$ wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install -y postgresql-common
$ sudo apt-get install -y postgresql-9.6 libpq-dev

DBにユーザーを作成します。

$ sudo -u postgres createuser [username] -s

ユーザーにパスワードを設定する場合は以下のように実行します。

$ sudo -u postgres psql
postgres=# \password [username]
postgres=# \q

  Railsプロジェクトの作成

アプリケーションの作成手順について説明します。

事前準備

プロキシ環境の場合は以下を実行しておくこと

$ export http_proxy=http://[proxy user name]:[password]@[proxy URL]:[port]

SQLiteを使う場合

デフォルトでは利用するDBがSQLiteに設定されています。
手軽に使えて便利ですが、性能的には非推奨です。

$ rails new myapp
$ cd myapp

アプリケーションのデータベースを作成します。

$ rake db:create

PostgreSQLを使う場合

データベースにpostgresqlを指定してアプリケーションを作成します。

$ rails new myapp -d postgresql
$ cd myapp

データベースにユーザー名/パスワードを設定した場合、以下のファイルを設定します。

$ cp -p config/database.yml config/database.yml.org #バックアップ
$ vi config/database.yml
# PostgreSQL. Versions 9.1 and up are supported.
.
.
default: &default
  adapter: postgresql
  username: [username]
  password: [userpassword]
  port: 5432
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  # RailsサーバとPostgreSQLサーバが同じ場合
  host: localhost

development:
  <<: *default
  database: myapp_development
  username: [username]
  password: [password]
  host: localhost
  schema_search_path: myapp,sharedapp,public
  min_messages: notice

test:
  <<: *default
  database: myapp_test

production:
  <<: *default
  database: myapp_production
  username: [username]
  password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>

アプリケーションのデータベースを作成します。

$ rake db:create

アプリケーションを起動します。

$ rails s -b 0.0.0.0

アクセスを確認

以下のURLにアクセスできれば正常に構築が完了しています。
http://railsサーバーのIPアドレス:3000

success install ruby on rails 5

アンインストール方法

rubyもRailsを消したい場合、 gem, apt-getで入れたものを削除することに加え以下を実行

$ gem uninstall railties '5.0.2'
$ rm -rf /usr/local/lib/ruby
$ rm -rf /usr/lib/ruby
$ rm -f /usr/local/bin/ruby
$ rm -f /usr/bin/ruby
$ rm -f /usr/local/bin/irb
$ rm -f /usr/bin/irb
$ rm -f /usr/local/bin/gem
$ rm -f /usr/bin/gem

 運用知識

rbenvのアップグレード

以下のコマンドで、rbenvを最新状態へアップグレードします。

$ cd ~/.rbenv
$ git pull

アプリケーションごとにrubyのバージョンを指定

アプリケーションごとにrubyのバージョンを指定する場合はテキストにバージョンを指定します。

$ mkdir rbenv-test
$ cd rbenv-test
$ vi .ruby-version
$ cat "2.3.1" > .ruby-version

まとめ

以上でUbuntuにRuby On Railsがインストールできました。
次回は、サンプルアプリケーションの作成方法を説明します。