カラフルボックスでPythonをCGIで動かす

カラフルボックスレンタルサーバーでPythonをCGIで動かすのにちょっとハマったので、忘備録

1:Pythonのインストール

cPanelの機能リスト>ソフトウェア>Setup Python App を選択

CREATE APPRICATION をクリック

Pythonのバージョンを選んでApplication rootとApplication URLを入力するのだけど、単純にCGIでPythonを使用する場合はバージョン以外はあまり影響しない。
自分のフォルダのどこにPythonをインストールするかと、選んだURLのディフォルトがPythonアプリになるだけなので、可能であればPython専用のドメインを作成しておくのがいい。

入力したらCREATEを押す

この場合pythonがインストールされるのは
/home/アカウント名/virtualenv/python/3.11/bin になる

2:CGIファイルの作成

テストで作成したファイルはこちら

#!/home/gdwuxbvh/virtualenv/python/3.11/bin/python3.11_bin
import cgi

print("test python cgi")

1行目の #!/home/gdwuxbvh/virtualenv/python/3.11/bin/python3.11_bin が先程インストールしたPythonを呼び出しているところ
自分はここでかなりハマったのだが、一番ハマるケースが多そうなのがこのファイルをcPanelのファイルマネージャで作成すると改行コードがCRLFになって認識してくれないので、必ずターミナルのviとか、信用できるエディタで作成してアップロードするのがおすすめ
「lscgid: execve():/home/~~~~~~~~: No such file or directory」
こんな表示が出たときは改行コードも疑ったほうがいい

改行コードを一気に合わせるのは
sed -i ‘s/\r//’ xxxxxx.cgi
でできる

3:ファイルのアップロードとパーミッション

作成したCGIファイルをtest.cgiなどの名前をつけてサーバーに保存
アクセス権を755に変更すれば準備は完了

保存先のURLをブラウザでアクセスすれば Test Python CGI と表示されるはずです

特に難しいことは無いのですが、レンタルサーバーの場合構築環境がサービスで提供されたターミナルだったり、ファイルマネージャだったりクセがある環境が多いので、できるだけ使い慣れたエディタとかターミナルソフトでアクセスできるようにしたほうがハマることが少ないと思います。

コメント