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の入れ方についてご存知の方がいらっしゃいましたら、教えていただければと思います。
よろしくお願いします。
コメント
hakamata
at_yashi
ログ、ありがとうございます。
お手数ですがもう一つ試してもらえないでしょうか?
カーネルだけ下記のものに書き換えて、起動してもらえますか?
http://download.atmark-techno.com/armadillo-840/image/linux-a840-v1.01…
hakamata
at_yashi様
素早い返信ありがとうございます.
> お手数ですがもう一つ試してもらえないでしょうか?
> カーネルだけ下記のものに書き換えて、起動してもらえますか?
カーネルだけを書き換えて起動させました.
結果,Armadilloの起動ができ,ログインすることができました.
/usr/binの中にphpとphp-cgiができていることを確認.
phpコマンドを実行することができました.
ですが,/home/www-dataにphpファイルを置いても,外部から見ますと[403-Forbidden]が出てしまいます.
デフォルトで存在するindex.htmlは見ることができます.
これは,まだうまくPHPが入っていないからでしょうか?
それとも、www-dataフォルダにphpプログラムを入れただけでは,外部から見ることができないからでしょうか?
以上,よろしくお願いいたします.
at_yashi
https://google.com/search?q=php+403+Forbidden
「php 403 forbidden」で検索すると、ファイルのパーミッションが問題なことが多いと出ました。
確認できますか?
hakamata
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
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
お世話になっております.
>at_ohsawa様
教えていただいた通り,/etc/lighttpd.confの中を変更し,
ユーザランドを書き換えたところ,外部からPHPファイルを読むことができました.
ありがとうございました.
>at_yashi様
色々と教えていただきありがとうございました.
大変助かりました.
ひとつ疑問点があり,わかるようでしたら教えていただけないでしょうか?
カーネルの書換によって起動中のエラーが解消できました.
教えていただいたカーネルは今現在の最新版v1.02の一つ前のものだと認識しています.
これは,最新版LinuxカーネルソースでPHP5を入れてビルドするとエラーが出るということでしょうか?
それとも,PHP5を入れてビルドすると異常のあるカーネルがどのバージョンでもできるということでしょうか?
今後,PHP5を入れ,かつカーネルを変更したい場合にどうすれば良いかと思い,質問させていただきました.
前者であれば以前のバージョンのカーネルソースを使用する.
後者であれば,PHP5を入れない正常に起動するカーネルと,
PHP5を入れてビルドしたユーザーランドをArmadilloに入れる.
それで正常に動作するのではないかと思っているのですが,どうでしょうか?
宜しくお願いいたします.
at_ohsawa
at_yashiの代りに回答いたします。
> 最新版LinuxカーネルソースでPHP5を入れてビルドするとエラーが出るということでしょうか?
PHPとは直接関係無く、最新版のv1.02には起動時に
メモリが不足するバグがあり、それがエラーとして
見える状態になっています。
今後コンフィグの変更等で、カーネルをビルドして
使う場合、bugfixが完了するまではv1.01相当の
古いソースコード(linux-3.4-at5)をご利用ください。
従いまして、
> 前者であれば以前のバージョンのカーネルソースを使用する.
ということになります。
v1.01では、AVコーデックミドルウェアが使用できないの
ですが、お客様のアプリケーションでAVコーデックミドル
ウェアを使う予定はあるでしょうか。
hakamata
at_yashi
at_yashi
2014年5月21日 14時40分
> ですが、フラッシュメモリの書換をして起動すると、
> 起動画面の途中でエラーになって止まってしまいます。
お手数をおかけしてすみません。
起動ログを見せてもらっても良いですか?
ユーザーランドが大きすぎるのか、a840のバグなのか確認します。