Raspberry Piをサーバ化する その2(サーバを立てる)
こんにちは.
前回宣言した通り,ラズパイをサーバ化したいと思います.
ラズパイにログインし,下記のコマンドを実行します.最初の1行は常に最新版のアプリをインストールするためのお約束ですね.
sudo apt-get update
sudo apt-get install apache2
次にApache2で立てたサーバにアクセスしたときにデフォルトで使用されるフォルダのオーナをpiに変更します.
sudo chown pi -R /var/www
この時点で/var/wwwの中にhtmlファイルを入れると,ブラウザから閲覧できるはずです.ためしにそのフォルダを見てみましょう.
ls -l /var/www
正しくインストールされていれば,以下のように表示されるはずです.
index.html
ではApacheが正しく動いているかどうか試してみましょう.下記のURLにMacのブラウザからアクセスしてみましょう.
下記のように表示されれば成功です.
つまり,/var/wwwに入っているファイルに,http経由でアクセスできるようになったということです.これがApacheの機能です.
ラズパイ起動時にApache2を自動的に起動できるよう,以下のコマンドを実行します.
sudo update-rc.d apache2 defaults
ただこれだけでは単にWEBサーバが立っただけで,ラズパイのありがたみが無いですよね.そこで,サーバ経由でGPIOを操作する準備について解説していきます.
サーバ上で色々とプログラムを動かすために,PHPという言語でプログラムを書いていきます.また,PHPでGPIOを制御するためにWiringPi-PHPというライブラリをインストールします[3][4].ライブラリとは,よく使う機能をパッケージ化してモジュールのようにしたものです.
sudo apt-get install php5 php5-dev
git clone --recursive https://github.com/WiringPi/WiringPi-PHP.git
cd WiringPi-PHP
./build.sh
sudo ./install.sh
早速動作確認のため,phpファイルを作成します.
sudo echo "<?php phpinfo();" > /var/www/index.php
作成できたら下記のURLにブラウザからアクセスします.
以下のような画面が出れば成功です.
次回はデータベースを導入して,GPIOの信号をデータベースに蓄積してみたいと思います.
参考文献
[1]MGU Gearを使ってみる「Raspberry Pi の超簡単設定4 遠隔操作ApacheサーバーとPHPから操作する」(http://mcugear.blogspot.jp/2014/02/raspberry-pi-apachephp.html)
[2]XodusTech「Raspberry Pi PHP GPIO Guide」(http://www.xodustech.com/guides/raspberry-pi-php-gpio)
[3]Just Another チラシの裏「Raspberry PiとPHPで遊ぼう」(http://oasynnoum.blogspot.jp/2013/12/raspberry-pi-php.html)
[4]Github「WiringPi/WiringPi-PHP」(https://github.com/WiringPi/WiringPi-PHP)