2011/05/08

さくらVPS c++でcgi

せっかくのVPSなので、c++でcgiを書いてみます。
環境はCentOS5.5で、apacheg++がインストール済みとします。





・ソースコード
test.cpp

#include <iostream>

using namespace std;

int main()
{
cout << "Content-Type: text/html" << endl << endl;

cout << "<html>" << endl;
cout << "<head><title>test</title></head>" << endl;
cout << "<body>Hello world!</body>" << endl;
cout << "</html>" << endl;
}

ソースコードで行っていることは、最初に
cout << "Content-Type: text/html" << endl << endl;
で、HTTPヘッダを出力します。(これを記述しないと、500-Internal Server Errorになります。)

後はHTMLを出力しています。


・コンパイル
g++ -o test.cgi test.cpp 
test.cppからcgi: test.cgiを作成します。


・apacheの設定
/etc/httpd/conf/httpd.confを開き
<Directory "/cgiを置くディレクトリ">
AllowOverride None    Options None ExecCGI
Order allow,deny    Allow from all
</Directory>
を追加。

#AddHandler cgi-script .cgi
のコメントを外し、apacheを再起動。
(コメントを外さないと、ブラウザでアクセスした時にcgiが実行されずにダウンロードダイアログが表示されます。)

ブラウザからcgiにアクセスし、[Hello world!]と表示されれば成功です。

0 コメント:

コメントを投稿

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates