World Wide Web(以後Web)が普及してから30年以上が経過しました。Webの普及に貢献したのはWebブラウザですが、同時にWebサーバーであるApache HTTP Server(アパッチ。以後Apache)も普及していきました。その後、いくつものWebサーバーが登場しました。今ならApacheよりもNginxなどを選択する事もあるでしょう。
また、ちょっとした用途のWebサーバーであれば手軽なNodeJSなどを使う場合もあるでしょう。NodeJSを使ったWebサーバーについては第90回で軽く扱っていますので参考にしてみてください。
・第90回 Node-REDからコマンドを実行する(5)
https://news.mynavi.jp/techplus/article/natonakucommand-90/
今回はRaspberry PIにApacheを入れて動かしてみましょう。大昔と違って今ではとても簡単に入れて稼働させる事ができます。なるべくなら高速なRaspberry PIで動かした方がよいでしょう。
なお、今回動かすWebサーバーは外部には公開しないものとして説明します。
Apacheをインストール
現在のApacheはバージョン2.xです。まず、Raspberry PIのターミナルで以下のコマンドを入力します。
sudo apt update
次に以下のコマンドを入力します。
sudo apt install apache2 -y
無事にインストールされたら、もうWebサーバーは稼働しています。という事でWebブラウザからアクセスして動いているか確認してみましょう。
例えばraspberry PIがIPアドレス192.168.11.7であればブラウザのアドレス欄に以下のように入力してリターンキーを押します。
http://192.168.11.7/
Raspberry PIのアドレスがわからない場合は以下のコマンドを入力します。Raspberry PIで使えるインターフェースとともにネットワークアドレスが表示されます。
ip a
特定のインターフェースのアドレスを確認したい場合はインターフェース名を指定します。
ip addr show eth0
ip addr show wlan0
アドレスはIPv4とIPv6が表示されます。IPv4のアドレスだけ表示したい場合は以下のように入力します。
ip -4 addr show
特定のインターフェースのIPv4アドレスを表示する場合は以下のように入力します。
ip -4 addr show wlan0
IPv6アドレスを表示する場合は以下のようになります。
ip -6 addr show
ip -6 addr show wlan0
アドレスを確認したらブラウザでアクセスします。デフォルトのページが表示されればOKです。
デフォルトのページを変更
次にデフォルトのページを変更してみましょう。apacheではデフォルトのページは以下のディレクトリにあります。
/var/www/html
ここらへんはHTMLなどの知識が必要になりますが、単純にテキストだけ表示するのであれば以下のようにindex.htmlファイルの内容を書き換えます。
<!DOCTYPE html>
<head><meta charset=utf8>
<title>sample</title>
</head>
<body>
ラズベリーパイでapache
</body>
</html>
元のindex.htmlファイルを残しておきたい場合は以下のようにコピーを作っておくとよいでしょう。
sudo cp index.html index.html.old
sudo vi index.html
書き換えたらブラウザでアクセスします。図のように表示されればOKです。
このままではroot権限がないのでディレクトリ内容が書き換えられないので以下のようにしてユーザーをpiに変更しておきます。
sudo chown -R pi /var/www/html
ライブカメラ
ライブカメラのようにしたい場合はページ内に画像を表示するようにします。Raspberry PIでライブカメラを実現する場合は前回までの連載記事を参照してください。
Raspberry PIにCSIインターフェースのカメラを接続している場合、まずcd /var/www/html/としてカレントディレクトリを変更しておきます。次に以下のコマンドを実行しておきます(末尾に&をつけてバックグラウンドで稼働させることもできます)。これで、コマンドを停止するまで定期的(5秒ごと)に撮影が行われカレントディレクトリにlatest.jpgファイルが生成されます。もし、/var/www/html/images/ディレクトリ内に保存したい場合は./latest.jpgを/var/www/html/images/latest.jpgに変更してください。
while true; do rpicam-still -o ./latest.jpg --rotation 180; sleep 5; done > /dev/null 2>&1
撮影された画像は以下のようにしてブラウザで確認できます。
http://192.168.11.7/latest.jpg
WebブラウザおよびWebに関しては非常に多くの情報があります。勉強すれば、いろいろなことが実現できるでしょう。特にRaspberry PIなどIoTと組み合わせることで面白いことができると思います。
と、ここで終わるとちょっと短い感じがしたので、おまけでRaspberry PIにSambaをインストールする方法を載せておきます。Sambaを入れると手軽にMacなどとファイルのやり取りができるようになります。
Sambaをインストール
それではRaspberry PIにSambaをインストールしてみましょう。まず、以下のコマンドを入力します。
sudo apt update
sudo apt install samba -y
次に以下のコマンドを入力します。何もユーザーを作成していないので何も表示されないはずです。
sudo pdbedit -L
ここではユーザー名piを追加することにします。以下のように入力します。同じパスワードを2回入力します。好きなパスワードで構いません。もし、パスワード設定に失敗したら、もう一度「sudo smbpasswd -a pi」と入力して設定してください。
sudo smbpasswd -a pi
以下のコマンドを入力してユーザーが追加されたことを確認します。
sudo pdbedit -L
確認したらSambaを再起動します。
sudo systemctl restart smbd
これでRaspberry PIでSambaが稼働しました。Macから接続する場合はFinderのメニューから「移動>サーバへ接続...」を選択します。
接続するRaspberry PIのアドレスを入力します。プロトコルはSsambaなので先頭にsmb://を入れる必要があります。
入力したら接続ボタンをクリックします。ユーザー名と先ほど設定したパスワードを入力します。入力したら「接続」ボタンをクリックします。
マウントするボリューム(ディレクトリ)を選択します。
正常にマウントされるとFinderのウィンドウが開きます。
あとは必要に応じて設定してみてください。 それでは、また次回。
著者 仲村次郎
いろいろな事に手を出してみたものの結局身につかず、とりあえず目的の事ができればいいんじゃないかみたいな感じで生きております。


































