cgiの設定
INDEX--TOP--

よく知られているように、MacOSX10.2は、Perlによるcgiスクリプトを実行できる環境がととのっている。
Apacheのconfigを修正すれはSSIも利用可能だ。

テストファイルの実行(2つのファイルがデフォルトで用意されている)

Library/WebServer/CGI-Executables/printenv
Library/WebServer/CGI-Executables/test-cgi

→ http://localost/cgi-bin/tprintenv
→ http://localost/cgi-bin/test-cgi

なお以下の場所がApacheのデフォルトのindex.htmlの置き場所。

Library/WebServer/Documents
→ http://localost/index.html

ここに各国言語用のindex.htmlが置かれている。ブラウザの言語の設定をかえることで、日本語または英語のページを見ることができる。
各ユーザーのホームはUsers/ユーザ/Sitesになる

→ http://localost//~ユーザ/index.html

cgiには実行権が必要(x)。cgiを実行するのはサーバーソフトであり、そのユーザーは「www」となる(結局、Windows2000などと同じく、「Everyone」ということだろうか)。全ユーザーに実行権を設定する。

ターミナルを起動し※ルートでアクセスする

[localhost:/] root# cd /Library/WebServer/CGI-Executables

に移動し、パーミッションを変更する

[localhost:/] root# chmod o+x printenv test-cgi

このコマンド[chmod]で、その他のユーザー[o]に設定されていなかった、実行権[x]を与えたことになる。

◎結果
% ls -l
-rw-rw-r-x 1 root admin 5398 Sep 3 2001 printenv

-rw-rw-r-x 1 root admin 757 Sep 3 2001 test-cgi

(前から→u=オーナー、g=グループ、o=ユーザー、a=すべてのユーザ、最後のxが実行権)

※MacOSX10.1は、Apache/1.3.20。

・cgiスクリプトの改行コードはLF(UNIX)で、CR+LFなどは作動しない。

・スクリプトには、すべてのユーザーに「読み出し」「実行」権を与える。
-rw-rw-r-x

・Perlのパスは「/usr/bin/perl」となる。よってスクリプトは始まりは
#!/usr/bin/perl

・Windowsの改行コードの変換
viのコマンドモードで
:%s/^M//g
(^Mはcontrol+V、control+Mの順に入力する)

・ターミナルでperlを実行すれば一気に変換可能。

INDEX