CGI実行できると書いてあるが、公式サイトがわかりにくい部分もあったので、整理します。
FTPサーバーに接続する
FTP(File Transfer Protocol)とは、コンピュータ同士でファイルをやりとりする通信の仕組み(プロトコル)です。
つまり、あなたが操作しているPCから、レンタルサーバーに、ファイルを送れる仕組みです。
これを利用してPythonファイルをレンタルサーバーに配置します。
ロリポップにログインした後、「ロリポップ!FTP」を押すと、FTPが起動します。


このようなロゴが表示されるサイトに飛んだらOKです。
新規ファイル作成をする

左から4つ目のファイルを作成するボタンを押してください。

任意のファイル名をつけてください。
現在の属性を700にしてください。
以下の公式サイトに記載がありますが、セキュリティのために suEXEC を導入しており、CGIスクリプトはユーザー権限で動作します。そのため、スクリプトのパーミッションは「700」に設定する必要があります。

hello worldを実施するコードを書いてみます。
#!/usr/local/bin/python3.7
# -*- coding: utf-8 -*-
print("Content-Type: text/html; charset=utf-8\n")
print("<html><body><h1>Hello, World!</h1></body></html>")
1行目の #!/usr/local/bin/python3.7
は、ロリポップのサーバーで使用可能なPythonのパスを指定しています。
2行目の print("Content-Type: text/html; charset=utf-8\n")
は、HTTPヘッダーを正しく出力するために必要です。
3行目の print("<html><body><h1>Hello, World!</h1></body></html>")
は、ブラウザに表示されるHTMLの内容です。
動作確認
FTPの画面でURLと書かれているURLにブラウザでアクセスしてください。


画面にHello, World!が表示されたら完了です!


エラー対応
ブラウザに、以下のように表示される
lscgid: execve():/home/users/2/flier.jp-xxx/web/hello.py: Permission denied
これは、権限設定が誤っています。現在の属性を700にするという手順をやってください。
コメント