ポジローぽけっと

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

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'
})

参考

jQuery.ajax(options) - jQuery 日本語リファレンス

tarでディレクトリ直下をディレクトリを含めず圧縮したかったら

ディレクトリ直下をディレクトリを含めず圧縮したかったら

tar czf hoge.tar.gz -C /path/to/directory .

解凍先ディレクトリを指定して解凍したかったら

tar xzf hoge.tar.gz -C /path/to/directory

参考

gzip - How do I tar a directory of files and folders without including the directory itself? - Stack Overflow