CGI を動かす方法
http://localhost/manual にマニュアルがあることに気づいた。少しずつ読んでいこう。
今日はとりあえず CGI を動かす方法について。
まず、Apache2 の設定ファイルは
- /etc/apache2/httpd.conf
- /etc/apache2/users/eagletmt.conf
の2つがある。当然、eagletmt はユーザ名です。
きっと前者は全体にわたる設定で、後者はユーザ毎の設定だと思う。未確認。
そこで、後者を弄ることにした。
$ sudo vi /etc/apache2/users/eagletmt.conf
んで、例えば
<Directory /Users/eagletmt/Sites/cgi-bin/> Options +ExecCGI AddHandler cgi-script .cgi </Directory>
こうすれば、/Users/eagletmt/Sites/cgi-bin/*.cgi なファイルが CGI として実行されるようになる。
試しにいろいろやってみた。
$ pwd /Users/eagletmt/Sites/cgi-bin $ cat hello.pl.cgi #!/opt/local/bin/perl print "Content-type: text/plain\n\n"; print "Hello, World!\n"; $ cat hello.c #includeint main(int argc, char *argv[]) { printf("Content-type: text/plain\n\n"); puts("Hello, World!"); return 0; } $ gcc hello.c -o hello.c.cgi $ chmod a+x hello.pl.cgi
こんなかんじにして、http://localhost/~eagletmt/cgi-bin/hello.c.cgi や http://localhost/~eagletmt/cgi-bin/hello.pl.cgi をブラウザでみたところ、
ちゃんと Hello, World! と表示された。やったね!