ポジローぽけっと

昨日より今日、今日より明日を信じて、トライトライ

debianのnginxでredmineをsubdirectoryで動作させたくなったら

nginxの設定とredmineの設定を変更する

構成

以下にURLにアクセスした際に動作させる場合で試した。

http://server/redmine

nginxの設定

# redmine
 location /redmine {
     alias     /usr/share/redmine/public;
     try_files $uri @redmine_fcgi;
 }
 location @redmine_fcgi {
     include /etc/nginx/fastcgi_params;
     fastcgi_param   SCRIPT_FILENAME /usr/share/redmine/public/$fastcgi_script_name;
     fastcgi_pass    redmine_default;
     fastcgi_index   index.html;
 }

redmineの設定

ページ内のリンク先に/redmine/を付加するためには
HowTo Install Redmine in a sub-URI - Redmine
Working variant (Sun Jun 26 13:48:50 MSK 2016)を設定する
これは/usr/share/redimine/config/routes.rbの設定に/redmine/を付加する。
確認するには

env RAILS_ENV=production bundle exec rails routes

静的ファイルである/usr/share/public/javascripts, cssフォルダに
/redmine/を付加するにはredmine起動時に
RAILS_RELATIVE_URL_ROOTを渡す

SOCKETDIR=/var/run/redmine/sockets/default
REDMINEDIR=/usr/share/redmine
env RAILS_ENV=production RAILS_RELATIVE_URL_ROOT=/redmine spawn-fcgi -S -s "$SOCKETDIR/fcgi.socket" -U nginx -P $PIDFILE -d $REDMINEDIR -- "$REDMINEDIR/public/dispatch.fcgi"

以上の二つで設定はOKなので、あとは起動するのみ!