RaspberryPiにサーバをたてよう!
皆さん、こんにちは。KEYチームの矢納です。少し間が空いてしまいました。
過去記事の目次はこちらに移動しました。
今回RaspberryPiにサーバをたてるのにFlaskを使ってみたので、使い方を紹介しようかなと思います。 RaspberryPiにサーバを立てるということで軽量なWEBサーバは何だろうと調べたら、Flaskがヒットしました。
Flask(フラスク)は、プログラミング言語Python用の、軽量なウェブアプリケーションフレームワークである
wikipediaにしっかりと書いてありました(^o^)
では、今回試した事の紹介に入りたいと思います。全てRaspberryPi上実行しています。
1. pip、Flaskインストール
$ sudo apt-get install python-pip
$ sudo pip install Flask
2. サンプル作成
$ mkdir flask && cd flask
$ vi index.py
$ python index.py
WEBサーバが起動したので、http://<IPアドレス>:5000/
にアクセス。Hello World
と画面に表示されます。
3. SSLに対応
3.1 自己証明書の作成
$ openssl genrsa 2048 > server.key
$ openssl req -new -key server.key > server.csr
$ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
$ rm -f server.csr
作成した鍵たちは任意のところに保存しておいてください。
3.2 FlaskでSSL通信を行う
起動時の設定に証明書を設定
server.crt
と server.key
は先ほど保存したパスを指定して下さい。
これで https://<IPアドレス>:5000/
にアクセスすると無事にsslでの通信が完了です。
4. Basic認証をかける
こちらのサイトを参考にやってみました。
こちらのサイトに説明になってしまうので、簡単に説明します。
- decorator.pyの作成
- ここでID/PASSのチェックを行います
- FlaskにもFilterのような物が存在しているために、その部分で認証を行う
おわりに
このブログで書いたコードはGitHubにあげてありますので、参考にしてください。 https://github.com/Burning-Chai/Flask
Email: yanou at atware.co.jp