Homebrewのインストールは未完。Gitはインストールできたがcurlなど他にも対応しなければならないし、そもそもそこまでいろんなアプリを入れたいわけでもない。せいぜいblastとsamtoolsくらいなので、個別インストールしたほうが早そうなので、一旦ペンディング。
とにかくFlaskでウェブアプリを走らせたい。
以前Value serverではできていたはずだが、どうやっていたかすっかりさっぱり忘れていて全然うまく走らない。
まずはXREA個別の事情もあるかもしれないのでstep by stepでクリアしていこう。
最初に確認しておくこととしてはどうやら.htaccessがHTMLルート(root /public_html)でしか働かないかもしれないとのこと。
またここにインデックスファイルを置いておく必要があり、それは.pyではまずいらしいこと。なのでファイル名はindex.cgiとしておくことにする。
#AddHandler cgi-script .py #DirectoryIndex index.cgi RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.cgi/$1 [QSA,L] <Files ~ "\.py$"> deny from all </Files>
index.cgi
#!/usr/local/bin/python3 # coding: utf-8 import cgitb cgitb.enable() from wsgiref.handlers import CGIHandler from main import app import os os.environ["REQUEST_METHOD"] = "GET" CGIHandler().run(app)
main.py
#!/usr/local/bin/python3 # -*- coding: utf-8 -*- from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "Hello world!" if __name__ == '__main__': app.run()
このような感じでファイルを作成し、
.htaccess 644
index.cgi 700
main.py 700
のようにアクセス権を設定して
ブラウザでアクセスすると
”Hello world!"
が無事に表示された。
最初index.cgiの
import os os.environ["REQUEST_METHOD"] = "GET"
この部分をなしにしていると
500 internal error
がでてぜんぜん動かなかったのだが、試しに
$ python3 index.cgi
と直接起動してみたら
KeyError: 'REQUEST_METHOD' Status: 500 Internal Server Error Content-Type: text/plain Content-Length: 59
のようなエラーが出ていることがわかったので
KeyError: 'REQUEST_METHOD'
で検索して、
coffee-blue-mountain.com
こちらのサイトを参考にして対応した。
これがわかるまでに半日費やした。