--- title: apache2でcgiの作成(まずはhello world) author: kazu634 date: 2009-05-24 url: /2009/05/24/_1250/ wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4615;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' categories: - cgi - Perl ---

Webアプリの勉強用にcgiを作成してみました。

apache2の設定を見てみる

Ubuntuでapache2をインストールすると「/etc/apache2/sites-available/default」に設定が書いてあります。

ServerAdmin webmaster@localhost

DocumentRoot /var/www

Options FollowSymLinks

AllowOverride None

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ “/usr/share/doc/”

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

この設定ファイルの「ScriptAlias」の部分に設定が書かれています。「ScriptAlias△CGIにアクセスするためのURL△CGIが格納されているディレクトリ」という設定です。

CGIを書いてみる

まずはとにかくHello Worldだ!

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";

Content-typeをはき出すようにして上げないと、Internal Server Errorになるから注意してね!!

Apacheハンドブック

Apacheハンドブック