#author("2023-01-17T05:21:38+00:00","","") #author("2023-01-17T05:22:14+00:00","","") [[大森]]~ [[技術資料]] *目次 [#e890b3d5] #CONTENTS **【このページでできること】[#i495c384] LINEアプリの開発 **【実行環境】[#rde624e4] ・python3.6.6~ **【参考文献】[#rde624e4] https://www.ravness.com/posts/apacheflask~ https://qiita.com/m3y/items/45c7be319e401b24fca8~ **【ファイルの説明】[#q403d9b3] #ref(app.py,,app.py) #ref(app.wsgi,,app.wsgi) #ref(conf.json,,conf.json) app.pyはプログラム本体。LINE Botの中身。~ app.wsgiはapp.pyをサーバで動かすための魔法のアイテム。~ conf.jsonはLINE Developersのキーやトークンを入れる。 **【システム実行】[#q403d9b3] 前提としてLinux環境におけるメジャーなコマンドが使えるものとする。~ もし知らなければ調べてください。~ また、階層の移動もできるものとする。~ ***LINE Developers [#yd049dee] LINE Developersを使ってLINEアプリを開発する。~ まずはLINE Developersにアクセス。~ https://developers.line.biz/ja/~ ログインは自分のLINEアカウントで行える。~ ~ まずはプロバイダーを設定する。次にチャネルを作成する。~ このチャネルがLINEアプリの名称になる。~ Messaging API設定からQRコードをスキャンすると友だち登録が可能。~ ~ #ref(LINE.png,,27%) ~ ***サーバ設定 [#yd049dee] 研究室のサーバを準備する。~ まずはvar/www/htmlの階層にディレクトリを用意する。名前は何でもよいが英語で。~ 次にその階層にapp.py、app.wsgi、conf.jsonを置く。~ ~ app.wsgiを編集する。~ #ref(appwsgi.png,,50%) 図にあるように「自分のディレクトリ名」のところを先ほど作ったものに変更する。~ パスを必ず通すこと。~ ~ 次にconf.jsonを編集する。~ #ref(conf.png,,33%) "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 で入ることができる。~ ~ #ref(wsgi.png,,30%) ~ 図のように WSGIDaemonProcess 自分のディレクトリ user=apache group=apache threads=5 WSGIScriptAlias /自分のディレクリ /var/www/html/自分のディレクトリ/動かしたいもの(wsgi拡張子のみ) <Directory /var/www/html/自分のディレクトリ/> WSGIProcessGroup 自分のディレクトリ WSGIApplicationGroup %{GLOBAL} WSGIScriptReloading On AllowOverride All Requier all granted </Directory> と編集する。~ 加えて自分のディレクトリ(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の利用を許可すること。また、あいさつメッセージや応答メッセージは無効にしておく。無駄なメッセージは送らないように設定しておくこと。 #ref(MessagingAPI.png,,27%) ~ 最後に cd var/www/html/自分のディレクトリ名 python3 app.py でプログラムを実行する。cdの部分は階層によって異なるが、とにかく自分のディレクトリに移ること。