上記の広告は1ヶ月以上更新のないブログに表示されています。 新しい記事を書く事で広告が消せます。
--/--/--(--) --:--:-- |
スポンサー広告
昨日までで、GPIOの制御ができるようになりました。
今日は
Web サーバーのインストールをします。
GPIOからの信号を
Web に表示させたり、
Web からの操作で、GPIOを制御したりと、そういうのに使おうと思います。
1.Web サーバー(Apache 2)のインストール $ sudo apt-get update $ sudo apt-get install apache2 ここで、PHPやperlなんかを一緒に入れてしまう人も多いようです。
2.Web サーバーの動作確認 この時点で、
Web サーバーが動きます。
http://192.168.0.***
にブラウザアクセスすれば、
It works! まで表示可能
エラーが出て動かないときは、
$ sudo groupadd www-data $ sudo usermod -g www-data www-data などでユーザーを追加してみましょう
これは、
Apache 2の動作権限でエラーが出る場合が多いらしいです
Apache 2の設定は、/etc/apache2/に入るわけですが、
その /etc/apache2/apache2.conf 内に記述されています
User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} ※ ${APACHE_RUN_USER}、${APACHE_RUN_GROUP} の実際の値は、 envvarsファイル内に "export APACHE_RUN_USER=www-data"なんて形で記載されています このため、このユーザーを追加してやれば、動作できるようになるということらしいです。
まぁ設定の方を変えちゃっても良いんだとは思いますが・・・
3.設定の確認 ルートドキュメントや、cgiディレクトリの確認しときます
/etc/apache2/sites-availableを開きます
> DocumentRoot /var/www
>
Webサーバーのルートがここになります
> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
>
> AllowOverride None > Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch > Order allow,deny > Allow from all > スクリプトcgiの設定です。
/usr/lib/cgi-bi/nのスクリプトが、Web上の ../cgi-bin/として動作するとのことです
まぁつまりスクリプトファイルやcgiは、/usr/lib/cgi-bi/hogehoe.cgiとおくと
これは、Web上からは、http://192.168.0.***/cgi-bin/hogehoe.cgi としてアクセスできるということらしいです
まぁ設定を変更する必要はなかったです。
4.テスト用ファイル、cgiの作成、動作確認 4-1.シェルの呼び出し 以下の内容で、/usr/lib/cgi-bin/test.cgiを作成します。
- - - - - test.cgi- - - - - - - - - - -
#!/bin/sh echo "Hello apache!\n" > testapache.txt - - - - - - - - - - - - - - - - - - - -
セキュリティ的なところは置いておいて、
/usr/lib/cgi-bin/ ディレクトリのパーミッションを変更します
$ sudo chmod 755 /usr/lib/cgi-bin/ test.cgiも実行ができるように、実行権限を追加しておきます
$ sudo chmod 755 /usr/lib/cgi-bin/test.cgi この上で、ブラウザから以下へアクセスします。
http://192.168.0.***/cgi-bin/test.cgi
503なんかのエラーが出ますが、
/usr/lib/cgi-bin/のディレクトリを見ると、testapache.txtが作成されています。
こんな感じで、ユーザーからのインタフェースになります。
4-2.Pythsonの呼び出し
まぁPerlでもRubyでも好きなものでいいと思いますが、
Pythsonが、Raspbianにはじめから入っているものですから・・・
- - - - - test2.cgi- - - - - - - - - - -
#!/usr/bin/env python # -*- coding: UTF-8 -*- import cgi def main(): print "Content-type: text/html\n" form = cgi.FieldStorage() print "<h1>Test Pythson</h1>" main() - - - - - - - - - - - - - - - - - - - -
同様にこれも、/usr/lib/cgi-bin/test2.cgiとしておいてあげて
実行権限を付け加えておいてやります
http://192.168.0.***/cgi-bin/test2.cgi
へアクセスすると、Test Pythsonと表示されました。
後は、補足になりますが、
何も設定を変えていないと、
Webサーバーのアクセスログの場所は、
/var/log/apache2
になります。
あと、Webサーバーの再起動は、以下のコマンドで可能です
$sudo /etc/init.d/apache2 restart
スポンサーサイト
テーマ:プログラミング - ジャンル:コンピュータ
2013/05/06(月) 00:09:26 |
Raspberry Pi
| トラックバック:0
| コメント:0