RedmineをMacOSXのlaunchdで起動する。rbenv編

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、次回からログインと同時に起動する。

f:id:paulownia:20130309223612j:plain