焼きぶろぐ

思いついたことをだらだら書いてます

WindowsでRailsの開発環境構築まで

ローカル環境でRails開発環境を作るための手順をまとめました
あくまで参考サイト様の情報をもとに自分の作業内容をコピペでまとめたものですので、正確な情報は参考サイト様へ。。

設定する内容

手順

  1. Vagrantインストール
  2. VirtualBoxインストール
  3. LinuxOSの仮想環境構築(今回はUbuntu)
  4. PuTTy仮想マシンに接続
  5. CyberDuck仮想マシンの構造を確認
  6. Gitインストール(Ruby/Railsインストール用)
  7. Rubyインストール
  8. SQLインストール(今回はPostgre-SQL)
  9. Node.jsインストール
  10. Ruby on Railsインストール
  11. Railsでアプリケーション作成

Vagrantインストール

Vagrant仮想マシンの管理ができるツール

https://www.vagrantup.com/downloads.html

インストール後、コマンドプロンプト

vagrant -v

でバージョンが表示されればOK
場所はどこからでも実行できます

VirtualBoxインストール

VirtualBox仮想マシンの構築ができるツール

https://www.virtualbox.org/wiki/Downloads

LinuxOSの仮想環境構築

今回はUbuntuを採用しています

コマンドプロンプトにてC直下にVagrant専用フォルダを作成し、その中に仮想マシン用のフォルダを作成して移動します

mkdir C:\Vagrant & cd C:\Vagrant
mkdir ubuntu64 & cd ubuntu64

Vagrant初期化

ここでBoxを追加しUbuntuOSで初期化します
BoxはDiscover Vagrant Boxes - Vagrant Cloudで検索します

vagrant box add ubuntu/trusty64
vagrant init ubuntu/trusty64

Vagrantfileを編集

作成されたVagrantfileをテキストエディタで編集し、↓のコメントアウトを外します

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

仮想マシン起動

これでバックグラウンドで仮想マシンが起動します

vagrant up

PuTTy仮想マシンに接続

PuTTy仮想マシンSSH接続するためのツールです(要はコマンドラインです)
ここのPackage filesの64bitMSIをインストールします

Download PuTTY: latest release (0.70)

  • 接続先ホスト名:192.168.33.10
  • 接続先ポート:22
  • ユーザ:vagrant
  • パスワード:vagrant

接続するとvagrant@vagrant-ubuntu-trusty-64:$というところに出ます

CyberDuck仮想マシンの構造を確認

CyberDuck仮想マシン用のエクスプローラみたいなものです

https://cyberduck.io/index.ja.html?l=ja

環境設定

編集>環境設定で接続の設定をします

  • ブラウザタブ
    • ‘.'で始まるファイルを表示にチェック
    • ダブルクリックしたファイルを外部エディタで開くにチェック
  • 外部エディタタブ
  • 接続設定

ここから先はPuTTyでの作業です

Gitインストール(Ruby/Railsインストール用)

OSのアップデート

sudo apt-get update
sudo apt-get upgrade

Gitインストール

最新版だった2.14.1をインストール

sudo apt-get install -y libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
cd
wget https://www.kernel.org/pub/software/scm/git/git-2.14.1.tar.gz
tar -zxf git-2.14.1.tar.gz
cd git-2.14.1
make prefix=/usr/local all
sudo make prefix=/usr/local install
git --version

でバージョンが出ればOK

Rubyインストール

バージョン管理用のRbenv経由でインストールします

GitからRbenvインストール

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo $SHELL
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
which rbenv
rbenv --list

でインストールするRubyのバージョンを確認します
(普通に公式サイトで安定板バージョンを確認しても良い)

Rubyインストール

今回は安定板の2.4.1をインストール
標準の指定バージョンも2.4.1にしておく

rbenv install 2.4.1
rbenv versions
rbenv global 2.4.1
rbenv rehash
rbenv version
which ruby
ruby -v

SQLインストール(今回はPostgre-SQL)

PostgreSQLインストール

$ sudo apt-get install PostgreSQL
$ /etc/init.d/postgresql status

SQLを起動してプロジェクトのロールを準備

sudo -u postgres psql
postgres=# create role projectname with createdb login password 'password';
postgres=# \q

Node.jsインストール

JavaScriptのエンジンが必要なのでNode.jsをインストールします
昔はtherubyracerというジェムが一般的でしたが、v8のエンジンのバージョン関係でインストール時にこけるのでNode.jsをインストールしましょう

$ sudo apt-get install nodejs

Ruby on Railsインストール

gem install rails
which rails
rails -v

Railsでアプリケーション作成

標準はSQLLiteなのでちょっとだけ面倒です

PostgreSQLを指定します

$ rails new projectname -TB --database=postgresql
$ cd projectname

依存関係をインストールしてgemのインストール

$ sudo apt-get install libpq-dev
$ bundle install --path vendor/bundle

PostgreSQLのロールを関連付ける

config/database.ymlを編集

default:
  adapter: postgresql
  encoding: unicode
  pool: 5
  # 以下の3つを追加
  username: projectname
  password: password
  # RailsサーバとPostgreSQLサーバが同じ場合
  host: localhost
development:
  <<: *default
  database: projectname_development
test:
  <<: *default
  database: projectname_test

マイグレーション

$ rails db:migrate
$ rails db:serup

データベースを使ってみる

$ rails g scaffold Post title:string body:text
$ rails db:migrate
$ rails s

サーバ起動

rails server -b 192.168.33.10 -d

参考サイト

Vagrant + VirtualBoxでWindows上に開発環境をサクッと構築する - Qiita

VagrantでUbuntuにRails環境をつくる - Qiita

インストールからRails-PostgreSQL環境を整える - Qiita

ドットインストール

神の参考サイト様のコピペです(土下座)