Memo

メモ > 技術 > 開発: RaspberryPi > Webサーバ

■Webサーバ
■HTTPDでアクセス
$ sudo apt-get install apache2 ... Apacheをインストール $ apache2 -v ... Apacheのバージョンを確認 $ sudo service apache2 start ... Apacheを起動 $ sudo service apache2 stop ... Apacheを停止させる場合 $ sudo service apache2 restart ... Apacheを再起動させる場合
完了後 http://127.0.0.1/ にアクセスすると /var/www/html/index.html が表示される http://localhost/ もしくは http://raspberrypi/ でもアクセスできる Raspberry Pi 3 に Apache 2.4 + PHP 7.0 をインストール | スモールサーバ開発部 https://blog.smallserver.jp/raspberry-pi-3-%E3%81%AB-apache-2-4-php-7-0-%E3%82%92%E3%82%A4%E3%83%B3%... Apacheの設定は以下も参考になる RaspbianにおけるApache2の設定 - Qiita https://qiita.com/takey/items/75e6984468f0f6870a97 ■PythonをCGIとして実行 【Python 3.6】Linux+AnacondaでCGIを動かそう | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト https://www.sejuku.net/blog/62938
# ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load # service apache2 restart # cd /usr/lib/cgi-bin # vi sample.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import cgi import cgitb cgitb.enable() print("Content-Type: text/html") # HTML is following print("") # blank line, end of headers print("<TITLE>CGI script output</TITLE>") print("<H1>This is my first CGI script</H1>") print("Hello, world!")
chmod +x /usr/lib/cgi-bin/sample.py
以下のようにアクセスすると、「This is my first CGI script」と表示される http://raspberrypi/cgi-bin/sample.py ■CGI置き場を /var/www/cgi-bin に変更
# mkdir /var/www/cgi-bin # vi /etc/apache2/conf-enabled/serve-cgi-bin.conf
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ↓ ScriptAlias /cgi-bin/ /var/www/cgi-bin/
# service apache2 restart
これで /var/www/cgi-bin に置いたものが /cgi-bin に反映される ■基本的なCGIプログラム
# vi /var/www/cgi-bin/test.py
#!/usr/bin/env python3.7 # coding: utf-8 # -*- coding: utf-8 -*- import sys,io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') print("Content-Type: text/html; charset=UTF-8\n") print("<!DOCTYPE html>") print("<html>") print("<head>") print("<meta charset=\"utf-8\">") print("<title>Python</title>") print("</head>") print("<body>") print("<h1>Python</h1>") print("<p>これはPythonの実行結果です。</p>") print("</body>") print("</html>")
# chmod 755 /var/www/cgi-bin/test.py
※2〜6行目は無くても表示された ※FTPソフトで転送する場合、アスキーモードで転送する

Advertisement