【Webアプリ】ロリポップ!にFlaskのPythonアプリをデプロイ。pip導入からパーミッション設定までの方法を解説。

プログラミング

お疲れ様です。
今回はロリポップ!にFlaskのWebアプリをデプロイするところまで解説していきます。

筆者
筆者

CGIの設置はできるっぽいからやってみる

注意事項

CGIの暴走をさせてしまうと使えなくなるらしいので気をつけましょう。

またsudoなどが使えないなど制約もそこそこありますので、探り探り使う必要があります。

1.SSHで入る

ロリポップのサーバの管理ページにSSHの項目がありますので、そこからSSHを有効化しましょう。

次にSSHでサーバに入りましょう。
このようにサーバ、アカウント、ポート、パスワードが出てきます。

普通に下記の構文で入りましょう。

ssh アカウント@サーバー -p 2222

パスワードが求められたらSSHパスワードをコピペしてやりましょう。クソながです。

2.pip導入

初期状態ではPythonは使える状態ですが、pipは使えなかったと思います。

wget https://bootstrap.pypa.io/get-pip.py

python get-pip.py

export PATH=$PATH:~/.local/bin

この順番で実行するとpipがインストール、パスが通っている状態になっていると思います。

試しにpip3 -Vと打ち、バージョンが返ってくればOKです。

ここでflaskを入れちゃいましょう。
pip3 install flask

3.Flaskアプリのデプロイ

あらかじめindex.cgiと.htaccessを作っておきます。

index.cgiはこんな中身。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.cgi/$1 [QSA,L]

.htaccessはこんな。
3行目の「views」はflaskの実行ファイル名です。
!/usr/local/bin/python3
from wsgiref.handlers import CGIHandler
from views import app
CGIHandler().run(app)

今回はCyberduckからファイルのアップロードを試みます。
サーバ、ユーザー名、パスワードは先程のSSH接続に使用したものを入れましょう。

次に作ったFlaskのフォルダをそのままドラッグアンドドロップしましょう。

ファイル階層はこんな感じです。

またパーミッションについてはロリポップ公式のこちらをご覧ください。https://lolipop.jp/manual/hp/permission/

4.完成

これで作業は完了です。

あまり負荷のかかるプログラムを載せるのはやめるように公式にも書いてありますので、そこはさじ加減気をつけ、ローカルでも十分にテストしたうえでデプロイしましょう。

最後に

ということで今回はロリポップ!にCGIを設置する記事でした。

もし興味がある方いらっしゃいましたらぜひやってみてください。

最後まで見ていただきありがとうございました!

コメント

タイトルとURLをコピーしました