ホーム DoRuby Redmineはnginx+Passengerで

Redmineはnginx+Passengerで

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

私はRedmineを自分のMacに入れてますが、ちょっとお試しって気分なだけなのにApacheが動作しちゃうのは少し大袈裟な気がしていました。

なので軽量といわれる nginx(エンジンエックス) でもっと手軽に動作させられないかな…と試した際のメモを書いときます。

とはいえ、先にやっている人がいて、こことかに書いてある事が殆どです。

MacPortsやRubyの環境はまず整えておいてください。今回MacPortsは使いますので。また、Redmine自体は${HOME}/redmine 配下にインストールしておくものとし、データベースはSqlite3を使用します。

 1 ImageMagick及びRMagickのインストール

sudo port install ImageMagick
gem install rmagick

 2 Passengerをインストール

gem install passenger

Passengerのインストール先を確認します。ここで出てくるパスは後ほど必要になります。

passenger-config --root

 3 nginxのインストール

普通にnginxをインストールしたいところですが、これだとPassengerを組み込む際にうまくいかないので先にnginxのPortfileを編集します。

cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/www/nginx
sudo vim Portfile

ファイルの末尾へ行き、以下の行を追加しましょう

variant passenger description {Adds passenger support} {
    configure.args-append   --add-module=${手順2で確認したパス}/ext/nginx
}

この状態でnginxのインストールを行います。

sudo port install nginx +gzip_static +passenger +ssl

 4 nginxの設定

cd /opt/local/etc/nginx
sudo cp mime.types.example mime.types
sudo cp nginx.conf.example nginx.conf

次にnginx.confを編集します。

sudo vim nginx.conf

変更した点は以下の通りです。

    gzip  on; # デフォルトでコメントアウトされているので外す

次に82行目あたりに以下のような記述を加えます。

 81     passenger_root ${手順2で出力されたパス};
 82     passenger_ruby /Users/yourname/.rvm/rubies/ruby-1.8.7-p249/bin/ruby;
 83     passenger_max_pool_size 8;
 84     passenger_max_instances_per_app 1;
 85     passenger_pool_idle_time 3600;
 86     
 87     server {
 88         listen 80;
 89         client_max_body_size 250M;
 90         server_name redmine.local;
 91         root /Users/yourname/redmine/public;
 92         passenger_enabled on;
 93         rails_env production;
 94     }

※ここでは redmine.local というホスト名を127.0.0.1として/etc/hostsに定義しているものとします。

 5 nginxの自動起動設定

MacPorts1.9からは以下のような簡略記法が取り込まれたようです。楽ですね。

sudo port load nginx

これで、 http://redmine.local というホスト名にブラウザからアクセスするとRedmineの画面が確認できるかと思います。

記事を共有

最近人気な記事