This service is available only in Japanese-language.

nginxでCGIを実行したいのですが

実機にWebサーバを組み込みたく、meta-openembeddedのnginxをインストールしました。
今回、Webサーバに必要な機能としては、CGIの実行とSSLへの対応です。
SSLへの対応はnginx.confと証明書でなんとかなるのですが、CGIがうまく動作しません。
apache2のレシピもあるので、それを使えばいいのかもしれませんが、サイズが大きくなるためnginxを使いたいと考えています。
nginxからfastCGIを使えるようにするには、meta-openembeddedの今あるレシピで可能ですか?
meta-webserver/recipes-support/fcgiを入れてみましたが、うまく動作しません。spawn-fcgiでも同じような感じです。
Webサーバとの通信用のsocketもfcgiやspawn-fcgiでは作成されていなかったため、このレシピを使用するものなのかも自身がありません。試しにTCPでも試しましたがコマンドがエラーとなってしまいました。
fcgiwrapあたりをパッケージ作成して入れてみるしかないのでしょうか。

当方でも動作検証を行いたいと思いますので、使用しているBSPがyoctoのどのバージョンと互換のものかお知らせいただけると幸いです。

Yoctoは開発環境を固定化しているため、古いものを使用しています。
Yocto Project 2.2 (morty 16.0.0)

open-embeddedは以下のコマンドで取ってきています。
git clone -b morty http://git.openembedded.org/meta-openembedded
バージョンを指定していないので、最新を持ってきていると思います。

php5(morty の meta-openembedded/meta-oe に含まれます)のbuildを行い、php,php-cgi,php-fpm 辺りの
インストールを行って試してみてはいかがでしょうか?

なお、poky(openembedded-core)にもweb serverのレシピは存在します。
SSL+CGI 対応 のlighttpd は、軽量で設定も容易と思われます。

実はシェルスクリプトとしてCGIを動作させたいだけなので、phpは入れる必要がなかったりします。
lighttpd が理想に近いと思いますので、それをインストールして動作させてみます。

下記の変更にて、非常にシンプルなshellのCGIが動作することを確認しました。

以下のパッケージを追加
lighttpd
lighttpd-module-cgi
lighttpd-module-fastcgi

/etc/lighttpd.conf で
server.modules の設定に
mod_fastcgi
mod_cgi
を追加。(行頭のコメントを外す)

cgi.assign を有効にし、”.sh " => "/usr/bin/sh" を追加。
cgi.assign = ( ".pl" => "/usr/bin/perl",
".cgi" => "/usr/bin/perl",
".sh" => "/bin/sh" )

lighttpd を使用してCGIの実行とSSLへの対応ができました。
アドバイスありがとうございます。

SSLの設定は、lighttpd.confの
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd.d/ssl/server.pem"
とするだけでOKでした。
server.pemはいまのところオレオレ認証ですが、これを正規のものにすれば認証のワーニングも出ないようになるかと思います。
今回はWeb全体をSSL化しましたが、server.document-rootを使用して任意の場所だけをSSL化することもできるようです。

望んだ機能が実現できて良かったです。
また、SSLの対応に関する情報提供ありがとうございます。