Armadilloフォーラム

Armadillo840でPHP5を使用するには

hakamata

2014年5月19日 18時03分

お世話になります。

現在、Armadillo-840にPHP5を入れようとしています。

こちらの記事の情報を参考にし、PHP5を入れてみました。
http://lists.atmark-techno.com/pipermail/armadillo/2011-June/007315.html

入れましたのは、一番新しそうなこの二つです。
http://download.atmark-techno.com/misc/atmark-dist_php5-20110607.diff.gz
http://download.atmark-techno.com/misc/atmark-dist_php5-20110607.tar.gz

atmark-dist_php5-20110607.tar.gzを解凍し、
パッチをあて、meke menuconfigでPHP5にチェックを入れました。
Linuxカーネル/ユーザランドのビルドは通りました。

ですが、フラッシュメモリの書換をして起動すると、
起動画面の途中でエラーになって止まってしまいます。

Armadillo840では参考ページのように、PHP5を入れることはできないのでしょうか?
PHP5の入れ方についてご存知の方がいらっしゃいましたら、教えていただければと思います。
よろしくお願いします。

コメント

at_yashi

2014年5月21日 14時40分

> ですが、フラッシュメモリの書換をして起動すると、
> 起動画面の途中でエラーになって止まってしまいます。

お手数をおかけしてすみません。
起動ログを見せてもらっても良いですか?

ユーザーランドが大きすぎるのか、a840のバグなのか確認します。

hakamata

2014年5月21日 15時54分

at_yashi様

ご返信ありがとうございます.
起動ログが長いので,添付させていただきました.
ご確認よろしくお願いいたします.

ファイル ファイルの説明
起動ログ.txt

hakamata

2014年5月21日 17時23分

at_yashi様
素早い返信ありがとうございます.

> お手数ですがもう一つ試してもらえないでしょうか?
> カーネルだけ下記のものに書き換えて、起動してもらえますか?

カーネルだけを書き換えて起動させました.
結果,Armadilloの起動ができ,ログインすることができました.

/usr/binの中にphpとphp-cgiができていることを確認.
phpコマンドを実行することができました.
ですが,/home/www-dataにphpファイルを置いても,外部から見ますと[403-Forbidden]が出てしまいます.
デフォルトで存在するindex.htmlは見ることができます.

これは,まだうまくPHPが入っていないからでしょうか?
それとも、www-dataフォルダにphpプログラムを入れただけでは,外部から見ることができないからでしょうか?

以上,よろしくお願いいたします.

at_yashi

2014年5月21日 18時05分

https://google.com/search?q=php+403+Forbidden

「php 403 forbidden」で検索すると、ファイルのパーミッションが問題なことが多いと出ました。
確認できますか?

hakamata

2014年5月22日 9時52分

at_yashi様
お世話になっております.

www-dataフォルダの中のファイルのパーミションですが,以下のようになっております.
-----------------------------------------------------------------------------------
drwxr-xr-x 2 www-data www-data 1024 May 21 2014 admin/
drwxr-xr-x 2 www-data www-data 1024 May 21 2014 cgi-bin/
-rw-r--r-- 1 www-data www-data 1831 Jan 27 2014 index.html
-rw-rw-rw- 1 root root 18 Jan 1 09:26 test1.php
-rwxr-xr-x 1 root root 30 Jan 1 09:38 test2.php*
-rwxrwxrwx 1 root root 29 Jan 1 10:01 test3.php*
-rw-r--r-- 1 root root 29 Jan 1 10:05 test4.php
-----------------------------------------------------------------------------------
test1.php~test4.phpまでが作成したphpファイルです.
色々なパーミションで試してみました.
全てコマンドラインでは動作することを確認しています.
ですが,やはり外部から見ると「403 - Forbidden」が出てきます.

念のために所有者とグループを「root」から「www-data」に変更してみましたが,
それでも「403 - Forbidden」が出てきました.

よろしくお願いいたします.

at_ohsawa

2014年5月22日 13時54分

Armadillo-840で動作しているwebサーバー(lighttpd)に
phpを使用するための設定が必要です。

/etc/lighttpd.confを次のように変更すると、
phpで記述したスクリプトが実行できます。

イメージファイルの元になるAtmark Distのディレクトリ階層
で言うと Armadillo-840であれば
atmark-dist-xxxxx/vendors/AtmarkTechno/Armadillo-840/
以下の etc/lighttpd.conf にあたります。

- fastcgiを使わない場合
224行目 cgi.assignに php-cgiへのパスを追加
(例)

cgi.assign                 = ( ".cgi" => "",
                               ".sh" => "/bin/sh",
                               ".php" => "/usr/bin/php-cgi")

- fastcgiを使う場合
27行目 "mod_fastcgi", のコメントアウト(#)を解除

214行目 fastcgi.server から始まる設定のコメントアウトを解除し
"bin-path" => "/usr/bin/php" を
"bin-path" => "/usr/bin/php-cgi"に変更

(例)

fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 ( 
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                            )

hakamata

2014年5月22日 15時12分

お世話になっております.

>at_ohsawa様

教えていただいた通り,/etc/lighttpd.confの中を変更し,
ユーザランドを書き換えたところ,外部からPHPファイルを読むことができました.
ありがとうございました.

>at_yashi様

色々と教えていただきありがとうございました.
大変助かりました.
ひとつ疑問点があり,わかるようでしたら教えていただけないでしょうか?

カーネルの書換によって起動中のエラーが解消できました.
教えていただいたカーネルは今現在の最新版v1.02の一つ前のものだと認識しています.
これは,最新版LinuxカーネルソースでPHP5を入れてビルドするとエラーが出るということでしょうか?
それとも,PHP5を入れてビルドすると異常のあるカーネルがどのバージョンでもできるということでしょうか?

今後,PHP5を入れ,かつカーネルを変更したい場合にどうすれば良いかと思い,質問させていただきました.
前者であれば以前のバージョンのカーネルソースを使用する.
後者であれば,PHP5を入れない正常に起動するカーネルと,
PHP5を入れてビルドしたユーザーランドをArmadilloに入れる.
それで正常に動作するのではないかと思っているのですが,どうでしょうか?

宜しくお願いいたします.

at_ohsawa

2014年5月22日 17時44分

at_yashiの代りに回答いたします。
> 最新版LinuxカーネルソースでPHP5を入れてビルドするとエラーが出るということでしょうか?

PHPとは直接関係無く、最新版のv1.02には起動時に
メモリが不足するバグがあり、それがエラーとして
見える状態になっています。

今後コンフィグの変更等で、カーネルをビルドして
使う場合、bugfixが完了するまではv1.01相当の
古いソースコード(linux-3.4-at5)をご利用ください。

従いまして、
> 前者であれば以前のバージョンのカーネルソースを使用する.
ということになります。

v1.01では、AVコーデックミドルウェアが使用できないの
ですが、お客様のアプリケーションでAVコーデックミドル
ウェアを使う予定はあるでしょうか。

hakamata

2014年5月23日 8時58分

at_yashi様

お世話になっております.
わかりやすい説明ありがとうございます.

> v1.01では、AVコーデックミドルウェアが使用できないの
> ですが、お客様のアプリケーションでAVコーデックミドル
> ウェアを使う予定はあるでしょうか。

AVコーデックミドルウェアを使用する予定です.
現状では,AVコーデックミドルウェアとPHPの両立は無理ということでしょうか?

宜しくお願いいたします.

at_yashi

2014年5月27日 14時21分

> AVコーデックミドルウェアを使用する予定です.
> 現状では,AVコーデックミドルウェアとPHPの両立は無理ということでしょうか?

現在、全力で調査中です。申しわけございませんが、ACMの方はもう少々お待ち
ください。