最小構成のVMに色々いれて遊ぶ。
VM環境
- CentOS 6.5
- ネットワーク設定以外はまっさら。
やること
- rubyインストール
- nginxインストール
rubyはせっかくなので流行り(?)のrbenvでバージョン管理する。
コマンドはすべて一般ユーザー(rootじゃない)でやることを想定。
rbenvをいれてruby2.1.0をインストール
とりあえずコンパイルにgccが必要。あとrbenvを落としてくるのにgitが必要。
vimは好きで入れてる。
$ sudo yum -y install gcc git vim
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
.bash_profileの設定を読み込む
$ exec $SHELL -l
次にrbenvにruby-buildプラグインを入れる。あとrubyコンパイル準備。
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ sudo yum -y install libyaml libyaml-devel zlib zlib-devel readline readline-devel openssl openssl-devel libxml2 libxml2-devel libxslt libxslt-devel
いよいよruby2.1.0入れるよ。長いので気長に待つ。
$ rbenv install 2.1.0
$ rbenv rehash
$ rbenv global 2.1.0
nginxをインストール
nginxのインストールと80番ポートをあける。
$ sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
$ sudo yum install nginx
$ sudo vi /etc/sysconfig/iptables #80番ポートをあける
$ sudo /etc/init.d/iptables restart
とりあえずglobalのgemにbundlerだけ入れとく。
こうしておけば、あとはプロジェクトごとにbundle initして、bundle install --path vendor/bundle的なことをすればglobalのgemを汚さないで済む。
$ rbenv exec gem install bundler
$ rbenv rehash
試しにsinatraとsqlite3でも入れて簡易APIサーバーたてる準備(だけ)やってみる
ほげほげと調べたところ、nginx + unicornの組み合わせが良いらしいのでとりあえずunicornも入れとく。
(どうせここで書くのは準備だけ...)
$ sudo yum install -y sqlite-devel
$ mkdir ~/project_name
$ cd ~/project_name
$ bundle init
$ vim Gemfile
gem "sqlite3"
gem "sinatra"
gem "unicorn"
$ bundle install --path vendor/bundle
こんな感じでrubyプロジェクトがんがん作っていける環境ができたよ!