さくら 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 をインスト-ルしていきます。