RailsアプリをさくらVPS上のpassengerを使って本番環境で動かす(1)
状況
さくらVPS上のapacheで独自ドメイン(http://example.com)のWebサイトを運営しており、その下にぶら下げる形で(http://example.com/hogerails)Railsアプリを動かしたい。
Railsアプリはローカルで作成し、rails serverでは起動する状態。
やったこと
事前準備
ライブラリのインストール
後々必要になるものを先にyumでインストールしておきます
sudo yum -y install zlib-devel openssl-devel curl-devel httpd-devel apr-devel apr-util-devel
これは人によって変わるかも知れませんので、作業の過程で必要になるかも知れません。
適宜インストールしましょう。
rbenvのインストール
まずrubyを使えるようにします。
ダウンロード
cd /usr/local git clone git://github.com/sstephenson/rbenv.git rbenv chown -R hoge:hoge rbenv mkdir rbenv/plugins cd rbenv/plugins git clone git://github.com/sstephenson/ruby-build.git ruby-build chown -R hoge:hoge ruby-build
次に環境変数の設定
シェルとしてzshを使っているなら~/.zprofileに
export RBENV_ROOT=/usr/local/rbenv export PATH=$RBENV_ROOT/bin:$PATH eval "$(rbenv init -)"
と書きます。
インストール
rbenv install # rubyのバージョンチェック # ruby1.9.3を使いたかったので rbenv install 1.9.3-p448 rbenv rehash rbenv global 1.9.3-p448
これでrubyはok
which ruby # => /usr/local/rbenv/shims/ruby
確認しときましょう。
Rails3のインストール
gem install rails -v "3.2.13" gem install passenger
これだけでいけるでしょう。
Passengerのインストール
Passengerとは
Ruby on Railsアプリケーションを実行するためのApacheモジュールで、
ファイルをアップロードするだけでデプロイ出来ることになる。
インストール
なお、apacheは入ってるものとします。
gem install passenger passenger-install-apache2-module
これでインストール事態は完了しますが、
LoadModule passenger_module /usr/local/rbenv/versions/ruby-1.9.3-p448/lib/ruby/gems/1.9.1/gems/passenger-4.0.10/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/passenger-4.0.10 PassengerRuby /usr/local/rbenv/versions/1.9.3-p448/bin/ruby
といった内容のおそらく"3行"が出力されるので、メモしておきましょう。
/etc/http/conf.d/passenger.conf
にそのまま貼りつけてファイルを作ってください。
環境によって出力内容は異なるので上のものをコピペしても動かないかと思います。
また、必要なライブラリなども出力してくれるので、これもメモしてインストールしましょう。
一番始めの
sudo yum -y install zlib-devel openssl-devel curl-devel httpd-devel apr-devel apr-util-devel
で恐らく足りるはず。
とりあえずここまで