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なので、あとは起動するのみ!