2011年まで「俺的な非 UN*X 環境をめざして」という題でしたが、 「UNIX系」と「非UNIX系」の区別がだんだん難しくなってきましたので、 あれこれ区別しないことにしました(^_^;
[前] Windows - 遅延書き込みデータの紛失 2012/04b |
Web上で動作するCGIスクリプトを組むというとき。 書きかけのスクリプトをいちいちWebサーバに「アップロード」して 動作確認‥なんてのは、無論、やってられません。そこで、手元にある MacOS X (10.6 Snow Leopard)でWWWサーバを起動して、CGIの動作確認まで しちゃおう、という話。
MacOS X では、標準ですでにWWWサーバ(Apache2)が装備されてますので、 それを使うのが一番ラクです。じつはWWWサーバ起動までの手順も非常にラクで、 「システム環境設定」の「共有」の中にある「Web共有」というやつ、これを オンにしてやるだけでWWWサーバが起動するようになります。しかもこれ、 (サーバ機能なので当然といえば当然なのですが) 一度オンにしてやると、以後明示的にオフ指定してやるまでは、 Macを再起動してもオンになりっぱなしです。 ‥というのはさておき。「Web共有」をオンにすると 図のようにウィンドウの右側が「Web共有:入」となります。ここで この図にあるように http://192.168.50.36/ にブラウザでアクセスしてみるとこんな表示が出るはず:
It works! |
次は「私のホームページ」。 これは上図のウィンドウにおける「あなたのパーソナルWebサイト」のことですけど、 ここにアクセスするには「ホームフォルダの"サイト"フォルダ」、つまり userという名前のユーザであれば、 "Macintosh HD" の下の "ユーザ" の下の "user"の下の「サイト」という フォルダ、ここに index.html という名前のファイルがあると思いますが、 このファイルを編集するか、別のファイルを index.html という名前で置く ことによって「あなたのパーソナルWebサイト」、つまり http://192.168.50.36/~user/ ここに自分で書いた内容にアクセスできるようになります。ここまでが基本事項。
ここからがCGIの話。MacOS Xに入ってるCGIを動作させるには、二つの方法があるようです。
/Library/WebServer/CGI-Executables
というディレクトリ以下に
CGIスクリプトを置く。/etc/apache2/users
以下にある、
ユーザ名がuserのときは
"user.conf" というファイルを
書き換えます。いろんな方法があると思いますが、私はこんな感じにしました。
すると users フォルダの内容が、Finder で表示されるはずです。(表示されたら、 「ターミナル」は終了してOK)
$ open /etc/apache2/users
この None となってる箇所を All などに書き換えます。 何に書き換えるかは、自分が使っている環境などを考慮して、総合的に判断してください (としか書きようがない‥)。
AllowOverride None
/etc/apache2/users
以下に上書きコピーします。.htaccess
という名前のファイルを置きます。中身はこんな感じ:
すでに
Options +ExecCGI
AddType application/x-httpd-cgi .cgi
.htaccess
があるときは、そのファイルに上記の内容を追加してやってください。M-x shell
から Shell モードに入っての作業がお勧め、かな?)
/var/log/apache2/
以下にあります。C-x RET f
から
sjis-unix
など、文字コードの後ろに "-unix" を付けてやると
改行コードの変更(CRLFからLFのみに変更)をしてくれるみたいです。[次] (Win)古いノートPC 2012/03b |