大森?
LINEアプリの開発
・python3.6.6
https://www.ravness.com/posts/apacheflask
https://qiita.com/m3y/items/45c7be319e401b24fca8
app.pyはプログラム本体。LINE Botの中身。
app.wsgiはapp.pyをサーバで動かすための魔法のアイテム。
conf.jsonはLINE Developersのキーやトークンを入れる。
前提としてLinux環境におけるメジャーなコマンドが使えるものとする。
もし知らなければ調べてください。
また、階層の移動もできるものとする。
LINE Developersを使ってLINEアプリを開発する。
まずはLINE Developersにアクセス。
https://developers.line.biz/ja/
ログインは自分のLINEアカウントで行える。
まずはプロバイダーを設定する。次にチャネルを作成する。
このチャネルがLINEアプリの名称になる。
Messaging API設定からQRコードをスキャンすると友だち登録が可能。
研究室のサーバを準備する。
まずはvar/www/htmlの階層にディレクトリを用意する。名前は何でもよいが英語で。
次にその階層にapp.py、app.wsgi、conf.jsonを置く。
app.wsgiを編集する。
図にあるように「自分のディレクトリ名」のところを先ほど作ったものに変更する。
パスを必ず通すこと。
次にconf.jsonを編集する。
"CHANNEL_SECRET"はLINE Developersのチャネルを開き、チャネルの基本設定からチャネルシークレットのキーを入力する。
"CHANNEL_ACCESS_TOKEN"は同じくLINE Developersのチャネルを開き、Messaging API設定からチャネルアクセストークンを入力する。
最後にサーバでFlaskを動かせるように設定する。
varがある階層にetcがあるので、まず
cd etc/httpd/conf.d
に入る。すると中にwsgi.confがあるのでそれを編集する。
やり方は
sudo vim wsgi.conf
で入ることができる。
加えて自分のディレクトリ(app.pyが入っている階層)をpython3.6.6に変更する必要がある。
デフォルトはpython3.8.5になっているはず。
まずはコマンドプロンプト上で
cd var/www/html/自分のディレクトリ名
で自分で作成したディレクトリに移動する。
注意 : 階層によって上記のコマンドでできない可能性があるので臨機応変に対応する。
移動ができたらその階層だけpython3.6.6に変更する。
その階層で
pyenv local 3.6.6
と入力する。その後
pyenv version
と入力し、Python3.6.6と表示されれば成功。
上記の作業が終わったら最後にLINE DeveropersのMessaging API設定からWebhookの利用でURLを入力する。入力するURLは
https://dic515s2.pu-toyama.ac.jp/自分のディレクトリ名//callback
である。
Webhookの利用を許可すること。また、あいさつメッセージや応答メッセージは無効にしておく。無駄なメッセージは送らないように設定しておくこと。
最後に
cd var/www/html/自分のディレクトリ名 python3 app.py
でプログラムを実行する。cdの部分は階層によって異なるが、とにかく自分のディレクトリに移ること。