Raspberry PiをWebサーバとして使用するため,Apacheをインストールする手順を記載します.
Apache公式のHow-To / チュートリアルも参考にしてください.
ここでは以下を行います.
・Apache2の導入
・Webサーバのポート番号の変更
・cgiの設定
①ダウンロードとインストール
$ sudo apt-get install apache2
②動作確認
/var/www/html/test.htmlに以下を記載
This page is test page.
http://localhost/html/test.htmlにアクセスして動作確認
③ユーザーディレクトリの有効化
デフォルトだと/var以下にhtmlファイルなどを置く必要があるので,
ユーザーのディレクトリ(/home/pi/public_html)以下に置けるようにする.
$ cd /home/pi
$ sudo a2enmod userdir
$ mkdir ~/public_html
$ sudo cp /var/www/html/test.html ~/public_html
$ sudo service apache2 restart
で
http://localhost/~pi/test.htmlにアクセスして動作確認
④ポートの変更
$ sudo nano /etc/apache2/sites-available/default
$ sudo nano /etc/apache2/ports.conf
で双方ポートを任意の値に変更する.
⑤cgiの設定
(a)cgiを有効にする
$ sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
(b)cgiの設定を変更する
$ sudo nano /etc/apache2/sites-enabled/000-default
でInclude conf-available/serve-cgi-bin.confのコメントを外し,以下を変更する
(変更前)
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
(変更後)
ScriptAlias /cgi-bin/ /home/pi/public_html/cgi-bin
~~~
AddHandler mod_python .py
AddHandler cgi-script .cgi .py .pl
/etc/apache2/mods-enabled/mime.conf 219行目
で,AddHandlerのコメントを外し,.pyを追加
#AddHandler cgi-script .cgi
→AddHandler cgi-script .cgi .py
(d)test.pyでテスト
/home/pi/public_html/cgi-bin/test.pyに以下を記述
#!/usr/bin/python --
f=open('/home/pi/test.csv','a')
print "Content-type: text/html"
print ""
print "
"print "
print ""
print "
This is a test page with python script."print ""
http://localhost/~pi/cgi-bin/test.pyにアクセス
(e)アクセス権設定
apacheのユーザ(www-data)は通常のユーザとは異なるため,直接ファイル操作等ができない.
そのため操作するデータが格納されたディレクトリの所有者を以下のように変更しておく.
$ sudo chown www-data:www-data /home/pi/public_html
データの入ってるフォルダの所有権をwww-data(apacheの起動ユーザ)に移す