やまものブログ

メモ書きブログです (^_^;A

Ubuntu Apache2 CGI 設定

CGI (Common Gateway Interface)でブラウザに "hello, world" を表示しました。
設定から動作確認までの手順は以下 1)~5) のとおりです


1) .htaccess ファイルを有効化
 → 前回、設定済なのでスキップ


2) ApacheCGIモジュールを有効化
$ sudo a2enmod cgi
$ sudo service apache2 restart

なお、Apache で有効化されているモジュールは下記のコマンドで確認できます。
$ sudo apache2ctl -M


3) hello.cgi 作成
以下の内容で "hello.cgi"を作成。

#!/bin/bash

echo -en "Content-type: text/html\n\n"
echo "<html><body><h1>hello, world</h1></body></html>"

作成したファイルに実行権を追加して、/var/www/html/ へコピー。
$ chmod a+x hello.cgi
$ sudo cp hello.cgi /var/www/html/


4) /var/www/html/.htaccess に2行追加
前回設定した内容の後に追加しました。

Options +ExecCGI
AddHandler cgi-script .cgi

"+ExecCGI" の '+'は Options を追加で設定する場合に必要だそうです。


5) ブラウザからアクセス
http://192.168.11.12/hello.cgi
にアクセスすると、
hello, world
がブラウザに表示されました。

なお、上記 "192.168.11.12"はこの設定を行っている Ubuntuマシンの IPアドレスです。


念のためバージョン情報です
ubuntu 15.04
Apache/2.4.10 (Ubuntu)



【参考にさせていただいたサイト一覧】
Ubuntu での Apache2 のCGIの設定

特定のディレクトリでCGIを実行する(Option, AddHandler)

ミケネコ研究所 > htaccess リファレンス > ディレクトリ制御

「.htaccess」ファイルを有効にする方法



今回の内容は1つ目の参考サイトの内容とほぼ同じです m(_ _)m