ローカルにCGIを試せる環境を作りたくて,Apachを導入.サイトのデータの入ったフォルダを指定し,CGIを使えるように設定を書き,コンソールを立ち上げて,localhostにアクセスしたら,表示はされるんだが,文字化けしている.さんざん頭をひねったのだが,httpd.confでAddDefaultCharset ISO-8859-1という行を見つけたので,コメントアウトした.
しめしめ,うまくいったぞ.
それから,perlを入れる.
sakuraと同じになるようにしとかないと,面倒になると思い,usr/bin/perlに入れるにはどうしようかとまた頭をひねっていたんだが,しばらく試行錯誤して気づいた.
usr/bin/perlのperlって,exe自体のことだったんですね.ディレクトリだと思ってました.
よって,ActivePerlのインストール時にインストールフォルダをusrとだけ指定して,無事解決.
おつぎにrubyをインストール.これもsakuraの設定(usr/local/bin/ruby)と同じになるようにした.perlのときに解決済みなので,これはすんなり.
ためしになんか書いてみて,動くかどうかやってみよう,とお決まりのHello, world.を書いてみたんだが,これまた定番のInternal Server Errorになる.試しに,コマンドプロンプトで動かすとちゃんと文字は出る.文法はあってる.困った.こりゃ,CGIのお作法を何か間違っているに違いない.
寝て,起きて,ふと,そういやログみりゃエラーが何か分かるんじゃと気づく.logsというフォルダを発見し,errorというファイルを見つけ,おお,これじゃないのか?とあけてみたら,「ヘッダがおかしいよ~ん(意訳)」と書いてある.
あ,そういやそんな作法があったっけと思い,print "Content-type: text/html\n\n"
と付け加える.(ほんとはただのプレーンテキストだから間違っている気がするが)
おお,うまくいったぞ.
こんな具合に,当たって砕けろ,体当たり方式でいいのかしらん,と思わんでもない.
コメント (2)
私はたかだかエクセルのマクロ書き換え程度で「第六感」とか「セブンセンシズ」とかゆーもんを使ってやっております。動けば勝ちだと思いつつ、ディスプレイの前で「天にまします……」と祈るくらいなら、真面目に勉強しろよと思いつつはや数年……。
ログファイル見る手は考えつきませんでした。今度やってみます。
投稿者:きさいし (2004年9月23日 23:56)
いや,セブンセンシズでマクロ書けるならそれはそれですごいと思います(笑).今,セブン戦死図なんて変換が出ましたよ.合っているような間違っているような.
投稿者:Sousui (2004年9月25日 09:28)