質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

5213閲覧

ubuntu Apache Flaskアプリケーションの公開

Y.NINOMIYA

総合スコア32

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/01/31 14:17

編集2020/02/01 11:31

発生している問題

localhostにアクセスしても500 Internal Server Errorが返される

app.py

/var/www/flask/app.py

Python

1from flask import Flask 2 3app = Flask(__name__) 4 5@app.route("/") 6def index(): 7 return "Hello World!" 8 9if __name__ == '__main__': 10 app.run(debug=False, host='0.0.0.0', port=5000)

flask_app.wsgi

/var/www/flask/flask_app.wsgi

wsgi

1import os,sys 2 3sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) 4 5from app import app as application

flask.conf

/etc/apache2/sites-available/flask.conf

conf

1<VirtualHost *:5000> 2 ServerName localhost:5000 3 4 WSGIDaemonProcess flask_app user=www-data group=www-data threads=5 5 WSGIScriptAlias / /var/www/flask/flask_app.wsgi 6 7 <Directory /var/www/flask> 8 WSGIProcessGroup flask_app 9 WSGIApplicationGroup %{GLOBAL} 10 Order deny,allow 11 Allow from all 12 </Directory> 13</VirtualHost>

/etc/apache2/ports.confListen 5000も追加しました。

第一目標

localhost:5000でHello World!を表示

第二目標

外部からのアクセスでHello World!を表示

環境

OS:ubuntu 18.04.3 LTS
Python 3.6.9
Apache/2.4.29 (Ubuntu)

サーバーにはSSHで接続しています。


python app.pyでflaskを稼働させて表示されたURLにアクセスするとHello World!は帰ってきます。

以下のページを参考にさせていただきました。
https://blog.akashisn.info/entry/%3Fp%3D258

必要なファイルがあるのであれば補足させていただきます。

よろしくお願いします。

補足①

localhostにアクセスを試みた時のapacheのエラーログです

error

1[Fri Jan 31 23:51:47.659698 2020] [wsgi:error] [pid 5521] [remote ::1:53028] mod_wsgi (pid=5521): Failed to exec Python script file '/var/www/flask/flask_app.wsgi'. 2[Fri Jan 31 23:51:47.659915 2020] [wsgi:error] [pid 5521] [remote ::1:53028] mod_wsgi (pid=5521): Exception occurred processing WSGI script '/var/www/flask/flask_app.wsgi'. 3[Fri Jan 31 23:51:47.660149 2020] [wsgi:error] [pid 5521] [remote ::1:53028] Traceback (most recent call last): 4[Fri Jan 31 23:51:47.660221 2020] [wsgi:error] [pid 5521] [remote ::1:53028] File "/var/www/flask/flask_app.wsgi", line 5, in <module> 5[Fri Jan 31 23:51:47.660230 2020] [wsgi:error] [pid 5521] [remote ::1:53028] from app import app as application 6[Fri Jan 31 23:51:47.660240 2020] [wsgi:error] [pid 5521] [remote ::1:53028] File "/var/www/flask/app.py", line 1, in <module> 7[Fri Jan 31 23:51:47.660246 2020] [wsgi:error] [pid 5521] [remote ::1:53028] from flask import Flask 8[Fri Jan 31 23:51:47.660277 2020] [wsgi:error] [pid 5521] [remote ::1:53028] ModuleNotFoundError: No module named 'flask' 9

補足②

サーバーはApache、virtualhostによって外部からのアクセスを別ディレクトリにdocumentrootしていましたが現在はvirtualhost.confはバックアップしてサーバーからは削除しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/01/31 14:41

Apacheのエラーログに何かしら出力されているかと思いますので質問に追記されると回答がされやすいかと思います
Y.NINOMIYA

2020/01/31 14:54

ご指摘ありがとうございます。補足させていただきました。
guest

回答2

0

ベストアンサー

エラーログにModuleNotFoundError: No module named 'flask'とありますのでflaskのインストールをしていないのでは?
pip install flaskをしてみてください

投稿2020/02/04 02:38

Disk

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.NINOMIYA

2020/02/04 03:46 編集

回答ありがとうございます。 flaskは既にインストールされています $ pip3 show flask Name: Flask Version: 1.1.1 Summary: A simple framework for building complex web applications. Home-page: https://palletsprojects.com/p/flask/ Author: Armin Ronacher Author-email: armin.ronacher@active-4.com License: BSD-3-Clause Location: /home/dev/.local/lib/python3.6/site-packages Requires: Werkzeug, itsdangerous, click, Jinja2 Required-by: 一度アンインストールして再インストールしてもエラーでした...
meshi_s

2020/02/04 04:09 編集

> Location: /home/dev/.local/lib/python3.6/site-packages 的外れかも知れませんが、 flaskがユーザインストール?されており、apacheが別ユーザで実行している為、ないと言われている?
Y.NINOMIYA

2020/02/04 05:44

あ!!ありがとうございます! そこが抜けていました!! 解決しました!!
grapefruit

2020/07/06 04:41

私まさに同じことではまっていますが、Y.NINOMIYAさんは下記について、どのように解決しましたか? >flaskがユーザインストール?されており、apacheが別ユーザで実行している為、ないと言われている?
Y.NINOMIYA

2020/07/15 00:12

sudoなしでインストールした場合はログインしているユーザがflask runしなければ動きませんでいた。apacheはwww-dataの権限でflaskを実行しようとしますがインストールされていないためエラーになります。そのためログインユーザのflaskを一度アンインストールして、sudoで再インストールすれば自分は動きました。
guest

0

エラーに出てきたモジュールを一度アンインストールし、sudoで再度インストールすれば解決します。

投稿2020/02/04 05:46

Y.NINOMIYA

総合スコア32

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問