raspberry pi をwebサーバにする手順
目的はフィジカルコンピューティングやIoTと呼ばれるたぐいのものです.具体的にはセンサ情報・ログのモニタリング,軽量なwebサーバである lighttpd を入れてCGI経由で python スクリプトを起動したりします.
python スクリプトはi2cなどでセンサ情報を収集したり外部機器を制御するもので,これらを組み合わせることでスマホでエアコンをOn/Offしたり,温度やCO2をモニタリングしたりできるようになります.
インストール&初期設定
$ sudo apt install lighttpd
Webサーバには SSL対応とか CGIやPHP,認証など様々な機能があります.これらの機能は,lighttpd ではモジュールという単位で実装されており,不要なモジュールを無効にすることでWebサーバの処理をできるだけ軽くする方針になっています
モジュールの設定は lighttpd-enable-mod lighttpd-disable-mod で行います
$ sudo lighttpd-enable-mod
Disabled modules: accesslog auth cgi debian-doc dir-listing evasive evhost expire extforward fastcgi fastcgi-php flv-streaming no-www proxy rewrite rrdtool simple-vhost ssi ssl status userdir usertrack
Enabled modues:
CGI の機能は cgi モジュールで実装されています. fastcgiというモジュールもありますがこれは 複数のリクエストを一回の外部プログラム起動で行うためのCGI拡張機能で,cgiモジュールとは別機能になります.
cgi モジュールを有効にします
$ sudo lighttpd-enable-mod cgi
設定を変更したら systemd経由で lighttpd を(再)起動します
$ sudo systemctl restart lighttpd