大東文化大学では全学生と教員に「s??/t」ドメインがあります。教員の方は知りませんが、「s??」ドメインの方は情報処理の授業以外で使用している人は余りいないでしょう。
しかし、プロバイダのスペースは用意されたCGI鹿使えないところが多いですし、無料サービスは広告つきがほとんどで、無料かつ広告なしでCGIが使用できるという条件のWebスペースは滅多にありません。
素性がバレるので個人のサイトとして使うのは無理がありますが、ゼミのサイトなどが置かれている「ic」ドメインはCGIが使えませんから、そのためのスペースとしては十分に使用価値があるでしょう。
学校のサーバーはPerlが使用できます。ということでPerlを使ってみましょう。これが使えるようになるとBBSやアクセスカウンターが作れるようになります。
PerlもHTMLやCSSと同じくメモ帳で作成できますが、一行目にPerlのパスを記述するという約束事があります。一応、HTMLにもありますが、Perlの場合は書かなければ動作しません。
ここで問題になるのが、Perlのパスはサーバーの環境によって異なるということです。これは、Perlを使えるサーバーであればわかりやすい場所に書いてあるのでそれを記述しますが、この学校の場合、「/usr/bin」か「/bin」にあるそうで、詳細はtelnetかsshで見るそうです。既に、分かる人間にしか分からない説明です。
結局、エラーを連発した挙句Perlのパスは「/usr/bin/perl」であることが分かりました。つまり、メモ帳でPerlのスクリプトを書く時は一行目に「#!/usr/bin/perl」と書きます。このあとは絶対に改行してください。
もう一つ気をつけることは「suEXEC」なるものが導入されていることです。どうもセキュリティ関係らしく、オーナーがどうとか書いてあるのでアップロードの際にパーミッションを変更してオーナー以外の「読み込み、書き込み、実行」をすべてなくして下さい。そうしないとたぶん動きません。「パーミッションって何?」って方が多いと思いますが、Windowsユーザーには理解できない(つまり、自分が理解できていない)ので説明しません。検索してください。
ここまで出来ればあとは普通にPerlスクリプトを書いていくだけです。ということで、最後に簡単なスクリプトを載せておきます。これは環境変数と呼ばれるものを一括して書き出すスクリプトです。パソコンと携帯電話の振り分けやアクセス制限などにも使うものなので、覚えておくと100人に1人くらいは役に立つことがあるでしょう。ただし、このスクリプト自体はなんの役にも立ちません。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<title>環境変数</title>
</head>
<body>
<table border="1">
EOF
foreach (sort keys %ENV) {
print "<tr>\n";
print "<td>";
print "$_";
print "</td>\n";
print "<td>";
print "$ENV{$_}";
print "</td>\n";
print "</tr>\n";
}
print <<"EOF";
</table>
</body>
</html>
EOF
exit;
上のスクリプトをメモ帳に貼り付け、拡張子を「.cgi」で保存し、CGIスペースへアップロードしてください。パーミッションに気をつければたぶん動きます。