CGI プログラム
cgi-enabled を CGI 実行可能にする
ここまで、Apache2 の Web ディレクトリの CGI ファイルをブラウザで表示する準備をしてきました。
	 まだ不足しています。
	 /var/www/html/cgi-enabled/ のなかのファイルはまだ CGI として実行することはできません。
	 これを実行可能に変更します。
	 
	 Apache2:Pythonスクリプトを利用する
	 に行くと、 Python を CGI プログラムの例として解説されています。
	 前半部分はもう設定済みですので後半部分を参考にしてください。
   新たに
   /etc/apache2/conf-available/cgi-enabled.conf
	 ファイルを作成します。
   このなかに、cgi-enabled ディレクトリの中のファイルは CGI として動作させるよ、と宣言するのです。
   yamada@ubuntu-18:~$ sudo nano /etc/apache2/conf-available/cgi-enabled.conf
  # 新規作成
  # 拡張子 cgi および py を CGI として扱う
  <Directory "/var/www/html/cgi-enabled">
    Options +ExecCGI
    AddHandler cgi-script .cgi .py
  </Directory>
単なる CGI だけでなく Python ファイルも実行可能としました。
	 作成が完了したら設定を実行し、Apache2 を再起動します。
	 yamada@ubuntu-18:~$ sudo a2enconf cgi-enabled
	 Enabling conf cgi-enabled.
	 To activate the new configuration, you need to run:
   systemctl reload apache2 
   yamada@ubuntu-18:~$ sudo systemctl restart apache2
	
	 そして、/var/www/html/cgi-enabled のなかにある、tesy.cgi の
   パミッションを実行可能 705 にします。
   $ sudo chmod 705 /var/www/html/cgi-enabled/test.cgi
   と WEB 等には書いてあるのですがこのパミッション変更はどうも必要がないようです。
Apache2 Web ディレクトリの CGI ファイル表示
やっと Apache2 の CGI Web ディレクトリに置いた test.cgi
	 /var/www/html/cgi-enabled/test.cgi
	 をブラウザ表示できるようになりました。
	 長かったですね。
   ブラウザの URL 欄に、
	 http://localhost:8080/cgi-enabled/test.cgi
	 と入力し
	 Hello WORLD!!こんにちは
	 と表示されたら OK です。
ユ-ザ-ディレクトリで CGI ファイルを実行
引き続き、ユ-ザ-ディレクトリ
	 /home/yamada/public_html
   に置いた CGI ファイルを実行する方法を説明していきます。
   cgi-enabled ディレクトリを CGI 実行可能にしたときと同様
   /etc/apache2/conf-available/cgi-enabled.conf
	 ファイルのなかに以下を追加します。
   yamada@ubuntu-18:~$ 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>
を追加します。
	 保存したら設定を実行し、Apache2 を再起動します。
	 yamada@ubuntu-18:~$ sudo a2enconf cgi-enabled
	 Enabling conf cgi-enabled.
	 To activate the new configuration, you need to run:
   systemctl reload apache2 
   yamada@ubuntu-18:~$ sudo systemctl restart apache2
ホスト Windows OS c:\vb_public_html に CGI ファイル作成
ホスト Windows OS 側で以下の内容の CGI ファイルを作成します。
	
	 #!/usr/bin/perl
	 # -*- coding: utf-8 -*-
	 print "Content-type: text/html; charset=UTF-8\n\n";
	 print "Hello WORLD!!";
	 print "こんにちは";
	
	 作成できたら c:\vb_public_html に保存します。
   なお、最初の行は perl がインスト-ルされているディレクトリ-を指しています。
   ファイル名は適当に test.cgi とします。
	 文字コ-ドは、UTF-8N
	 BOM なし
	 改行コ-ドは、LF
	 です。
   なぜ、c:\vb_public_html に保存したか説明します。
  
   ユ-ザ-ごとの公開ディレクトリを用意する
   で説明したように、ユ-ザ-ディレクトリ
	 /home/yamada/public_html
   はホスト Windows OS 
   C:\vb_public_html
   と共有化されているのでしたね。
   よって test.cgi は自動的にユ-ザ-ディレクトリ
	 /home/yamada/public_html
   に入ってしまいました。
ユ-ザ-ディレクトリの CGI ファイルをブラウザ表示
それでは、ユ-ザ-ディレクトリに置いた test.cgi をブラウザで表示します。
	 ブラウザの URL 欄に、
	 http://localhost:8080/~yamada/test.cgi
	 と入力し
	 Hello WORLD!!こんにちは
	 と表示されたら OK です。
   でもちょっと待ってください。
   /usr/lib/cgi-bin/
	 ディレクトリの場合は配下のファイルを全て CGI と扱うため、
   CGI 以外のファイルはブラウザ表示できませんでした。
	 でも今回は、そんなことはないようです。
   Options +ExecCGI の+が味噌のようです。
   CGI もおまけで動作させます。
   と言っているようです。
   だから、
   /home/yamada/public_html
   に置いた *.html ファイル等も動作します。  
仮想ホストの CGI ファイルをブラウザ表示
仮想ホスト v-host.jp の DocumentRoot は
	 /home/yamada/public_html
	 に設定しています。
  仮想ホスト設定
	 みてください。
   すなわち、ユ-ザ-ディレクトリ
   /home/yamada/public_html
   のなかに CGI ファイルが置かれます。
   よって、ユ-ザ-ディレクトリに置いた test.cgi をブラウザで表示するのと基本的には同じになります。
	 ブラウザの URL 欄に、
	 http://v-host.jp/test.cgi
	 と入力し表示すれば
   Hello WORLD!!こんにちは
	 と表示されるはずです。
   うまくいきましたか。
	
	 ここまでで、CGI ファイルが実行できるようになりました。
	 引き続き、Python ファイルが実行できるようにしていきます。