Raspberry Π

Raspberry Piでいろんなことをやってみようというブログです。

mincraft

第9回 Raspberry Piでラジコンを作る。

今回から
スマートフォン → Webブラウザ経由 → ラズコン(ラズパイ+ラジコン)
と操作できる仕組みを実装していきたいと思います。

f:id:taka230035:20161126135939g:plain:w300



今回設定するにあたり、行き着いた考察については前回の記事をご確認ください。

rasp0035.hatenablog.com





ラズパイにlighttpdphpを導入する

Webサーバは軽量といわれ、ラズパイに合うLighttpdというものを選びました。

lighttpd - Wikipedia


ラズパイにssh接続をおこない、以下のコマンドよりlighttpdをインストールします。

$ sudo apt-get install lighttpd




ブラウザからシェルスクリプトの実行はphpを使用しようと思います。
phpについては、大本としては、Webページプログラムというところでしょうか。

PHP: Hypertext Preprocessor - Wikipedia


phpのインストールは以下となるのですが、おそらくは赤字の
php5-cgi
だけインストールすれば良いかもしれません。※未検証
今回は両方入れました。php5だけでは動きませんでした。

$ sudo apt-get install php5
$ sudo apt-get install php5-cgi

E: Unable to fetch some archives….
などで処理が終わっていた場合はphpがうまくインストールされておりません。
まず以下のコマンドで、ラズパイのデータを最新化したあと、もう一度phpをインストールしてみましょう。

$ sudo apt-get update




次にlighttpdphpプログラムを認識させる処理が必要となります。。 /etc/lighttpd/lighttpd.conf
というファイルを修正します。

以下コマンドより、ファイルを修正します。

sudo vi /etc/lighttpd/lighttpd.conf


中身を以下のようにしました。
 ※私のバージョンですと、赤色部分を追加しただけで、OKでした。

server.modules = (
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
# "mod_rewrite",
"mod_cgi",
)

server.document-root = "/var/www/html"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80


index-file.names = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )

cgi.assign = ( ".pl" => "/usr/bin/perl",
".cgi" => "/usr/bin/perl",
".rb" => "/usr/bin/ruby",
".erb" => "/usr/bin/eruby",
".py" => "/usr/bin/python",
".php" => "/usr/bin/php-cgi" )

index-file.names += ( "index.pl", "default.pl",
"index.rb", "default.rb",
"index.erb", "default.erb",
"index.py", "default.py",
"index.php", "default.php" )


# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"



設定が終わりましたら、以下コマンドでlighttpdサービスをリスタートします。

$ sudo service lighttpd restart

導入は以上です。




動作確認

ここで、lighttpdphpがうまく動いているか確認したいと思います。
まず、Webサーバのドキュメントルートが
/var/www/html/
となるので、その配下にphpinfo.phpファイルを作成します。

$ cd /var/www/html

$ sudo vi phpinfo.php




phpinfo.phpファイルの中身は以下となります。

<?php
phpinfo();
?>




ファイルを追加したら、PC(mac)のブラウザからラズパイのWeb画面を確認します。

まずPCブラウザにラズパイのIPアドレスを入力します。
sshのIPと同じです。ローカルのネットワークでしたら以下のようになるかと。

192.168.X.X


するとlighttpdのページが確認できると思います。
f:id:taka230035:20161126142424p:plain:w200

これでlighttpdの動作は完了です。


次にphpです。
ラズパイIPアドレスに /phpinfo.php と付けたものをブラウザのアドレスに入力してみましょう。

192.168.X.X/phpinfo.php


phpのページが確認できると思います。
f:id:taka230035:20161126143822p:plain:w200

これでphpも動作確認完了です。


今回でphpファイルでWebページを表示できるようになりました。
次回はGPIOコマンドの設定を行います。

以上です。



次回のリンクは以下となります。

rasp0035.hatenablog.com