at_kazutaka.bito
2015年11月26日 15時56分
(2016/7/2更新) php5-cgi_5.4.45-0+deb7u2_armel.deb を php5-cgi_5.4.45-0+deb7u4_armel.deb に更新しました。
Armadillo-IoTでlighttpd+php5-cgiで、phpinfoが見えるところまで確認しました。
下記に手順を説明します。
1.php5-cgiに必要なパッケージの入手。
atmark@atde5:~$ mkdir temp_php
atmark@atde5:~$ cd temp_php
atmark@atde5:~/temp_php$ wget http://security.debian.org/debian-security/pool/updates/main/p/php5/php5-cgi_5.4.45-0+deb7u4_armel.deb
atmark@atde5:~/temp_php$ wget http://ftp.jp.debian.org/debian/pool/main/libo/libonig/libonig2_5.9.1-1_armel.deb
atmark@atde5:~/temp_php$ wget http://ftp.jp.debian.org/debian/pool/main/q/qdbm/libqdbm14_1.8.78-2_armel.deb
atmark@atde5:~/temp_php$ ls
libonig2_5.9.1-1_armel.deb php5-cgi_5.4.45-0+deb7u4_armel.deb
libqdbm14_1.8.78-2_armel.deb
2.php5-cgiに必要なパッケージの展開。
atmark@atde5:~/temp_php$ dpkg-cross -M --build --arch armel libonig2_5.9.1-1_armel.deb
atmark@atde5:~/temp_php$ dpkg-cross -M --build --arch armel libqdbm14_1.8.78-2_armel.deb
atmark@atde5:~/temp_php$ ls
libonig2-armel-cross_5.9.1-1_all.deb libqdbm14_1.8.78-2_armel.deb
libonig2_5.9.1-1_armel.deb php5-cgi_5.4.45-0+deb7u4_armel.deb
libqdbm14-armel-cross_1.8.78-2_all.deb
atmark@atde5:~/temp_php$ sudo dpkg -i libonig2-armel-cross_5.9.1-1_all.deb
atmark@atde5:~/temp_php$ sudo dpkg -i libqdbm14-armel-cross_1.8.78-2_all.deb
atmark@atde5:~/temp_php$ dpkg -x php5-cgi_5.4.45-0+deb7u4_armel.deb temp
atmark@atde5:~/temp_php$ cd temp/usr/bin/
atmark@atde5:~/temp_php/temp/usr/bin$ ls
php5-cgi
3.プロダクトディレクトリ(下記例は、my-productという名前)にphp5-cgiを追加。
atmark@atde5:~/temp_php/temp/usr/bin$ cd ~/atmark-dist/vendors/AtmarkTechno/my-product
atmark@atde5:~/atmark-dist/vendors/AtmarkTechno/my-product$ cp ~/temp_php/temp/usr/bin/php5-cgi usr/bin/
4.プロダクトディレクトリ(下記例は、my-productという名前)のlighttpd.confを編集。
atmark@atde5:~/atmark-dist/vendors/AtmarkTechno/my-product$ gedit etc/lighttpd.conf
で、lighttpd.confをエディタで開いて、下記の2か所を編集します。
1か所目
# "mod_fastcgi",
の#を外して
"mod_fastcgi",
にします。
2か所目
#fastcgi.server = ( ".php" =>
# ( "localhost" =>
# (
# "socket" => "/tmp/php-fastcgi.socket",
# "bin-path" => "/usr/bin/php"
# )
# )
# )
を
fastcgi.server = (".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket"
)))
にします。
5.コンフィギュレーションで、使わないアプリケーションを外す。
Armadillo-IoTの標準のコンフィギュレーションで、php5-cgiを追加すると ROMのユーザーランド領域(約26MB)に収まらないので、 使わないアプリケーションを外します。
php5-cgiを追加した場合、イメージファイルのサイズは約4MB増加します。
標準のコンフィギュレーションで有効になっているアプリケーションで
イメージファイル内のサイズが大きいものは
Ruby:約7MB
Java:約8MB
なので、下記ではJavaを外すことにしています。
atmark@atde5:~/atmark-dist/vendors/AtmarkTechno/my-product$ cd ~/atmark-dist
atmark@atde5:~/atmark-dist$ make menuconfig
でコンフィギュレーションのメインメニューを開いて、
Main Menu
Kernel/Library/Defaults Selection --->
[*] Customize Vendor/User Settings
で<Exit>して、ユーザーランドコンフィギュレーションの設定画面を開いて、
Userland Configuration
Miscellaneous Applications --->
[ ] java
のように[ ]内の*を外してJavaを無効にします。
6.ビルドして、Armadillo-IoTにイメージを書き込みます。
7.Armadillo-IoTを起動してログインします。
8.lighttpdを起動。
/tmpの属性を変更して、lighttpdを起動します。
[armadillo ~]# chmod 777 /tmp
[armadillo ~]# lighttpd -f /etc/lighttpd.conf
9.phpinfoで動作確認。
/home/www-dataにtest.phpという名前でphpinfoのファイルを作成します。
[armadillo ~]# vi /home/www-data/test.php
test.phpファイルの内容は下記のように記述します。
<?php
phpinfo();
?>
Armadillo-IoTとネットワーク接続されているPCのブラウザで、 [ArmadilloのIPアドレス]/test.php のURLにアクセスすると、phpinfoが画面が見えます。