CentOS6.2でRuby on Rails

前回に引き続いてさくらサーバー上のCentOS6.2にRuby on Railsの環境構築をしていきます。

RVMのインストール

http://cloud-berry.jp/wordpress/?p=181を参考にCurlを使ってインストール。

$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )

~/.bash_profileにrvmを読み込むための記述が追加されるのでsource。

$ source ~/.bash_profile

rvmに必要なライブラリの確認。

$ rvm requirements

メッセージにあるとおりにライブラリをインストール。よくわからんけど↓をコピペ。

$ sudo yum install gcc-c++ patch readline readline-devel \
zlib zlib-devel libyaml-devel libffi-devel openssl-devel \
make bzip2 autoconf automake libtool bisoh glibc

Rubyの1.9.3をインストール。「$ rvm requirements」で出たのがまた出て「続けるにはqを押せ」とか言われた。

$ rvm install 1.9.3
$ rvm use 1.9.3

デフォルトのバージョンを設定する場合は以下。

$ rvm use 1.9.3 --default

ローカルで作ってたアプリがRuby1.8.7だったので1.8.7を入れる

$ rvm install 1.8.7
$ rvm use 1.8.7

次はMySQLを使いたいのでインストール。忘れがちな記憶へ CentOS6.2にmySQL Community Serverをインストールを参考に

$ rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
$ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

MySQLをインストール

$ yum --enablerepo=remi,epel install mysql
$ yum --enablerepo=remi,epel install mysql-server

MySQLを起動

$ sudo /etc/init.d/mysqld start
$ sudo chkconfig mysqld on
$ mysql

rootユーザ以外にユーザ作ってmy.cnfファイルも用意(省略)。あと、ソケットがどこにあるか確認しておく。ローカルのUbuntuと場所が違ってdatabase.ymlではまった。

mysql> status
                          • -
mysql Ver 14.14 Distrib 5.5.25, for Linux (x86_64) using readline 5.1   ・   ・   ・ UNIX socket: /var/lib/mysql/mysql.sock   ・   ・ Threads: 1 Questions: 82 Slow queries: 0 Opens: 40 Flush tables: 1 Open tables: 29 Queries per second avg: 0.003
                          • -

CentOS 6 - Ruby開発実行環境 - Ruby on Rails : Server Worldを参考にrubygemsをインストール。

$ sudo yum --enablerepo=remi,epel install rubygems ruby-devel mysql-devel gcc

railsをインストール。自分の環境などに合わせてバージョンを変えてください。

$ gem install rails --version "=2.3.11" --include-dependencies 

MySQLのアダプタインストール。

$ gem install mysql

あとは参考のページのようにテスト。自分の場合はローカルからgit経由でアプリケーションのフォルダまるごと持って来ました。database.ymlの設定にはさっき調べておいたsocketのパスが必要なので忘れずに。

スクレイピング用のgemインストール

ここからは個人的に必要だったのですが、mechanizeというスクレイピング用のgemを使うのにnokogiriが必要だったので、Installing Nokogiri - Nokogiriを参考に

$ sudo yum install -y rubygem-nokogiri
$ sudo yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
$ gem install nokogiri
$ gem install mechanize

でインストール。「$ rake db:create」がコケるので、Ubuntuでやったようにrakeを一旦アンインストール、古いのを入れる。

$ rvm use 1.8.7@global
$ gem uninstall rake
$ gem install rake -v 0.8.7

でrakeが通るはず。あと「$ rake db:create」でDB作れるのね。

$ rake db:create
$ rake db:migrate