2010年4月18日日曜日

ゼロから構築するrails環境

以前のPOSTを整理しました。
CentOS にrailsインストール

CentOS5.4にrails環境を構築します。
エディタ以外のライブラリはインストールしていない空の状態からスタートです。
※BaseとEditorsパッケージのみインストール
全部rootで作業します。
root以外の場合は、必要に応じてsuして下さい。

■目標

1. Rubyのインストール
2. gemからrailsのインストール
3. プロジェクトの作成とDB設定、サーバ起動


■すること

0. 前準備

yumではruby1.8.5までしかインストールできませんが、最新のgemsではruby1.8.6以上が要求されるので、ソースからrubyをインストールします。
RPMパッケージを作成するために予めcheckinstallを導入します。

1. Rubyのインストール

rubyをソースからインストールします。

2. gemsとrailsのインストール

rubyのパッケージ管理ツールであるgemsをインストールし、gems経由でrailsをインストールします。

3. Mysqlのインストールとrails起動

Mysqlをインストールした後、railsプロジェクトを作成。
railsプロジェクト用のDB設定を行った後、webrickサーバを起動し、railsアプリケーションにアクセスします。


■前準備

gccのインストール。yumのアップデート。

$ yum install gcc
$ yum update

checkinstallのインストール。
※参考
http://herr0s.hp.infoseek.co.jp/checkinstall.html

# 依存ライブラリのインストール
$ yum install rpm-build
# checkinstallのインストール
$ cd /tmp/
$ wget http://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz
$ tar xzvf checkinstall-1.6.2.tar.gz
$ cd checkinstall-1.6.2
$ make
$ make install
# checkinstall自体をパッケージ管理
$ which checkinstall
$ /usr/local/sbin/checkinstall
# RPMパッケージの作成
# **********************************************************************
# 
#  Done. The new package has been saved to
# 
#  /usr/src/redhat/RPMS/x86_64/checkinstall-1.6.2-1.x86_64.rpm
#  You can install it in your system anytime using:
# 
#       rpm -i checkinstall-1.6.2-1.x86_64.rpm
# 
# **********************************************************************
$ rpm -Uvh /usr/src/redhat/RPMS/x86_64/checkinstall-1.6.2-1.x86_64.rpm


■rubyのインストール

※2010-11-24追記
この記事の本文記載の操作を行う限りにおいては問題ないと思いますが、Redmine導入時などにSSL関係のロードが上手くいかないことがあります。
最新のパッチレベルのソースを利用されることをお勧めします。
現時点での1.8.7系の最新は「ruby-1.8.7-p302」です。

# 依存ライブラリのインストール
$ yum install zlib-devel
$ yum install openssl-devel
# rubyインストール
$ cd /tmp/
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz
$ tar xzvf ruby-1.8.7-p249.tar.gz
$ cd ruby-1.8.7-p249
$ ./configure --prefix=/usr
$ make
$ checkinstall --fstrans=no
# **********************************************************************
# 
#  Done. The new package has been saved to
# 
#  /usr/src/redhat/RPMS/x86_64/ruby-1.8.7-p249-1.x86_64.rpm
#  You can install it in your system anytime using:
# 
#       rpm -i ruby-1.8.7-p249-1.x86_64.rpm
# 
# **********************************************************************
$ rpm -Uvh /usr/src/redhat/RPMS/x86_64/ruby-1.8.7-p249-1.x86_64.rpm
$ ruby -v
# ruby 1.8.7


■gemsとrailsのインストール

gemsもRPM化したかったんですが、エラーが出てパッケージができません。
※参考
http://moimoitei.blogspot.com/2008/08/centos-52-ruby.html
http://blog.livedoor.jp/tsuchy_h231/archives/50486570.html
http://d.hatena.ne.jp/varlog/20090307/1236380738

checkinstall -R "ruby ./setup.rb"
とすると、
/var/tmp/tmp.pptES10730/installscript.sh: line 4: ruby setup.rb: command not found
なんてエラーが出て進まなかったので、保留。
単にsetup.rbを実行することに。

$ cd /tmp/
$ wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.6.tgz
$ tar xzvf rubygems-1.3.6.tgz
$ cd rubygems-1.3.6
$ ruby setup.rb
$ gem -v
# 1.3.6

# railsのインストール
$ gem install rails


■Mysqlのインストールとrails起動

tmpディレクトリにrailsプロジェクトを作成し、DBと接続、サーバ起動まで。

Mysql関連初期設定

# DBとライブラリのインストール
$ yum install mysql-devel mysql mysql-server
$ gem install mysql
# 初期設定
$ mysql_install_db

railsプロジェクト作成

$ cd /tmp/
# mysql指定でdemoプロジェクト作成
$ rails -d mysql demo

rails -d mysql demo
コマンドを実行すると、./demoディレクトリが作成され、
localhostのMysqlのdemo_developmentデータベースをrootユーザ、空パスワードでアクセスするデフォルトのDB定義ファイルが作成されます。
必要に応じてDB定義ファイルを変更して下さい。

DB作成やリモートアクセス許可

# rails用DB作成
$ mysql -u root -p
mysql> create database demo_development;
mysql> exit
# リモートアクセスの許可
$ service iptables stop
# 必要に応じてrailsのDB設定を変更
# vi /tmp/demo/config/database.yml
# webrickサーバ起動
$ ruby demo/script/server

http://host:3000/
にアクセスして起動確認。
About your application’s environment
リンクをクリックしてみて情報が表示されていれば、DBとも接続できている。

0 件のコメント:

コメントを投稿