rbenvでインストールしたRubyを使って、Redmineをlaunchdで自動起動させてみる。
rbenvのインストール
ぐぐれ。
Redmineの設定
まず、redmineを適当なディレクトリに展開する。ここでは ~/apps/redmine/current。rbenvでruby1.9.3を設定。2.0ではpassngerのビルドが上手くいかなかった。
$ cd ~/apps/redmine/current
$ rbenv local 1.9.3-p392
gemでbundlerをインストール
$ gem install bundler
Gemfileにpassengerを追加してbundle installする。通常、pathにはvender/bundleを指定するところだが、Redmineのバージョンアップの度にbundle installしたくないので、redmineディレクトリの外にインストール。rmagickは設定が面倒なので外した。
$ bundle install --path $HOME/apps/redmine/bundle --without rmagick postgresql sqlite
dbの設定とmigration、sessionキーの設定等を実施してテスト起動
$ bundle exec passenger start
初回のみpassengerのビルドが始まる。http://localhost:3000/ でRedmineが見れればOK
自動起動
~/Library/LaunchAgent/jp.paulownia.redmine.plist を作成。bundleコマンドをフルパスで指定する。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>jp.paulownia.redmine</string> <key>KeepAlive</key> <false/> <key>RunAtLoad</key> <true/> <key>WorkingDirectory</key> <string>/Users/nullpon/apps/redmine/current</string> <key>EnvironmentVariables</key> <dict> <key>RBENV_VERSION</key> <string>1.9.3-p392</string> </dict> <key>ProgramArguments</key> <array> <string>/Users/nullpon/.rbenv/shims/bundle</string> <string>exec</string> <string>passenger</string> <string>start</string> <string>-e</string> <string>production</string> <string>-p</string> <string>3939</string> <string>--max-pool-size</string> <string>1</string> </array> <key>StandardOutPath</key> <string>/Users/nullpon/apps/var/log/redmine.out</string> <key>StandardErrorPath</key> <string>/Users/nullpon/apps/var/log/redmine.err</string> </dict> </plist>
plistをlaunchdにロードして
$ cd ~/Library/LaunchAgent
$ luanchd load jp.paulownia.redmine.plist
これでRedmineが起動すればOK、次回からログインと同時に起動する。