Movable Type DataAPIをDebian Wheezyで動かす(nginx + fcgiwrap) - uehatsu's tech blog

Debianをほとんど使ったことのない上野です。ちょっと仕事で使う事になったので色々と調べています。DataAPIを使える様にしたかったのですが動かず、手間取ってしまったのでログを残しておきます。

普通にnginxとfcgiwrap, spawn-fcgiをインストールします。(MySQLとかもインストールしますが、ここでは割愛)

$ sudo apt-get install nginx fcgiwrap spawn-fcgi

ここで設定ですが、nginxをちょっとうまく設定してやらないとfcgiwrap側にPATH_INFOが渡らない。

    location / {
        access_log  /var/log/nginx/foobar.access.log;
        error_log   /var/log/nginx/foobar.error.log;

        index index.cgi index.html;

        location ~ \.cgi(/|$) {
            gzip off;
            fastcgi_index index.cgi;
            fastcgi_split_path_info ^(.+?\.cgi)(/.*)$;
            if (!-e $document_root$fastcgi_script_name) {
                return 404;
            }
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $fastcgi_path_info;
            fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }
    }

SCRIPT_FILENAME の設定が2回ありますが、この2行でfastcgi_paramsのincludeを挟んでやらないと、うまくパラメーターが上書きできず403エラーが返ってきてしまいます。そのエラーも単に"403"と返ってくるだけ。整形もなにもされていません、たったの3バイト。仕方が無いので2行書いています。
前だけでも、後ろだけでもダメ。Debianのメーリングリストに同様の問題が報告されていたので、バグかなと思いますが、それ以上は追っていません。動いたし(苦笑)

ともかくこれで動くようになりました。めでたし、めでたし(^^)

Movable Type 6 本格活用ガイドブック (Web Designing BOOKS)
Movable Type 6 本格活用ガイドブック (Web Designing BOOKS) 藤本 壱 柳谷 真志 奥脇 知宏 シックス・アパート株式会社

マイナビ 2013-11-30
売り上げランキング : 133328


Amazonで詳しく見る
by G-Tools
 
カテゴリ

Who is uehatsu?

uehatsu

アーカイブ

Facebook page