LoginSignup
4
6

More than 5 years have passed since last update.

Windows 10にVagrantでRails開発環境を構築する

Last updated at Posted at 2017-05-29

諸事情により、WindowsマシンでRailsの開発環境を構築する必要が発生したのでVagrantを利用して仮想環境を構築しました。同じような境遇を迎える後世の人々のためにその手順をここに記しておきます。

構築する環境(2017年5月29日時点)

  • Ubuntu 16.04
  • Ruby 2.4.1
  • Rails 5.0.3
  • DBはPostgreSQL(Windowsにインストール済)

実行したマシンのスペック

Windows 10 Home
バージョン: 1607
OSビルド: 14393.1198

VirtualBox: 5.1.20
Vagrant: 1.9.2
PostgreSQL: 9.5.4

※Vagrantのインストール手順は割愛します。

1. VagrantのVM作成

ubntu 16.04のboxからVMを作成します。

vagrant box add ubuntu1604 https://atlas.hashicorp.com/bento/boxes/ubuntu-16.04/versions/2.3.6/providers/virtualbox.box

mkdir ubuntu1604
cd ubuntu1604

vagrant init ubuntu1604
vagrant up
vagrant ssh

VM内に作業用のディレクトリを作成する。

mkdir -p /home/vagrant/rails

いったんWindowsに戻って、Vagrantfileに以下の設定を追記します。
Windows側に作業用のディレクトリを作成してください。

config.vm.network "private_network", ip: "192.168.33.10"

# ディレクトリは任意
config.vm.synced_folder "c:/rails", "/home/vagrant/rails"

設定を反映させます。

vagrant reload

2. 基本ライブラリのインストール

以下はVagrantのVM内での作業になります。

sudo apt-get install -y g++ make git build-essential libssl-dev libffi-dev libreadline-dev zlib1g-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev libpq-dev

3. rbenvのセットアップ

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

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

source ~/.bash_profile

4. Rubyのインストール

rbenv install 2.4.1
rbenv rehash
rbenv global 2.4.1

基本的なgemとRailsのインストール

gem update --system
gem install bundler
gem install pg -v '~> 0.20.0'
gem install rails --version='~> 5.0.0' --no-ri --no-rdoc

5. Windows側のPostgreSQLの設定変更

WindowsにインストールされているPostgreSQLサーバーに接続するための設定です。
Windows側の [PostgreSQL HOME]\data\pg_hba.conf に以下を追記してPostgreSQLサービスを再起動します。

host    all  all     192.168.0.0/16  password

6. Railsアプリケーションの作成

cd /home/vagrant/rails
rails new rails-pg -d postgresql

C:\rails\rails-pg に作成したRailsアプリケーションのソースが同期されるのでWindows側で編集が可能です。

config/database.yml に以下を記述します。

default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  url: <%= ENV["DATABASE_URL"] %>

次にPostgreSQLへの接続設定として環境変数 DATABASE_URL を設定します。
DATABASE_URL は以下の書式で記述します。

postgres://[user_name]:[password]@[host]:[port]/[database_name]
export DATABASE_URL=postgres://[user_name]:[password]@[host]:[port]/[database_name]

Railsアプリケーションを起動し、 http://192.168.33.10:3000/ でRailsのトップ画面が表示されることを確認します。

rails s

おまけ

Vagrantのprovision機能でRailsのインストールまでを自動化しているので興味がある人は以下のリポジトリを覗いてみてください。

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6