Feed on
Posts
Comments

すばらしく簡単に UbuntuにRailsをデプロイする方法が紹介されてあったので試してみる。

http://wiki.slicehost.com/doku.php?id=automated_rails_install_and_deployment_with_deprec_capistrano

localはMacのLeopard、Ubuntuの6.06.2をParallelsにインスコ

Leopardの準備

Leopardの初期インスコcapistranoが2.0なので

gem uninstall -v 2.0.0
gem install capistrano -v 1.4.1

1.系に変更

gem install deprec
echo “require ‘deprec/recipes’” >> ~/.caprc

deprecというcapistranoのレシピ集をインスコ

export PATH=~/bin:/opt/local/bin:/opt/local/sbin/:$PATH
sudo port install imagemagick
gem install rmagick

imagemagickが入ってないのでまず Macportをインスコ(入れなくてもいいけど私には必要)

cd ~
rails hoge
cd hoge
script/generate scaffold post
rake db:migrate

とりあえずmigrateまでした状態のアプリを作る

Ubuntuの準備

ifconfig (parallelsってOSインスコごとにmacアドレスを変えてくれる上にUbuntuはデフォルトのインスコだとDHCPサーバーを参照してipアドレス決めるのでipアドレスのチェック。変えたい場合はsudo vi /etc/network/interfacesをいじる)
sudo vi /etc/apt/sources.list #1個の所の#を消す。viの使い方はこちら
sudo apt-get install openssh-server

svnの準備とconfig/deplyの編集(すべてローカル)

アジャイル命。設定の手間を省くためにassemblaを利用。

cd ~/hoge
deprec –apply-to . –name hoge –domain hoge.com

config/deploy.rbを作る

set :application, “wwwww”
set :repository, “http://svn2.assembla.com/svn/hoge”  ”"の中はassemblaで登録したやつ
set :svn_username, “svnuser”
set :svn_password, “secretpassword”
set :sudo, ‘sudo -p Password:’ を config/deploy.rbの最後に追加

config/deploy.rbを編集

set :apache_server_name, domain
set :apache_conf, “/usr/local/apache2/conf/apps/#{application}.conf”
set :apache_ctl, “/etc/init.d/httpd”
set :apache_proxy_port, 8000
set :apache_proxy_servers, 4
set :apache_proxy_address, “127.0.0.1″

apacheの設定は上記の#を切り取る

set :mongrel_servers, apache_proxy_servers
set :mongrel_port, apache_proxy_port
set :mongrel_address, apache_proxy_address
set :mongrel_environment, “production”
set :mongrel_config, “/etc/mongrel_cluster/#{application}.conf”

mongrelの設定は上記の#を切り取る

デプロイ(すべてローカル)

cap install_rails_stack
cap install_php 必要ないけど私がphpmyadminが好きなため
cap setup
cap deploy_with_migrations
cap restart_apache

うまくいってれば立ち上がってる。

ローカル編集後

svn commit -m ‘I fixed a bug!’
cap disable_web
cap deploy_with_migrations
cap enable_web

前のバージョンに戻す方法等は cap show_tasksとかsubversionの解説を見るのが吉。

Leave a Reply