初期設定
$ sudo vi /etc/hosts
xxx.xxx.xxx.xxx instructor.local
$ gem source -r http://rubygems.org/ -a http://instructor.local/gem/
$ cd /etc/yum.repos.d
$ sudo CentOS-Media.repo CentOS-Media.repo.bak
$ sudo mv CentOS-Base.repo CentOS-Base.repo.bak
$ vi CentOS-Seminar.repo
[seminar]
name=CentOS-$releasever - Seminar
baseurl=http://instructor.local/seminar/
enabled=1
gpgcheck=0
アンインストール
$ sudo yum erase mysql mysql-devel mysql-server
Ruby 1.8.7をソースコードからインストール
$ mkdir /home/rails/src
$ cd /home/rails/src
$ tar zxvf /usr/local/src/ruby-1.8.7-p358.tar.gz
$ cd ruby-1.8.7-p358
$ ./configure
$ make
$ sudo make install
RubyGem 1.8.24をソースコードからインストール
$ cd /home/rails/src
$ tar zxvf /usr/local/src/rubygems-1.8.24.tgz
$ cd rubygems-1.8.24.tgz
$ sudo ruby setup.rb
MySQL2ドライバをインストール
$ sudo gem install mysql2
Thinをインストール
$ sudo gem install thin
Thinの起動スクリプトをインストール
$ sudo thin install
$ sudo mv /etc/rc.d/thin /etc/init.d
$ sudo /sbin/chkconfig --level 345 thin on
Thinの設定ファイルを作成
$ cd /home/rails/apps/blog/current
$ sudo thin config -C /etc/thin/blog.yml -c `pwd` -p 3000 -s 3 -e production -u rails -g rails
config/deploy.rbの設定
set :application, "blog"
set :repository, "http://運用サーバのIPアドレス/repos/rails/blog"
set :deploy_to, "/home/rails/apps/#{application}"
set :use_sudo, false
set :scm, :subversion
role :web, "運用サーバのIPアドレス"
role :app, "運用サーバのIPアドレス"
role :db, "運用サーバのIPアドレス", :primary => true
task :init, :roles => :app do
sudo "gem install kaminari"
sudo "gem install devise"
sudo "gem install RedCloth"
sudo "gem install thin"
end
task :db_create, :roles => :db do
sudo "/etc/init.d/mysqld start"
run "cp #{deploy_to}/current/config/database.yml.example #{deploy_to}/current/config/database.yml"
run "rake -f #{deploy_to}/current/Rakefile db:create:all"
end
rails3のproduction環境でpublicフォルダを公開
config.server_static_assets = true
Thinサーバの起動
$ thin start
Thinサーバの停止
$ thin stop
Thinの設定ファイル作成
$ thin config -C config/thin.yml -p 3000 -e production -a 127.0.0.1