中年プログラマーの息抜き

ブログをはじめました。気の向くままにプログラム関連ネタをメモしていきます。

Ruby:Windows+CentOS7:Ruby on Rails 開発環境を構築

f:id:tm-b:20160422025945j:plain

はじめに

今回は、Win10とゲストOS(CentOS7)を利用した環境構築のご紹介です。rbenv、ruby-buildなどのツールは利用しない環境で、リモートデバッグができるところまでをまとめました。(以下、長くなったので細かい部分を省略してます。)

環境

・ホストOS:Windwows+Hyper-V(ユーザ名=user、ユーザパスワード:pass、ドメイン名:localdomain、IPアドレス=10.10.10.10、共有フォルダ=C:\Users\Public\MyProject)

・ゲストOS:IPアドレス=10.10.10.11、CentOS7Ruby 2.4.1node-v8.3.0、MySQL5.7系、Rails5系

OS準備

CentOS上へMySQLがセットアップされており、SSH可能なゲストがあったので、そこへ「libyaml-devel git」をyum経由で追加しました。もし「gcc-c++ glibc-headers openssl-devel readline readline-devel zlib zlib-devel」などが入っていなければインストールするか、それと同等の状態を作ってください。

ユーザー作成

今回のプロジェクト用に新規ユーザー「rubytest」を作成します。また、ホームディレクトリ内へ環境を作りますので、マウント先「/home/rubytest/mnt」も作成してください。

プロジェクト共有

マウントコマンド「/usr/bin/mount -t cifs //10.10.10.10/MyProjects /home/rubytest/mnt -o username=user,password=pass,domain=localdomain,defaults,uid=rubytest,gid=rubytest,file_mode=0700,dir_mode=0700」を「/etc/rc.local」へ追加しました。

コンパイル

Rubyを「/home/rubytest」へインストールします。
wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
./configure --prefix /home/rubytest --with-opt-dir=/usr/local/openssl --enable-shared
make && make install && chown -R rubytest:rubytest /home/rubytest

Node.JSを「/home/rubytest/node」へインストールします。
wget http://nodejs.org/dist/v8.3.0/node-v8.3.0.tar.gz
./configure --prefix=/home/rubytest/node
make && make install && chown -R rubytest:rubytest /home/rubytest/node

環境変数

設定ファイルの「~/.bash_profile」へ追加します。
export RUBY_HOME=$HOME
export NODE_HOME=$HOME/node
export NODE_PATH=$NODE_HOME/lib/node_modules
export PATH=$NODE_HOME/bin:/usr/local/mysql/bin:$PATH

GEMまわり

Ruby領域へ「bundler、ruby-debug-ide debase」をGEMでインストールします。アプリ領域へ「rails」などをインストールすればよいと思います。今回は、Gemfileを使って「bundle install --path=vendor/bundle」を実行しました。 もし、mysql2でエラーが出たら「bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config」で解決するかもしれません。

Rails起動確認

スタートコマンド「bin/rails s -b 0.0.0.0 -p 3000」を実行すると、Railsが起動するので、ブラウザから「http://10.10.10.11:3000」へアクセスすると、Welcome画面が表示できると思います。 

f:id:tm-b:20170812022144p:plain

リモートデバッグ

スタートコマンド「rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails s -b 0.0.0.0 -p 3000」を実行すると、Railsが起動するので、RubyMineからリモートデバッグを開始して、ブラウザから「http://10.10.10.11:3000」へアクセスすると、Welcome画面が表示できると思います。

まとめ

Node.JSのコンパイルが1時間くらいかかりました。この作業するときだけでも、ゲストOSの資源(メモリ、CPU)を増強したほうが早く終わるかもしれませんね。

d(`Д´)b39