[ConoHa WING]PythonでCGIを動かしてみる

ConoHa

ConoHa WINGのサーバではすぐにCGIを動かせるようになっています。この記事では実際にPythonでCGIを動かす所までを説明しています。

URL確認

CGIの動作確認をするために事前にURLを確認します。

ConoHa Wingの管理画面にログイン後「サーバー管理」を選択します。

ドメイン画面からサーバーの「ドメイン名」を確認します。

公開URLは以下となります。

http://infomisc.conohawing.com/

この時点ではフロントページが存在しませんので、アクセスしてもエラーになります。以下でフロントページ(index.html)を作成します。

フロントページ作成

公開URLにアクセスしますと、デフォルトではindex.htmlが読み込まれます。この動きはHTTPサーバの設定によって変更できます。index.htmlを読み込まないようにもできますので、あくまでConoHa Wingでのデフォルトとご理解ください。

sshでサーバーにログインしますと、public_htmlディレクトリが存在しており、さらに該当するドメインのディレクトリが存在します。このディレクトリ配下が、http://infomisc.conohawing.com/ にマッピングされます。

$ ls
__pycache__  logs  perl5  public_html  py.env  src  work
$ cd public_html/
$ ls
infomisc.blog  infomisc.conohawing.com
$ cd infomisc.conohawing.com/
$

次にinfomisc.conohawing.comディレクトリ配下にindex.htmlファイルを作成し、簡単なHTMLを記述して保存します。

<html>
<body>
Front Page
</body>
</html>

CGIファイル作成

フロントページは作成できたので、今度はPythonでCGIを作成してみましょう。とはいえ難しいことはありません。

まずは、Pythonコマンドのパスを確認しておきます。CGIではファイルの1行目に書かれたプログラムを呼び出して実行しますので、正確にパスを書く必要があります。

$ which python
/usr/local/bin/python

パスを確認できたら、infomisc.conohawing.comディレクトリ配下にtest.cgiファイルを作成します。test.cgiには以下のように書きます。これだけでCGIとして動作します。

#!/usr/local/bin/python

print("Content-Type: text/html")
print()
print('<html><body>python cgi</body></html')

ファイルの実行権限がないとtest.cgi単体では実行できませんのでパーミッションを変更します。パーミッション変更後、実際に実行できることを確認します。

$ chmod 755 test.cgi
$ ls -l test.cgi
-rwxr-xr-x 1 cXXXXXXX cXXXXXXX 111 Feb 12 18:04 test.cgi
$ ./test.cgi
Content-Type: text/html

<html><body>python cgi</body></html
$

最後にフロントページからtest.cgiを呼び出すようにしてみましょう。index.htmlを以下のように変更して http://infomisc.conohawing.com/ にアクセスしてみてください。test.cgiリンクが表示され、リンクをクリックすると「python cgi」というメッセージが表示されたら成功です。

<html>
<body>
Front Page
<ul><li><a href="./test.cgi">test.cgi</a></li></ul>
</body>
</html>

コメント

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