Raspberrpy PiのWebサーバ(Apache)化

Raspberry PiをWebサーバとして使用するため,Apacheをインストールする手順を記載します.

Apache公式のHow-To / チュートリアルも参考にしてください.

ここでは以下を行います.

・Apache2の導入

・Webサーバのポート番号の変更

cgiの設定

①ダウンロードとインストール

 $ sudo apt-get install apache2

②動作確認

 /var/www/html/test.htmlに以下を記載

test

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 "test"

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の起動ユーザ)に移す