【Raspberry pi 3B】Webサーバ構築
前回「dnsmasq + hostapd(※1)」ソフトウェアを用いて、ラズベリーパイにアクセスポイントを構築しました。
今回「Flask」を用いて、ラズベリーパイにWebサーバを構築していきます。
※1:概要欄にリンクを張っています。
概要欄
ソフトウェア
Flask
Pythonで書かれた小規模向けのWebアプリケーションフレームワーク
pip
Pythonのパッケージ管理ソフトウェア
構成図
デバイス情報
・ノートPC(OS: Windows11)
・Raspberry Pi 3 model B(OS: Raspberry pi OS)
※マイクロSD 128GB(32GBでも可)
・無線LANアダプタ(WN-G300UA)
・ルータ
・LANケーブル
Webサーバ構築
pipソフトウェア確認
◇ バージョン確認
pip --version ; pip3 --version
◇ pipソフトウェアをインストール
※インストール済みなら飛ばす
apt update
apt -y install pip
pip --version ; pip3 --version
Flask導入
◇ Flaskパッケージ確認
pip list | grep 'flask'
◇ Flaskパッケージをインストール
※インストール済みなら飛ばす
pip install flask
pip list | grep 'flask'
◇ Flask用のディレクトリを作成
mkdir -p /python/www
◇ 作成したディレクトリに移動
cd /python/www
◇ templates ディレクトリを作成
※ここにHTMLファイルを配置する
mkdir /python/www/templates
ls -ld /python/www/templates
◇ THMLファイルを配置
cd /python/www/templates
vim test.html
<!DOCKTYPE html>
<heml lang="ja">
<head>
<meta charset="UTF-8">
<title>ログイン画面</title>
</head>
<body>
<h1>テスト</h1>
</body>
</html>
◇ main ファイルを作成
cd /python/www/ ; ls -l
touch main.py __init__.py ; ls -l
◇ mainファイルを編集
vim main.py
from flask import Flask, render_template
app = Flask(__name__)
ipaddr = '192.168.76.250'
port = 80
##################################################
# 以下からHTTPメソッド(GET、POST)の処理を記載
@app.route('/', methods=["GET"])
def web_test():
return render_template("test.html")
##################################################
if __name__ == '__main__':
app.run(host=ipaddr, port=port)
◇ Flaskを実行
python3 main.py
サイトにアクセス
◇ 確認事項
・アクセスポイントに付与されたIPアドレスになってる
・GETメソッドでブラウザからサイト閲覧できる