ここではWEBサーバーの構築手順を記載します。
##WEBサーバーの構築
###1.Apache2のインストール
WEBサーバーとしてApache2をインストールする。
sudo apt install -y apache2
apache2 -v
自宅のLAN内限定ならセキュリティとか関係ないけど、一応お決まりとして、WEBでバージョン表示をしないようにする。
sudo vi /etc/apache2/conf-available/security.conf
36行目付近を変更する。OnをコメントアウトしてOffを有効にする。
ServerSignature Off
#ServerSignature On
デフォルトページを非表示にする。ドキュメントルートを確認。
sudo vi /etc/apache2/sites-available/000-default.conf
"DocumentRoot"で検索すると、/var/www/htmlと記載されているので、ここにあるindex.htmlを削除する。
sudo rm /var/www/html/index.html
ついでにシンボリックリンクの有効化などの設定をDocumentRootの下に追記する。
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
###2.Apache経由のPHPからsudoコマンドが実行できるようにする。具体的にはsudoにApacheのユーザーであるwww-dataを追加する。
sudo visudo
一番下の行に、以下を追記。
www-data ALL=(ALL) NOPASSWD: ALL
###3.PHPのインストール準備
リポジトリ管理としてdirmngrをインストールする。
sudo apt install -y dirmngr --install-recommends
sudo apt update
sudo apt -y upgrade (必要に応じて)
再起動する。
リポジトリを設定。
sudo vi /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
sudo vi /etc/apt/preferences (新規作成)
Package: *
Pin: release n=jessie
Pin-Priority: 600i
リポジトリキーを設定。
sudo gpg --keyserver pgpkeys.mit.edu --recv-key CCD91D6111A06851
sudo gpg --armor --export CCD91D6111A06851 | sudo apt-key add -
sudo apt update
###4.PHPのインストール
sudo apt -y install php
php -v
タイムゾーンを設定。
data.timezoneのコメントを外して、Asia/Tokyoを記載。
sudo vi /etc/php/7.0/cli/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Tokyo
Apache2側の設定も同様にする。
sudo vi /etc/php/7.0/apache2/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Tokyo
Apache2を再起動する。
sudo service apache2 restart
###5.動作確認
PHPのバージョン表示するページを作成して確認する。
sudo vi /var/www/html/index.php (新規作成)
<?php
phpinfo();
?>
ブラウザでラズパイのIPアドレスを指定し、PHPのデフォルトの表示が出ることを確認。
http://192.168.0.31/ など
確認後、index.phpは不要なので削除する。
次回、ラズパイ+BME280でIoT環境センサー構築(その3)でグラフ表示可能にします。