Ubuntu 10.4 でredmine その3 - nginx編 -

Ubunturedmineを導入した最終回の内容はウェブサーバ nginxです。

これまでの関連エントリ

Apache + passengerでredmineを動かしても良かったのですが、
これまたもののついででnginx + passengerを試してみようと思って設定してみました。

前提

  • rvm で導入したree-1.8.7 (ユーザローカルで稼働中)
  • sslは特に気にしない(ローカルに限られるので)

passenger インストール

必要なパッケージをaptで追加しておき、
rubygemsを使ってpassengerをインストールします。

$ sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0
$ gem install passenger

nginxインストール

aptで取得できるnginxはpassengerをモジュールで動かせないようなので、
ソースからコンパイルするためにpassenger-install-nginx-moduleを使います。

$ passenger-install-nginx-module

幾つか選択肢を選んだ後、FTPでnginxを取得、コンパイルが自動で行われます。

注意

インストール先は

Please specify a prefix directory [/opt/nginx]:

と聞かれるので、
/opt のパーミッションを事前に緩めておきます。

設定ファイル

設定ファイルは必要最小限の追記でおさえています。
最低限rootと、passenger_enabledを追記すればOKのようです。

sudo vi /opt/nginx/conf/nginx.conf
...
pid /var/run/nginx.pid; #=> コメントアウト外す
...
server {
    # 他のウェブサーバを用意しないのでlocalhost:80で運用
    listen 80;
    server_name: localhost
    ....
    location / {
        index  index.html index.htm;
        # redmine のインストール先を指定
        # railsアプリは "public" までをパス設定する
        root: /home/hogehoge/redmine/public/
        # passengerを使う場合に必ず指定する
        passenger_enabled on;
    }

    ...
}
....
起動スクリプトの作成

/etc/init.d/nginx として起動用スクリプトを用意します。
内容は下記参照からコピー&ペーストします。

http://programmingzen.com/2009/11/20/setup-ruby-enterprise-edition-nginx-and-passenger-aka-mod_rails-on-ubuntu/

$ sudo vi /etc/init.d/nginx
$ sudo chmod a+x /etc/init.d/nginx


このスクリプトに問題が無ければ、nginx起動後に
http://localhost/redmine を利用することができます。

起動状況を確認後、

$ sudo /usr/sbin/update-rc.d -f nginx defaults

とすると、OS起動時にnginxも起動することができます。