* 動的なWebページの作成 [#f5944013] CENTER:本日アクセス: &counter(today); 件 ** 認証つきページ [#b62226f8] アクセスにユーザ名とパスワードが必要なページを作ってください。apacheの設定できるはずです。方法はインターネットで検索してください。「BASIC認証」「.htaccess」などのキーワードがいいでしょう。ユーザ名「vine」, パスワード「linux」でアクセスできるようにしてください。 ** CGIプログラミング [#g9833976] *** HTTP [#rd560677] + telnet vilab.org http + GET / HTTP/1.0[改行] [改行] *** 単純なCGIプログラム [#me9354c2] #include <stdio.h> int main(void) { printf("Content-Type: text/html"); printf("\n"); printf("<html>\n"); printf("<head><title>Hello</title></head>\n"); printf("<body>\n"); printf("Hello, world!\n"); printf("</body>\n"); printf("</html>\n"); return 0; } - Webサーバでプログラムを動かし、その結果をブラウザで表示させることができます。 ** アクセスカウンタ [#v4c041f6] *** 参考になるページ [#f577d354] - 「カウンタ」「CGI」「SSI」というキーワードで検索すれば,丁寧に説明をしてくれるサイトが多数見つかります. *** カウンタとは [#o7ac0697] + Webページには,既に用意した情報を提示するだけでなく,まざまな動的な情報を表示するページがあります.カウンターは非常に簡単な例です. + このページの上にはアクセスするたびに数字があがっていきます.(同じマシンからのアクセスではカウンターが変更しないこともあります) + 上では文字を使ったカウンタを紹介しましたが,[0][2][4]などのイメージを使ったカウンタもあります.たとえばこのページを見て下さい. + これらのカウンタページは, http://home.interlink.or.jp/~kamitani/perl_lng/cgiperl.html を参考にして作りました. 以下の課題に挑戦して下さい - 最低ひとつできれば結構です. - 難易度の数字は評価点の目安です. - 難易度の高い課題ができれば,低い方の課題はやらなくても結構です. - 難易度の高い課題に果敢に挑戦する場合には,その前に一つ難易度の低い課題を終 えておいて,時間切れになった場合の保険にしておいてください. - カウンタはホームページにつけても良いですし,そこからリンクする別のページに つけても良いです.ただ,ホームページからカウンタのある場所へ行く方法が分か るように,作って下さい. *** 課題A:どんな手段を使っても良いからとりあえずカウンタをつける(難易度60〜70) [#kf0ed40f] + 手段は問いません.カウンタをつけて下さい. + 世の中には,フリーでカウンタ機能を提供してくれるところもあります.検索して探してみましょう. + ホームページでは,どういう手法でカウンタを入手して,作ったかを詳しく説明して下さい. + できあがったら教員に連絡して下さい.ホームページを見させていただきます. *** 課題B:みなさんのサーバの上で完結する形でカウンタをつける(難易度70〜80) [#be3c7d01] + インターネット上にあるカウンタサービスは,他のサーバの力を借りてカウンタ機能を実現するサービスです. + みなさんは自分で全部設定できるWWWサーバを持っているのですから,外部のサーバにアクセスすることなしに,カウンタを実現して下さい. + Perlなどで作ったCGIプログラムを使う方法が一般的かもしれません.ほかにPHPつかったりJavaを使ったりしても可能かもしれません. + プログラムはどこからか拾ってきて下さい.(もちろん自分で作っても結構ですが,それが出来るくらいなら,課題Cをやった方が良いかと思います) + できれば文字のカウンタと,イメージを使ったカウンタの両方を作ってみて下さい. + ホームページでは,どういう手法でカウンタを入手して,作ったかを詳しく説明して下さい. + できあがったら教員に連絡して下さい.ホームページを見させていただきます. *** 課題C:C言語でCGIを自作してカウンタをつける(難易度80〜100) [#rd34fafd] + CGIプログラムはPerlで書かれることが多いですが,プログラム言語はPerlである必要はありません. + この演習の前の課題で,C言語のプログラムの課題がありました.あそこで作ったプログラムをすこし改造すれば,カウンタのCGIにすることができます. + そこで,C言語でカウンタを自作して取り付けて下さい. + 世の中でたくさん公開されているPerlのカウンタプログラム(たとえば http://home.interlink.or.jp/~kamitani/perl_lng/cgiperl.html など)が参考になるかと思います. + ホームページでは,どういう手法でカウンタを作ったかを詳しく説明して下さい. + できあがったら教員に連絡して下さい.ホームページを見させていただきます. *** そのほか凝ったページ [#s8d6f5ea] + すでに凝ったホームページを作った経験のある人は、その知識を取り入れて、 インタラクティブなページを時間内にどんどん作ってみて下さい。 + CGIやPHPなど何使っても結構です。 + できあがったら教員に連絡して下さい。