This service is available only in Japanese-language.
実機に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あたりをパッケージ作成して入れてみるしかないのでしょうか。
yakuhito
2018/5/23 (水) 17:50
どのバージョンのyoctoを使用中かお知らせください
当方でも動作検証を行いたいと思いますので、使用しているBSPがyoctoのどのバージョンと互換のものかお知らせいただけると幸いです。
takahashi-j
2018/5/24 (木) 09:20
Mortyを使っています
Yoctoは開発環境を固定化しているため、古いものを使用しています。
Yocto Project 2.2 (morty 16.0.0)
open-embeddedは以下のコマンドで取ってきています。
git clone -b morty http://git.openembedded.org/meta-openembedded
バージョンを指定していないので、最新を持ってきていると思います。
yakuhito
2018/5/24 (木) 14:17
php 関連のインストールを行う必要がありそうです
php5(morty の meta-openembedded/meta-oe に含まれます)のbuildを行い、php,php-cgi,php-fpm 辺りの
インストールを行って試してみてはいかがでしょうか?
なお、poky(openembedded-core)にもweb serverのレシピは存在します。
SSL+CGI 対応 のlighttpd は、軽量で設定も容易と思われます。
takahashi-j
2018/5/24 (木) 16:19
試してみます
実はシェルスクリプトとしてCGIを動作させたいだけなので、phpは入れる必要がなかったりします。
lighttpd が理想に近いと思いますので、それをインストールして動作させてみます。
yakuhito
2018/5/24 (木) 17:18
sslの実装はまだですが、シェルスクリプトの実行は確認できています。
下記の変更にて、非常にシンプルな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" )
takahashi-j
2018/5/29 (火) 15:26
うまく行きました
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化することもできるようです。
yakuhito
2018/5/29 (火) 16:52
対応できて良かったです
望んだ機能が実現できて良かったです。
また、SSLの対応に関する情報提供ありがとうございます。