2011/05/08

さくらVPS c++でcgi

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





・ソースコード
test.cpp

  1. #include <iostream>  
  2.   
  3. using namespace std;  
  4.   
  5. int main()  
  6. {  
  7. cout << "Content-Type: text/html" << endl << endl;  
  8.   
  9. cout << "<html>" << endl;  
  10. cout << "<head><title>test</title></head>" << endl;  
  11. cout << "<body>Hello world!</body>" << endl;  
  12. cout << "</html>" << endl;  
  13. }  

ソースコードで行っていることは、最初に
  1. 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