Jun 20, 2005

MacOSX (Panther)でCGI

Panther tiger

Webページを運営していくと、掲示板やカウンター、チャットなどが欲しいと思うことがあるはずです。レンタルの掲示板だと広告がごちゃごちゃと入ってしまいますし、スパムもどきなメールも増えてしまいます。これらはたいていCGIという言語でできています。Mac OSX(panther)は、はじめからCGIが使えるようになっています。Webで配布されてるCGIスクリプトをダウンロードして、適切な設定をすれば、自分のMac内に掲示板などを設置することができます。

使うソフトウェア

SFTPソフト
Fugu(http://rsug.itd.umich.edu/software/fugu/)
Downloadからinternational版をダウンロードします。

エディタ
mi(http://www.mimikaki.net/)

CGIが使える場所

CGIを使うことができる場所は決められています。/Library/WebServer/CGI-Executables/の中です。

/Users/ユーザーの名前/Sites内で使うためには少し高度な設定が必要になります。これについてはあとで触れます。



設置作業-掲示板を設置してみよう

  1. CGIのダウンロード
    ここでは試しにhttp://www.kent-web.com/で作成配布されているASKA BBSをいれて動かしてみます。Kent Webさんのところ、「掲示板」のコーナーから「ASKA BBS」をダウンロードしてきます。





  2. ダウンロードできたらダブルクリックして解凍。



  3. askaというフォルダができるはずです。askaフォルダの中にフォルダを作り「lock」という名前に変えます。




  4. miでaska.cgiを開きます。



  5. 第一行目にある#!/usr/local/bin/perlを#!/usr/bin/perlに書き換えます。



  6. メニューバーから改行コードをLF(UNIX)に変えます。ここ非常に重要です。良く忘れます。



  7. 28行目から始まる「基本設定」の項目を自分の環境に合わせて変えていきます。最低限「管理用パスワード」は設定しておきます。



  8. ファイルを保存します。



  9. askaフォルダを/Library/WebServer/CGI-Executables/に移動させます。



  10. Fuguを起動します。



  11. 自分のホームフォルダ内が左側に表示されます。上の矢印をクリックして上のフォルダに移動します。
    home

    home


  12. /Library/WebServer/CGI-Executables/askaフォルダの中まで移動。



  13. フォルダの中にはaska.cgi, askalog.cgi, jcode.pl,lockフォルダの四つがはいっているはずです。aska.cgiを選んでinfoボタンを押して、パーミッション(アクセスに関する権限のことです)を設定します。CGIはこのパーミッションというヤツを正しく設定しないとうまく動きません。



  14. KENTさんとこに詳しくありますが、たとえばaska.cgiファイルは755に設定することになっています。Fuguのinfoウインドウ下に"Octal Mode Representation"という項目があります。そこに数字が書かれていると思います。この数字を0705から0755と設定して、"Apply"ボタンを押して決定します(忘れずに)。


  15. askalog.cgiを同様にして0666に設定します。

  16. jcode.plを同様にして0644に設定します。

  17. lockフォルダを同様にして0777に設定します。

  18. 最後にaskaフォルダのアクセス権を変更します同様にしてinfoウィンドを開きます。


  19. アクセス権を705に設定します。



これで終了です。


動作確認

aska.cgiがちゃんと動くか試してみます。アクセスするURLは以下になります。

http://127.0.0.1(または自分のIPアドレスやドメイン名)/cgi-bin/aska/aska.cgi

動かない場合は、URLの入力が間違っていないか、パーミッションはあっているか、CGIの一行目が#!/usr/bin/perlになっているか、CGIの改行コードをLF(UNIX)にしているか、を確認します。アプリケーションフォルダ内ユーティリティフォルダからConsoleを動かして、"ログ"メニューの/var/log/access_logや/var/log/error_logをみると何かわかるかもしれません。


http://127.0.0.1(または自分のIPアドレスやドメイン名)/CGI-Executables/aska/aska.cgiでなくても大丈夫です。askaをいれてあるフォルダは"CGI-Executables"ですが、"CGI-Executables"は"cgi-bin"と同じにあつかうようにMacは設定されているのでhttp://127.0.0.1(または自分のIPアドレスやドメイン名)/cgi-bin/aska/aska.cgiでちゃんとうごきます。

うまくいったらあとは外から接続がうまくいくか実際のURL(http://自分のドメインネーム/cgi-bin/aska/aska.cgiを入力して試してみます

Trackback

No Trackbacks

Track from Your Website

http://earlybirds.ddo.jp/namahage/inegalog/trackback/tb.php?id=3
(言及リンクのないトラックバックは無視されます)

Comments in Forum

3 Comments