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なので、あとは起動するのみ!
ajax requestへのresponseがステータス200なのに、persererrorでerror/failとなってしまったら
ajaxのdataTypeと実際のdataTypeが一致しているか確認する。
応答がない場合は、dataTypeは不要。
$.ajax({ url: "hoge.php", // リクエスト送信先URL type: "POST", data: {hoge:"hoge"} dataType: 'json' })
参考
tarでディレクトリ直下をディレクトリを含めず圧縮したかったら
tar czf hoge.tar.gz -C /path/to/directory .
解凍先ディレクトリを指定して解凍したかったら
tar xzf hoge.tar.gz -C /path/to/directory