K’s diary

プログラミング、ビジネスや時事ニュース、経営/人事、音楽や映画について書いていきます

Railsの開発環境構築

はじめに

前回までHomebrew、rbenv、bundler、MySQLなどの記事を書いてきたが、これらの必要なツールを導入していくことがまさにRailsの環境構築です。今回は、これらの導入の手順をまとめていく。

今回は大まかな流れをまとめて、詳細については各記事を参照していただくためのリンクを貼っていく。

開発環境

環境構築の手順

Homebrewのインストール

「Homebrew」のインストールに必要な「コマンド」を使えるようにするための「Command Line Tools」をインストールします。

$ xcode-select --install

もしくは以下のurlからインストール

https://developer.apple.com/download/more/

1)上のリンク先で、ID、passの入力

2)ボックスにチェックして「submit」

3)「Download Tools」を選択

4)「See more downloads」を選択

5)「command line」を検索

6)自身のMacに合わせたものをインストール

次に、Hombebrewをインストールします。

$ cd #ホームディレクトリに移動
$ pwd #移動完了の確認
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
#インストールの実行コマンド

インストールが実行できないときはコマンドが変更された場合があるので、「Homebrewの公式サイト」を確認して下さい。インストールには数分かかります。


途中で要求されるpasswordは自身のMacのpassです。また「Press RETURN to …」と出たら素直にEnterしましょう。


<補足>

もしここで「Agreeing to the Xcode・・・」のエラーが出たら、Xcodeのライセンスへの同意が必要です。

  1. Finderのアプリケーションからxcodeを起動

  2. agreeをクリック

  3. もう一度Homebrewをインストールする

Homebrewがインストールできたかの確認と、最新版へのアップデートをしておきます。

$ brew -v
$ brew update

また、Macのバージョンが10.11.1以上の場合は、ターミナルから以下のコマンドを実行します。

$ sudo chown -R `whoami`:admin /usr/local/bin
ここまでの参考ページ

Homebrewについて調べてみた

rbenvとruby-buildのインストール

以下のコマンドでrbenvとruby-buildをインストールします。

$ brew install rbenv ruby-build

インストール後は以下のコマンドでパスを通し、rbenvがインストールできたかrbenv -vで確認します。

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ rbenv -v

opensslとreadline

次に「openssl」をインストールします。これがないとrbenv環境下でのbundle installでエラーが出ます。

また、ここで併せてコマンドラインの編集機能ツール「readline」をインストールしておきます。bash_profileの文字編集ができるようになります。

$ brew install openssl
$ brew install readline
$ brew link readline --force

rbenvでRubyのインストール

さて次は、さっそくrbenvを利用してRubyをインストールします。

$ rbenv versions
$ rbenv install -l
$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) "
$ RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl) "
$ rbenv install 2.5.1
$ rbenv rehash

この手順では、以下を行なっています。

  1. rbenv -versionで今インストールされているRubyのバージョンの確認

  2. rbenv install -lでインストールできるRubyバージョンの確認

  3. RUBY_CONFIGURE_OPTS=...Rubyの設定ファイル書き込み(openssl、readline関連)

  4. rbenv install 2.5.1で任意のRubyバージョン(2.5.1)のインストール

  5. rbenv rehashでハッシュテーブル再構築し、コマンドを適用させる

以下のコマンドを実行して、インストールできているかを確認します。

$ rbenv versions

rbenv globalでデフォルトで利用するRubyのバージョンを指定しておきましょう。ruby -vでバージョンを確認し設定通りかも確認しましょう。

$ rbenv global 2.5.1
$ ruby -v
ここまでの参考ページ

「rbenv」でRubyのバージョン管理

MySQLのインストール

次にMySQLをインストールしていきます。今回は例として、バージョン5.6系を入れていきます。

$ brew update
$ brew install mysql@5.6

インストールが完了したら、次にいくつかの初期設定を行っていきます。

MySQLのパスを通す

まずは、MySQLをどこからでも操作できるように、以下のコマンドでパスを設定します。

$ echo 'export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
$ which mysql
/usr/local/opt/mysql@5.6/bin/mysql と表示されればOK

次に、MySQLのインストール後の動作確認をしていきます。

$ mysql -version  #表示されればインストールOK
$ mysql.server start  #MySQLの起動
 Starting MySQL
 . SUCCESS!  ←これが表示されればOK
$ mysql -uroot  #MySQLへの接続
 Welcome to the MySQL
 …省略…
mysql>  ←これが表示されて入力待ちになればOK
mysql> exit   #exitコマンドで抜ける
$ mysql.server stop  #MySQL停止

以上のようになれば、問題なく動作しています。

MySQL自動起動設定

次に、P Cを起動すると同時にMySQLが起動するよう、MacOSが提供する「Launchd」ツールを利用した自動起動の設定をしていきます。

$ mkdir ~/Library/LaunchAgents 
$ ln -sfv /usr/local/opt/mysql\@5.6/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql\@5.6.plist 

MySQLサーバーのアクセス権限の初期設定

初めてMySQLをインストールした時のみ、以下のコマンドを実行します。

$ mysql_install_db

これでMySQLデータベース上に権限を設定するための初期テーブルが作成されます。

MySQLのセキュリティ設定

次に、MySQLのセキュリティの設定を行います。以下のコマンドでrootユーザーにパスワードなどの設定を行なっていきます。

なお、ここは飛ばしたとしてもローカルでの開発では支障なく動作します。

$ mysql_secure_installation

(省略) 
Press y|Y for Yes, any other key for No: y 
#「VALIDATE PASSWORD plugin をインストールする?」
# yesの「y」を入力してenter
(省略) 
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0 
# パスワードポリシーはローカル環境ならLOWでOK。
# 本番環境などでは必要に応じて強度の強いMEDIUM,STRONGを設定
(省略)
New password: 
# パスワードを入力してenter 
# パスワードは忘れないように!!
(省略)
Re-enter new password: 
# パスワードを再入力してenter
 (省略)
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y 
# パスワード登録を進めるために「y」を入力してenter
(省略) 
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y 
# 無名ユーザを削除するか?「y」を押してenter
(省略)
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y 
# root のログインをローカルからに制限するか?「y」を押してenter
(省略)
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y 
# test データベースを削除するか?「y」を押してenter
(省略)
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y 
# 権限の変更を更新するか?「y」を押してenter
Success. 
All done!

以下のコマンドでログインできるか確認します。

$ mysql  -uroot -p

パスワードを求めらるので上で設定したパスワードを入力します。

ここまでの参考ページ

MySQLの導入(Railsアプリ)とMySQLのディレクトリ構造

bundlerとRuby on railsのインストール

最後にbundlerとRuby on railsをインストールしていきます。

尚、お好みによってですが、Ruby on railsをシステム環境(rbenv配下)に置かない場合(プロジェクト毎に管理したい場合など)は、以下のgem install rails --version='x.x.x.x'は実行しません。

また、以下のgem install rails --version='x.x.x.x'のx.x..には任意のバージョンを入力して下さい(5.2.2.1など)

具体的にはこの記事の「bundlerの使い方」以降をご参照ください。

$ gem install bundler
$ gem install rails --version='x.x.x.x'
$ rbenv rehash
$ rails -v

インストール後はもう一度rehashして、コマンドを適用させます。最後にrails -vコマンドでインストール出来たかを確認します。

ここまでの参考ページ

bundlerのメリット

bundlerの使い方

最後に

開発環境の構築については、いつかまとめたいと思っていたので、情報がまとまった段階でまとめられて丁度良かった。

関連ページ

Homebrewについて調べてみた

Homebrewコマンドリスト

「rbenv」でRubyのバージョン管理

bundlerについて調べた

bundlerの使い方

MySQLの導入(Railsアプリ)とMySQLのディレクトリ構造