もちろんシリアル・コンソールから可能です。WiFiがついているRaspberry PI Zero Wでやってます。
APポイント探索
sudo nmcli dev wifi
APポイントリスト(出てこないことがある)
nmcli dev wifi list
初めての接続
sudo nmcli dev wifi con "<SSID>" password "<Password>"
次からの接続
sudo nmcli con up "SSID"
ということで。
IPがふられているかは、”ip a”で。
Lighttpd
いつものapt update, apt upgradeしたら
sudo apt -y install lighttpd
/etc/lighttpd/lighttpd.conf内のdocument rootを自分のフォルダーにwwwを作って、そちらにする。
一応、index.html作ってIt Works!とでも書いておく。
ドキュメントルートは(私は)誰からも触れるように〜と作ったwwwは777にする。
だって誰もこのボードの存在すら知らないし、外部からスキャンのしようもない。
CGIの設定
昔の記事のコピペ。だって昔の記事をいちいち参照するのメンドクサイ。
cgiモジュールの稼働
sudo lighttpd-enable-mod cgi
Pythonをcgiで動くようにする
/etc/ligttpd/conf-available/10-cgi.confを編集
server.modules += ( "mod_cgi" ) $HTTP["url"] =~ "^/cgi-bin/" { cgi.assign = ( ".py" => "/usr/bin/python" ) alias.url += ( "/cgi-bin/" => "/home/tsukasa/www/cgi-bin/" ) }
www以下にcgi-binフォルダーを作る。(フォルダーの属性は777にした)
以下のPython CGIを置いてみる。ヘッダーの#!を忘れないこと。
#!/usr/bin/python3 import cgi import cgitb # for debug cgitb.enable() # for debug form = cgi.FieldStorage() # get data from form value1 = form.getvalue('value1','') value2 = form.getvalue('value2','') print('Content-Type: text/html; charset=UTF-8\n') html_body = ''' <!DOCTYPE html> <html> <body> <h1>python cgi test</h1> <p>value1 is %s</p> <p>value2 is = %s</p> </body> </html> ''' print(html_body % (value1, value2))
ファイル名は以下のhtmlで呼び出す名前でformtest.pyとした。実行属性をつけた。
呼び出すhtmlはwww以下に置いた。
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>index</title></head><body>
<form action="/cgi-bin/formtest1.py" method="post">
<input type="text" name="value1"><BR />
<input type="text" name="value2"><BR />
<input type="submit" name="submit">
</form>
</body>
</html>