2017.09.14
2ステップでRaspberry PiをWebサーバー化して、ブラウザからPythonスクリプトを走らせる方法
自宅のIoT化進めていますが、Raspberry PiにApache入れてブラウザからPythonスクリプト走らせたり結果を表示したりする方法の個人的メモ
■Step.1: Apacheインストール
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2
サーバー起動
sudo service apache2 start
これでRaspberry PiのIPをブラウザでアクセスして(例:http://192.168.1.78など)「it working」みたいな画面が出ることをチェック
■Step.2: cgiを動作可能にする
(1)
各種設定ファイルは
/etc/apache2/に分散して入っている。/etc/apache2/mods-available/に利用可能な設定入っていて、/etc/apache2/mods-enabled/内のものが実際に使用可能になる、シンボリックリンクでcgi.loadをenabledディレクトリに
sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
(2)/etc/apache2/mods-available/mime.conf
中の
#AddHandler cgi-script .cgi
を、コメントアウトをはずして、.pyを追加
AddHandler cgi-script .cgi .py
(3)Webアクセスするディレクトリは/var/www/なのでそこをスクリプト実行可能にする
具体的には
/etc/apache2/sites-available/defalt
中の<Directory /var/www/html>で囲われている中に
Options +ExecCGI
を追加
※バージョンより上記ファイルが無いことがあるみたい。直接/etc/apache2/apache2.confに書いてもい?
→OKっぽい
Apacheを再始動
sudo service apache2 restart
■注意点
これで/var/www中の.pyが実行可能になる。実行属性をつけるのを忘れないように
(例)sudo chmod 755 /var/www/1wire.py
あとスクリプトの最初の行に
#!/usr/bin/python
と書くことが必要。
何か表示するには最初に
print "Content-Type:text/html\n\n"
と書いておかないとブラウザに表示されない。
■■参考■■
何かトラブルがあった場合は
/var/log/apache2/error.log
にエラーログが出るのでそこを見る。
上記で現状は問題は起きてないけどいれたモジュールが権限の関係で実行出来ないことがあるらしい。たとえばその場合はapacheの実行ユーザーであるww-dataをグループgpioに追加するなど必要とのこと。
sudo gpasswd -a www-data gpio
この後、apacheを再起動する必要あり
追記
続き
Category:#電子工作 Raspberry Pi、Arduinoなど
Follow @fetuin
■ ■ ■ コメント ■ ■ ■
この記事のアクセス数:2927本カテゴリーで直近コメントが書かれた記事
12/12 00:58:縲勲5Stamp Fly縲阪r繝峨Ο繝シ繝ウ蛻晏ソ��′閾ェ螳�〒鬟帙�縺励※繝輔ぃ繝シ繝�繧ヲ繧ァ繧「譖エ譁ー縺九i螳呵ソ斐j縲ゞnitCam莉倥¢縺溘j縺ィ縺�295183蛻�燕
11/29 08:19:縺翫≧縺。遘区怦髮サ蟄舌°繧茨シ∬�螳��遨阪∩髮サ蟄舌く繝�ヨ縺後☆縺斐>驥上↓繝サ繝サ繝サ217譌・蜑�
11/27 09:16:縲軍aspberry Pi Pico 2 W縲阪�7繝峨Ν��1000蜀�シ峨〒Bluetooth繧8ifi繧ゆスソ縺医k219譌・蜑�
07/01 21:34:Arduino縺ァ闊ェ遨コ辟。邱壹′閨エ縺代k縲�Arduino Nano縺ァ蛻カ蠕。縺吶k繧ィ繧「繝舌Φ繝牙女菫。繧キ繝シ繝ォ繝峨郡CARP縲阪′9500蜀��2024蟷エ10譛亥�闕キ髢句ァ�368譌・蜑�
12/06 16:22:襍、螟也キ壹き繝�ヨ繝輔ぅ繝ォ繧ソ繝シ辟。縺励�繝ゥ繧コ繝代う蜈ャ蠑上き繝。繝ゥv2縺ォ繝輔ぅ繝ォ繧ソ繝シ霑ス蜉�576譌・蜑�
11/03 10:39:繧ェ繝シ繝励Φ繧ス繝シ繧ケ縺ョ螳カ蠎ュ逕ィ蝨ー髴�ィ医窪QIS-1縲�(PRIORIS)縺ョ螳梧�蜩√′8580蜀�〒逋サ蝣エ609譌・蜑�
09/29 11:31:Raspberry Pi 5縺檎匱陦ィ縲�4縺九i2蛟埼ォ倬溷喧縲`2繧ケ繝医Ξ繝シ繧ク縺翫h縺ウPCI-Express2.0蟇セ蠢懊ょ、紋サ倥¢縺ァGPU縺後▽縺ェ縺偵■繧�≧��1荳����644譌・蜑�
08/28 00:48:Raspberry pi zero 2W縺梧悽蠖薙↓3500蜀�〒譚・縺滂シ】ero縺ィ縺ョ豈碑シ�676譌・蜑�
08/22 09:42:Raspberry zero 2W縺碁∵侭霎シ縺ソ3500蜀�682譌・蜑�
06/24 23:21:莉頑怦縺ョ縲後ヨ繝ゥ繝ウ繧ク繧ケ繧ソ謚陦薙阪�繝ゥ繧コ繝代う繧ォ繝。繝ゥ迚ケ髮�ょ℡縺�%縺ョ髮題ェ後そ繝溘�繝ュ縺ョ蟇�ィソ繧帝寔繧√◆蜷御ココ隱後□741譌・蜑�
05/06 22:29:Raspberry Pi縺ァCPU貂ゥ蠎ヲ繧呈クャ螳壹☆繧区婿豕�790譌・蜑�
04/24 23:54:菴墓律髢捺戟縺、縺句ョ滄ィ薙ゅΛ繧コ繝代うzero縺ォUSB繧ォ繝。繝ゥ縺ィ繝「繝舌う繝ォ繝舌ャ繝�Μ繝シ繧偵▽縺ェ縺�〒繝ェ繧「繝ォ繧ソ繧、繝�驟堺ソ。802譌・蜑�
04/08 09:45:縲弱%繧後′螻翫¥鬆�∽ソコ縺ョ逡代�譌「縺ォ豁サ繧薙〒縺�k縺�繧阪≧縲上Λ繧コ繝吶Μ繝シ繧貞慍讀阪∴縺励※雜�オカ蠕梧t縺励◆莠コ縺ョ謇玖ィ�818譌・蜑�
→カテゴリー:#電子工作 Raspberry Pi、Arduinoなど(記事数:240)
本カテゴリーの最近の記事(コメント数)
2025.04.21Raspberry Pi縺ィLiDAR繧サ繝ウ繧オ繝シ縺ァ360蠎ヲ3D繝代ヮ繝ゥ繝槭せ繧ュ繝」繝翫�繧定�菴懊☆繧九が繝シ繝励Φ繧ス繝シ繧ケ繝励Ο繧ク繧ァ繧ッ繝医訓iLiDAR縲�1繧ウ繝。
2025.03.05繝ゥ繧コ繝代う蜈ャ蠑擾シ√�繝。繝ゥ逧�↑譁�ォ�菴懈�逕ィ繝上Φ繝峨�繝ォ繝臼C縲勲icro Journal Rev.2 ReVamp縲阪�Zero 2W謳ュ霈�4繧ウ繝。
2025.02.27逅�ウサ繝輔Μ繝�8縺�3譛�1譌・髢句ぎ4繧ウ繝。
2024.12.10縲勲5Stamp Fly縲阪r繝峨Ο繝シ繝ウ蛻晏ソ��′閾ェ螳�〒鬟帙�縺励※繝輔ぃ繝シ繝�繧ヲ繧ァ繧「譖エ譁ー縺九i螳呵ソ斐j縲ゞnitCam莉倥¢縺溘j縺ィ縺�32繧ウ繝。
2024.12.05Seeed縺ョRaspberry Pi zero逕ィGrove Base(HAT)縺後�繧ケ繝医ヵ繧」繝�ヨ縺ァ濶ッ縺�─縺�11繧ウ繝。
2024.12.04Raspberry Pi縺ョ繧ォ繝。繝ゥ縺ァ髱呎ュ「逕サ繧呈聴繧区凾縺ョ繧ェ繝励す繝ァ繝ウ繝。繝「:fswebcam/USB繧ォ繝。繝ゥ譎ゅ→raspistill/蜈ャ蠑上き繝。繝ゥ9繧ウ繝。
2024.11.28縺翫≧縺。遘区怦髮サ蟄舌°繧茨シ∬�螳��遨阪∩髮サ蟄舌く繝�ヨ縺後☆縺斐>驥上↓繝サ繝サ繝サ30繧ウ繝。
2024.11.26縲軍aspberry Pi Pico 2 W縲阪�7繝峨Ν��1000蜀�シ峨〒Bluetooth繧8ifi繧ゆスソ縺医k72繧ウ繝。
2024.11.17Raspberry Pi繝吶�繧ケ縺ョ遶倶ス楢ヲ悶き繝。繝ゥ繧剃ス懊k縺溘a縺ョ繧ェ繝シ繝励Φ繧ス繝シ繧ケ繝懊�繝峨郡tereoPi縲�19繧ウ繝。
2024.11.03Raspberry Pi縺ィ繝�ぅ繧ケ繝励Ξ繧、縺ァ縺頑焔霆ス繝�ず繧ソ繝ォ繧オ繧、繝阪�繧ク繧剃ス懊l繧九が繝シ繝励Φ繧ス繝シ繧ケ繧ス繝輔ヨ縲窟nthias縲�5繧ウ繝。
髫エ蟠「ツ鬮エ蜿ー�サ�」�ス�ス髯晢スカ�ス�ク鬯ィ�セ�ス�」驍オ�コ髴郁イサ�ス�ス 驍オ�コ�ス�ィ驍オ�コ闕ウ螂�スス竏ォ�ク�コ�ス�ス髫ィ蛛�スソ�ス82驍オ�イ�つDcd髫ィ蛛�スソ�ス85驍オ�イ�つ髴大、イ�ス�ケ髯キ�サ�ス�ス驍オ�コ髴郁イサ�ス�ス髫ィ蛛�スソ�ス79驍オ�イ�つ驍オ�コ�ス�オ驍オ�コ�ス�ス隨�ソス驛「�ァ�ス�ス�ス讓抵スケ�ァ髦ョ蜻サ�シ�ス�ケ�ァ髦ョ蜻サ�ソ�ス驍オ�コ遶丞、イ�ス�ス(驛「�ァ�ス�ス�ス迢暦スケ�ァ驗呻スォ�ス�ス�ケ譎「�ス�ゥ驛「譎「�ス�ェ驛「譎「�ス�シ)髫ィ蛛�スソ�ス102驍オ�イ�つ驛「�ァ陝イ�ィ�ス�ス髫ィ蛛�スソ�ス32驍オ�イ�つJP髫ィ蛛�スソ�ス26驍オ�イ�つ驍オ�コ�ス�ス遶企豪�ケ�ァ�ス�ス(em驍オ�コ�ス�ァ驛「譎樔コらクコ驢搾スケ�ァ�ス�オ驛「�ァ�ス�ケ5驕カ鬆第��ス�ソ�ス�ス)髫ィ蛛�スソ�ス38驍オ�イ�つ�ス謫セ�ソ�ス(驍オ�コ�ス�ッ驍オ�コ陋滂ス・�ス竏ォ�ク�コ�ス�ヲ驍オ�コ�ス�ョ驍オ�コ陷キ�カ遶擾スェ驍オ�コ�ス�サ) TW髫ィ蛛�スソ�ス52驍オ�イ�つumomo髫ィ蛛�スソ�ス2驍オ�イ�つ驍オ�コ�ス�オ驍オ�コ�ス�ス隨�ソス驛「�ァ�ス�ス�ス讓抵スケ�ァ�ス�ス(髣包スウ�ス�サ髯橸スウ�ス�ー) TW髫ィ蛛�スソ�ス96驍オ�イ�つ驛「譎冗樟邵コ驢搾スケ譎「�ス�。驛「譎「�ス�シ髫ィ蛛�スソ�ス17驍オ�イ�つ驍オ�コ�ス�オ驍オ�コ�ス�ス�ス讓抵スク�コ�ス�。驛「�ァ�ス�ス�ス�ス髫ィ蛛�スソ�ス2驍オ�イ�つ774(驕カ雍具スサ蜻趣スソ�ス鬮ォ諤懶ソス�ス�ス驍オ�コ�ス�イ驍オ�コ�ス�ィ)髫ィ蛛�スソ�ス83驍オ�イ�つ鬯ゥ貊馴ア抵ソス繧会スク�コ髣企ッ会スス�ス髫ィ蛛�スソ�ス41驍オ�イ�つ驍オ�コ陷キ�カ遯カ�ウ驛「�ァ�ス�ス遯カ�ウ髫ィ蛛�スソ�ス78驍オ�イ�つ髯具スケ�ス�ソ髯キ�キ隰ウ�セ�ス�シ�ス�ス髫ィ蛛�スソ�ス28驍オ�イ�つ驍オ�コ髴域喚ツ�サ驍オ�コ髴域喚ツ�サ髫ィ蛛�スソ�ス30驍オ�イ�つF髫ィ蛛�スソ�ス52驍オ�イ�つ驍オ�コ�ス�ス�ス�ス(髮句・�スソ�ス陝キ�サ鬮」謳セ�ス�ヲ鬮」魃会スス�カ髣包スオ�ス�ス�ス�ス驍オ�コ�ス�カ驛「�ァ�ス�ス)髫ィ蛛�スソ�ス70驍オ�イ�つ驍オ�コ�ス�ェ驍オ�コ�ス�ェ驍オ�コ陷会スア�ス�ス�ク�コ�ス�ス髫ィ蛛�スソ�ス73驍オ�イ�つ髣費ソス�ス�ャ驛「譎�コ「�趣スヲ3B(髫イ�「闕ウ讓奇ソス驍オ�コ�ス�ァ驛「�ァ郢ァ�ス笙驛「譎「�ソ�ス邵コ�ス)髫ィ蛛�スソ�ス40驍オ�イ�つknob髫ィ蛛�スソ�ス2驍オ�イ�つ髯キ�キ隶朱宦閹夐辨�サ驕擾スゥ隴幢スェ鬮ォ蛛�スス�ソ髣費ソス�ス�コ TW髫ィ蛛�スソ�ス25驍オ�イ�つ鬨セ蜈キ�ス�ス髫ィ蛛�スソ�ス53驍オ�イ�つ驛「譎�コ「邵コ�ス髫ィ蛛�スソ�ス346驍オ�イ�つ髫ィ蛛�スソ�ス髫ィ蛛�スソ�ス45驍オ�イ�つ10髯晢スキ�ス�エ鬯ゥ蛹�スス�ク髫ー�ス�ソ�ス髫ィ蛛�スソ�ス48驍オ�イ�つ�ス謫セ�ソ�ス髫ィ蛛�スソ�ス105驍オ�イ�つorz髫ィ蛛�スソ�ス38驍オ�イ�つ鬮ォ�ー�ス�ス髫ィ蛛�スソ�ス80驍オ�イ�つ |