動画から大量の画像を抽出して、ブラウザでいじくり回したかったため、
FlaskとVue.jsを使った機能を作り、コアサーバで動かそうとしたが、
ファイルをアップロードしただけでは動かなかった。
FlaskはApacheなどのwebサーバと連携していないため、
PHPのようにファイルをアップロードしただけでは、ブラウザからアクセスできない。

動かすためには、まずコアサーバにSSHでアクセスし、以下のコマンドでFlaskが入っているか確認する。

python3 -m pip list

入っていなければインストールし、もしpipのアップグレードが必要だと言われた場合は、先に対応しておく。

python3 -m pip install --upgrade pip --user
python3 -m pip install Flask --user

その後、作ったプログラムを置く予定のディレクトリに、以下の.htaccessを置く。

AddHandler cgi-script .py
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.py/$1 [QSA,L]

.pyファイルをCGIとして動かし、全てのアクセスをindex.pyを経由するようにする。
index.pyでは、FlaskをCGIモードで動くように設定するのがポイント。

#!/usr/local/bin/python3
# coding: utf-8
import cgitb
cgitb.enable()
from wsgiref.handlers import CGIHandler
from server import app
CGIHandler().run(app)

上記でimportするserver.pyでは、Flaskの初期設定やルーティングを書く。

#!/usr/local/bin/python3
# coding: utf-8
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello!"
if __name__ == '__main__':
app.run()

これでブラウザからアクセスできるようになる。