passengerを使ってrailsと既存のものを共存させたときのメモ
苦労したのでメモを残す。多分ほとんどの人には価値のないメモ。
環境
- ubuntu12.10
手順
- node_jsはインストールしておく。
sudo apt-get install node_js
- passengerをインストールする。
sudo gem install passenger
- passengerのapache2モジュールをインストールする。
sudo passenger-install-apache2-module
足りないものがあると指摘されるので、対応する。
- passengerのapache2モジュールのインストールに成功するとApache2の設定ファイルに書くことを指示されるので従う(※一部鵜呑みにしてはいけない。virtualhostを書き換える必要は無い)。
- まず変数を設定する(/etc/apache2/envvarsに以下を追加する)
export RAILS_NAME=/rails
export RAILS_ROOT={railsアプリの場所}/public
-
- /etc/apache2/mods-available/passenger.confの編集
以下、書く内容(rubyのバージョンで1.8とか1.9.1はかわる) ここから
PassengerRoot /var/lib/gems/1.9.1/gems/passenger-3.0.18
PassengerRuby /usr/bin/ruby1.9.1
RailsBaseURI ${RAILS_NAME}
RailsEnv development
PassengerAppRoot ${RAILS_NAME}
ここまで
-
- /etc/apache2/mods-available/passenger.loadの編集
以下、書く内容(rubyのバージョンで1.8とか1.9.1はかわる) ここから
LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-3.0.18/ext/apache2/mod_passenger.so
ここまで
- railsアプリの作成
rails new {アプリ名}
- bundle(必要ないかも)
cd {アプリ名}
bundle install
- もしかしたらGemFileに以下の追記が必要
gem 'execjs'
- passengerの有効化、apache2の再起動
sudo a2enmod passenger
sudo service apache2 restart
- 確認
http://{アドレス}/rails
にアクセスしてWelcomのページが表示されればOK。
以上