この記事はアピリッツの技術ブログ「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の画面が確認できるかと思います。