IoT開発(7) RaspberryPiをIoTゲートウェイにする(II) VM上の開発環境にWEBサーバーをインストール
どもです。
このエントリは、前回の続きです。
今回は、前回のエントリで作成したVM上のRaspberryPi OSにnginx、php、MariaDBをインストール/設定して、WEBサーバー化します。
1.インストール
nginx、php、MariaDBを順番にインストールします。
1.1.nginx
コマンドプロンプトから、下記コマンドを実行します。
xx@raspberry:~$sudo apt-get install nginx
インストール完了後、ホストPCのブラウザで「http://(VMマシンのIPアドレス)」で次の画面が表示できれば、インストール完了です。
1.2.PHP
1.2.1.インストール
コマンドプロンプトから、下記コマンドを実行します。
xx@raspberry:~$sudo apt-get install php-fpm
見てわかる通り、コマンドの実行が完了したら、以下のコマンドを実行、バージョン情報が得られることを確認します。
なお私の環境では、
Ver.7.3.19
でした。
xx@raspberry:~$php-fpm -v PHP 7.3.19-1~deb10u1 (fpm-fcgi) (built: Jul 5 2020 06:46:45) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.19-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies
1.2.2.設定
nginxでは、phpはインストールするだけでは使用できません。
まず、nginxの設定を行います。
設定ファイルは、以下のコマンドを実行して開きます。
xx@raspberrypi:~$sudo vi /etc/nginx/sites-available/default
開いたファイルの44行目(私の環境)に、「index.php」を追加します。
また、その下にある「pass PHP scripts to FastCGI server」の部分をコメントアウトします。
43 # Add index.php to the list if you are using PHP
44 #index index.html index.htm index.nginx-debian.html;
追加
↓
45 index index.html index.htm index.nginx-debian.html index.php;
46
47 server_name _;
48
49 location / {
50 # First attempt to serve request as file, then
51 # as directory, then fall back to displaying a 404.
52 try_files $uri $uri/ =404;
53 }
54
55 # pass PHP scripts to FastCGI server
56 #
コメントアウト解除(2行)
↓
57 location ~ .php$ {
58 include snippets/fastcgi-php.conf;
59 #
60 # # With php-fpm (or other unix sockets):
コメントアウト解除
↓
61 fastcgi_pass unix:/run/php/php7.3-fpm.sock;
62 # # With php-cgi (or other tcp sockets):
63 # fastcgi_pass 127.0.0.1:9000;
コメントアウト解除
↓
64 }
65
66 # deny access to .htaccess files, if Apache's document root
67 # concurs with nginx's one
68 #
69 #location ~ /.ht {
70 # deny all;
71 #}
次に、php.iniを変更します。
以下のコマンドを実行して、phpの設定ファイルを開きます。
xx@raspberry:~ $ sudo vi /etc/php/7.3/fpm/php.ini
「7.3」の部分は、インストールしたphpのバージョンに従って変更してください。
開いたファイルの中で、790行目辺りに、
;cgi.fix_pathinfo=0
のコメントアウトを解除して、
cgi.fix_pathinfo=1
と変更します。
以上で、phpの設定は完了です。
設定が完了したら、phpとnginxを再起動します。
再起動は、それぞれ以下のコマンドを実行します。
xx@raspberry:~$sudo /etc/init.d/php7.3-fpm restart xx@raspberry:~$sudo /etc/init.d/nginx restart
次に、ドキュメントのルートフォルダに、以下のphpファイルを作成します。
以下のコマンドを実行し、下記コードを入力します。
xx@raspberrypi:~$sudo vi /var/www/html/test.php
ホストPCのブラウザで「http://(VMマシンのIPアドレス)/test.php」で次の画面(phpのステータス画面)が表示できれば、インストール完了です。

1.3.MariaDB
最後に、MariaDBをインストールします。
MariaDBのインストールは、コマンドライン上で下記コマンドを実行します。
sudo apt-get install mariadb-server mariadb-client
インストールが完了したら、次のコマンドを実行し、バージョンが取得できればインストール完了です。
xx@raspberry:~ $ sudo mariadb -V mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (i686) using readline 5.2
2.まとめ
今回、RaspberryPi OSにengix、PHP、MariaDBをインストールしました。
これで、他のセンサー/デバイスが送信したデータを「受信する」準備ができました。
次は、この構築した環境に、センサーの値を書き込む準備を行います。
ではっ!









ディスカッション
コメント一覧
まだ、コメントがありません