--- 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を作成してみました。
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が格納されているディレクトリ」という設定です。
まずはとにかくHello Worldだ!
#!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello, World.";
Content-typeをはき出すようにして上げないと、Internal Server Errorになるから注意してね!!