PR

ロリポップサーバー上で、CGIを実行する方法!(Python)

スポンサーリンク

CGI実行できると書いてあるが、公式サイトがわかりにくい部分もあったので、整理します。

スポンサーリンク

FTPサーバーに接続する

FTP(File Transfer Protocol)とは、コンピュータ同士でファイルをやりとりする通信の仕組み(プロトコル)です。

つまり、あなたが操作しているPCから、レンタルサーバーに、ファイルを送れる仕組みです。

これを利用してPythonファイルをレンタルサーバーに配置します。

ロリポップにログインした後、「ロリポップ!FTP」を押すと、FTPが起動します。

このようなロゴが表示されるサイトに飛んだらOKです。

スポンサーリンク

新規ファイル作成をする

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

任意のファイル名をつけてください。

現在の属性を700にしてください。

以下の公式サイトに記載がありますが、セキュリティのために suEXEC を導入しており、CGIスクリプトはユーザー権限で動作します。そのため、スクリプトのパーミッションは「700」に設定する必要があります。

CGI、SSI、PHP、SENDMAILについて - ロリポップ!レンタルサーバー
ロリポップ!レンタルサーバーのご利用マニュアル ロリポップ!レンタルサーバーでのCGIなどのプログラムに必要な設定などを説明したマニュアルページです。

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にするという手順をやってください。

コメント