さくら CGI/Python/ Composer/pear

さくら VPS Ubuntu CGI

ここまでで、phpMyAdmin を使用することができるようになりしました。
引き続き、CGI が使用できるようにしていきます。
まずは、CGI モジュールが使えるようにします。
シリアルコンソ-ル(β版)を開き、
yamada@********:~$ sudo a2enmod cgi
Enabling module cgid.
To activate the new configuration, you need to run:
systemctl restart apache2
apache2 を再起動します。
$ sudo systemctl restart apache2
これで CGI モジュールが有効になりました。

ユ-ザ-ディレクトリの CGI ファイルを実行

ユ-ザ-ディレクトリ
/home/yamada/public_html
に置いた CGI ファイルを実行する方法を説明していきます。
/etc/apache2/conf-available/ フォルダ
のなかに cgi-enabled.conf を新規作成します。
yamada@********:~$ sudo nano /etc/apache2/conf-available/cgi-enabled.conf

     
  # 新規作成
  # 拡張子 cgi および py を CGI として扱う
  <Directory "/home/yamada/public_html">
    Options +ExecCGI
    AddHandler cgi-script .cgi .py
  </Directory>

を作成します。
cgi のほかに py ファイルも扱えるようについでに設定しました。
保存したら a2enconf cgi-enabled とし、次に Apache2 を再起動します。
yamada@********:~$ sudo a2enconf cgi-enabled
Enabling conf cgi-enabled.
To activate the new configuration, you need to run:
systemctl reload apache2
apache2 を再起動します。
yamada@********:~$ sudo systemctl restart apache2
完了したら
$ which perl
として perl がインスト-ルされているディレクトリ- を見つけておきます。
/usr/bin/perl
に perl はインスト-ルされています。
自分の PC Windows OS 側で以下の内容の CGI ファイルを作成します。


  #!/usr/bin/perl
  # -*- coding: utf-8 -*-
  print "Content-type: text/html; charset=UTF-8\n\n";
  print "Hello WORLD!!";
  print "こんにちは";

作成できたらファイル名は適当に test.cgi とします。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
この test.cgi を自分の PC Windows フォルダ c:\vb_public_html に保存してください。

SFTP でファイルアップロード

作成した test.cgi ファイルをユ-ザ-ディレクトリ
/home/yamada/public_html
にアップロ-ドします。
やり方がよく分からない方は
ユ-ザ-ごとの公開ディレクトリを用意する
の「SFTP でファイル アップロード」
を読んでください。
そして、
/home/yamada/public_html/
のなかにある、test.cgi の パミッションを 実行可能 705 にします。
$ cd public_html
$ sudo chmod 705 test.cgi
ブラウザの URL 欄に、

http://100.101.102.103/~yamada/test.cgi

または
https://70vps.net/test.cgi
と入力し表示すれば

Hello WORLD!!こんにちは

と表示されるはずです。

ユ-ザ-ディレクトリの Python ファイルを実行

次に Python ファイルが実行できるようにします。
Python3 ファイル実行
を参考にします。
さくら VPS Ubuntu には Python3 がデフォルトでインスト-ルされています。
どこにあるか探してみましょう。
シリアルコンソ-ル(β版)を開き、
yamada@********:~$ which python3
/usr/bin/python3
と表示されました。
このディレクトリに python3 はインスト-ルされています。
python3 ファイルは基本的には CGI ファイルの一種ですから、
CGI が動く DocumentRoot に置いて上げればブラウザ表示できるはずです。

Python3 ファイル作成

簡単な Python3 ファイル test.py を作成します。
自分の PC Windows で以下の内容の Python ファイルを作成します。


  #!/usr/bin/python3
  # coding: utf-8
  import sys, io
  sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding = 'utf-8')
  print ("Content-type: text/html; charset=UTF-8\n\n")
  print ("Hello WORLD!!")
  print ("こんにちは")

作成できたらファイル名は適当に test.py とします。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
この test.py を自分の PC Windows フォルダ c:\vb_public_html に保存してください。
でもちょっと待ってください。
import sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding = 'utf-8')
って何?
Python の文字列は自身のエンコードに関する情報を持っていない。
print() などでターミナルに日本語を標準出力するときは別の処置が必要。
と言うことで、おまじないを唱えておきましょう。

SFTP で Python ファイルアップロード

作成した test.py ファイルをユ-ザ-ディレクトリ
/home/yamada/public_html
にアップロ-ドします。
やり方がよく分からない方は
ユ-ザ-ごとの公開ディレクトリを用意する
の「SFTP でファイル アップロード」
を読んでください。
そして、/home/yamada/public_html/ のなかにある、test.py の パミッションを 実行可能 705 にします。
$ cd public_html
$ sudo chmod 705 test.py
ブラウザの URL 欄に、

http://100.101.102.103/~yamada/test.py

または
https://70vps.net/test.py
と入力し表示すれば

Hello WORLD!! こんにちは

と表示されるはずです。

ここまでで、CGI, Python ファイルが実行できるようになりました。
引き続き Python/pyplot をインスト-ルしていきます。


  • さくら VPS に Python/pyplot インスト-ル に進む
  • phpMyAdmin へのアクセス準備 に戻る
  • MySQL インスト-ル に戻る
  • PHP を動作させる に戻る
  • HTTPS によるアクセス最終準備 に戻る
  • Web サイトを SSL 化する に戻る
  • 仮想ホストの設定 に戻る
  • 新規ドメイン取得その2 に戻る
  • 新規ドメイン取得その1 に戻る
  • Web サービスを始める に戻る
  • さくら VPS に LAMP server をインスト-ル に戻る
  • さくら VPS Ubhuntu 日本語環境 に戻る
  • さくら VPS を始める に戻る
  • 70VPS に戻る