Apache2とphp5をインストールします。
Apacheは世界でもっとも使われているウェブサーバーソフトです。PHPと組み合わせることでスマホで簡単にラズパイのGPIOを制御したり、MySQLと組み合わせることでデータ管理がインタラクティブにできます。
今回はインストール方法をご紹介します(ง°̀ロ°́)ง
インストール作業
Apache2 / PHP5のインストール
いつも通りapt-get installでインストールします。
1 |
$ sudo apt-get install apache2 php5 |
もしうまくいかない場合にはDBの更新をすればうまく行くと思います。
1 |
$ sudo apt-get update |
インストールできたかを確認しよう
Apacheのインストールの確認をしましょう。
Apacheがうまくインストールされたかどうかはご自身のRaspberry Piにアクセスしてみればわかります。
http://Your_RaspberryPi_IP-Address/ へご自身のスマホやPCからアクセスしてみてください。Your_RaspberryPi_IP-AddressはラズパイのIPアドレスです。
うまくアクセスできれば下記画面が表示されます。
PHPがインストールされたかも確認しましょう。
PHPが正しくインストールされたかはコマンドラインから確認しましょう。
Apache運用に必要な設定をしよう
ApacheをRaspberry Piで使うのに便利な設定をしましょう。
データを置くフォルダの権限を変更する
これからApacheを使ってサーバー運用させるのに必要なhtml/phpファイルを置くためのディレクトリに一般ユーザーpiの権限がないと不便なのでpiにアクセス権を付与します。
1 |
$ sudo chown pi -R /var/www |
GPIO/I2Cを制御するための設定
ApacheからI2CデバイスやGPIOポートにアクセスしたい場合には?
ApacheからI2CデバイスやGPIOを制御するための設定をついでにしてきましょう。apacheはwww-dataというユーザー名なのでこのユーザー名に対して権限を付与します。
I2Cにアクセスできるグループi2cにapacheのユーザー名であるwww-dataを追加します。
1 |
$ sudo gpasswd -a www-data i2c |
ApacheからGPIOを制御したい場合には?
GPIOにアクセスできるグループgpioにapacheのユーザー名であるwww-dataを追加します。
1 |
$ sudo gpasswd -a www-data gpio |
最後は再起動
設定を反映させるためにapacheを再起動しましょう。
1 |
$ sudo /etc/init.d/apache2 restart |
RaspberryPi再起動後にApacheを起動するようにするには?
デフォルトではApacheはRaspberryPiの再起動後に起動しません。下記のように設定することでシステム起動時に起動するようになります。
1 |
$ sudo update-rc.d apache2 defaults |
PHPの設定状況を確認できるようにしましょう
PHPの設定はこれから少しづつ変えて行くことになります。現状どういう設定になっているかを出力できるようにしておくと後々楽なので確認できるようにしましょう。
phpinfo()関数を用意しましょう。
下記のコードをinfo.phpとして保存して/var/www/htmlに保存して
http://Your_RaspberryPi_IP-Address/info.php とアクセスしてみてください。
1 2 3 4 5 6 7 8 9 10 |
<html> <head> <title>PHP info</title> </head> <body> <?php phpinfo(); ?> </body> </html> |
まとめ
ちょっと大変でしたが、PHPとApacheのインストールが終わりました。これからご紹介するMySQLと組み合わせることでグラフを表示できるようになりますよー!後ほど更新します
記事を読んでいただいてありがとうございます。この記事がいいなと思ったら下記のSNSボタンのクリックをお願いします。励みになります😁
現在のphpのバージョンは7.0.19-1なので、
$ sudo apt-get install apache2 php5
のところは
$ sudo apt-get install apache2 php
としないとダメみたいです。
まっくん さん
私はPHP5.xで運用しています。プログラムは全てPHP5.xで確認したのでPHP7でどのようにするのか、動いた場合どうなるかは把握していません。。