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
でして、ユーザーランドコンフィギュレーションの設定画面を開いて、
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が画面が見えます。