環境構築

【Python】Raspberry PiにApache2をインストールしてHTMLを出力

はじめに

Raspberry Pi 3Apache をインストールする手順を記述します。ローカルWEBサーバとして稼働させます。

Raspberry Pi に Python をインストールする方法はこちらの記事を参考にしてください。

【Python】Raspberry Pi の OS(RASPBIAN)に Python をインストール
はじめに Raspberry Pi に Python をインストールする手順を記述しました。「Raspberry Pi」の購入と、「OS」のインストールが完了しているのが前提で作業をすすめていきます。 環境 ・Raspberry ...

作業環境

  • Raspberry Pi 3 Model B
  • RASPBIAN 8.0 jessie
  • Python 3.8.0


Raspberry Pi 3 Model B V1.2 (日本製) 国内正規代理店品

Apacheのインストール

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2
$ sudo apt-get install apache2-dev

ローカルWEBサーバとして稼働しているか確認

同ローカルネットワーク上のPCのブラウザに Raspberry Pi の アドレスでApacheが起動しているか確認します。

わたしの環境では、Raspberry Piは 「192.168.10.20」で稼働していますので、同じローカルネットワークに接続している他のPCのブラウザに「http://192.168.10.20/」と打ち込んで実行します。下記画面が表示されれば、Apacheのインストールが無事完了しています。

Apache のコマンド

スタート

$ sudo service apache2 start

リスタート

$ sudo service apache2 restart

ストップ

$ sudo service apache2 stop

 

Apache で Python を実行できる環境の作成

Pythonスクリプトを実行できるようにCGIの設定する

cgi.loadのシンボリックリンクを貼る

$ sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load

拡張子.py でCGIが実行できるようにする

$ sudo vi /etc/apache2/mods-available/mime.conf
# AddHandler cgi-script .cgi
  ↓ コメントを外し、「.py」を追記
  AddHandler cgi-script .cgi .py

CGIを動かすディレクトリを定義

$ sudo vi /etc/apache2/conf-available/serve-cgi-bin.conf
[変更前]
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">

[変更後]
ScriptAlias /cgi-bin/ /home/pi/public_html/cgi-bin
<Directory "/home/pi/public_html/cgi-bin">

Apache の再起動

$ sudo service apache2 restart

 

Pythonで作ったサンプルページの表示確認

コード記述

vi /home/pi/public_htm/cgi-bin/sample.py
Python
#!/usr/bin/python # -*- coding: utf-8 -*- print("Content-Type: text/html") print("") ### <-- ここに改行がないと「Internal Server Error」になります。 print("Hello World.")

実行

ブラウザに「http://192.168.10.20/~pi/cgi-bin/sample.py」と入力し実行

実行結果

実行結果
Hello World.

 

おわりに

Raspberry Pi で WEBサーバを立て、PythonでWEBアプリが動作することが確認できましたね。


Raspberry Pi 3 Model B V1.2 (日本製) 国内正規代理店品

この記事がお役に立てましたら幸いです。
人気ブログランキングに参加しております。
よろしければクリックしていただけると嬉しいです。
にほんブログ村 IT技術ブログ Pythonへ
※本サイトに掲載する情報には充分に注意を払っておりますが、その内容について保証するものではありません。
※本サイトの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。

コメント

タイトルとURLをコピーしました