M a c   O S   X   T i p s   1 - 2
Top > FAQ > Mac OS X Tips 1-2


Mac OS XCGI/SSIの実行環境を!<中編>


  ●● Flow ●●●●●
1st 「ルートユーザ」の有効化 [Netinfo Manager]
2nd 「ルートユーザ」でログイン --
3rd システムファイルの表示 [TinkerTool]
4th Perl本体をローカル
ディレクトリにコピー
[Terminal]
5th httpd.conf」の書き換え [Jedit](推奨)
6th 実行テスト --
追記 実際の運用に関して --

  ●● 3rd. システムファイルの表示 ●●●●●    
先生 さて中盤だッ。こっから先がイッキに難しくなってくるぞ。まずは、ふだんは隠れていて見えないシステムファイル(いわゆる不可視ファイル)を見えるようにする必要がある。
ミナ へへえ? なんで?
先生 うむ。ここからはシステムまわりに手を加えなくちゃならんからな。
ふだんMac OS Xでは、システムの根幹を担うようなユーザにはイジられたくない大切なファイルは隠れて見えなくなっている。Sherlockで検索をかければ表示できるにはできるが、編集が出来ない。したがって、そういったシステムファイル(含ドットファイル)を可視状態にするためのツールが必要だ。
ミナ ほうほう。そのために使うツールが、[ TinkerTool ]てコトですか。
先生 そのとォり。・・・なんかコレパターン化してきたな。
[ TinkerTool ]は以下のページで手に入る。

http://www.bresink.com/osx/TinkerTool.html

コレの、一番左側の「デスクトップ」タブの、上段
4行目、「非表示ファイルとシステムファイルを表示する(Show hidden and system files)」をチェックすれば、不可視ファイルが見えるようになる。



こういう(↑)のが、こう(↓)なる。


  ●● 4th. Perl本体をローカルディレクトリにコピー ●●●●●    
先生 さあミナくん。ココまでの成果をミしてもらおうかッ。
普通、Perl本体というのはドコに存在するものかな?
ミナ え? ドコって・・・Perlのパス、のコトを言ってるんですよね?
/usr/local/bin/perl
じゃないんですか?
先生 オオ〜〜〜ッ。やるのう。
そう、このサイトで紹介しているスクリプトは、どれも今ミナくんの言った/usr/local/bin/Perl本体が存在するのを前提に解説していたな。それがだいたいは普通だからだ。
しかし、Mac OS XではPerl本体は/usr/bin/にはインストールされているが/usr/local/bin/にはインストールされていない。したがって、手動で入れてやらにゃならんということになる。
ミナ ナルホド・・・そっか、ふだんはusrディレクトリUsersディレクトリではなく)は不可視状態になっててイジれないんですね。だからさっき可視状態にしなきゃならなかったんだ。


/usr/local/bin/ディレクトリには初期状態では何も入っていない。

ミナ で? 実際ナニをどうやってインストールするんですか?
先生 ふむ。/usr/bin/フォルダを開けてみると、それはそれはたくさんのツールが入ってるな。
こん中に
[ Perl ][ Perl5.6.0 ]とゆうのが入っているだろう。これがMac OS XにインストールされているPerlだ。
コレを、くだんの/usr/local/bin/にコピーしてやるワケであるが・・・。
ミナ が・・・って? Finder上でドラッグ&ドロップでハイ完了、でないんですか?
先生 イヤもちろんそうだとも。それがイチバン早いしカンタンだ。伝統的なイミで「Mac的」だしな。
しかし、相手は一応UNIXサマだ。それ相応の接し方をしてやったほうが、気分的に良いし、頑張ったなあ、て気にもなれる。
ミナ なんのコトかよく解んないですけど・・・要するに、UNIX的なやり方でやってみよう、てコトですか?
先生 そういうコト。UNIXと言えば伝統的な「コマンドライン」。コマンドを打ち込んでやって作業するあのやり方だ。そのためのツールも、Mac OS Xには標準でついてる。
ミナ それが、この[ Terminal ]てワケですね。[ /Apprications/Utilities/ ]に入っている。
先生 ふむ。UNIXのコマンドについていちいち解説してたらいつまで経っても終わらんので、とりあえずは[ Terminal ]を起動して、以下のコマンドを打ち込んでくれ。(1行打ち込むごとにリターンだっ。)

cd /usr/bin/
cp perl /usr/local/bin/perl
cp perl5.6.0 /usr/local/bin/perl5.6.0
ミナ うわぁ〜〜〜・・・なんかイキナリ高等なコトやってる気分。
先生 まあ、はじめのうちはそう思うかも知れんな。ちなみに、上のコマンドは、「[ /usr/bin/ ]ディレクトリにある[ Perl ][ Perl5.6.0 ]のふたつのファイルを[ /usr/local/bin/ ]ディレクトリにコピーしてちょ」という内容だ。
ミナ ・・・それって、[ Terminal ]を使うイミってあるんですか? それこそFinder上でドラッグ&ドロップで済むハナシなんじゃ?
先生 ジツはその通りだ。単純にコピーするだけなら(まあ不可視ファイルが表示されているなら、という前提であるが)、ミナくんの言う通りドラッグ&ドロップの方がラクチンに決まってる。
しかし、では、さっきのコマンドの代わりに以下のコマンドを試してみよう。

cd /usr/bin/
ln perl /usr/local/bin/perl
ln perl5.6.0 /usr/local/bin/perl5.6.0

2,3行目の行頭の
[ cp ][ ln ]に変わっただけだが、イミは大きく異なる。これは「[ /usr/bin/ ]ディレクトリにある[ Perl ][ Perl5.6.0 ]のふたつのファイルのリンクファイル[ /usr/local/bin/ ]ディレクトリに作成してちょ」という内容だ。
リンクファイルってのは、実ファイルの「分身」のコトで、まあ従来のMac OSでいうトコロの「エイリアス」に近いかな。もっと詳しく言えば「ハードリンク」と呼ばれるモノで、実ファイルと同じだけのファイルサイズを使うが・・・
ミナ 同じだけのファイルサイズって・・・それじゃそれこそコピーと変わんないじゃないですか。
先生 そう思うかも知らんが、実際は単純なコピーとは違う。「ハードリンク」は、実ファイルが更新されれば「ハードリンク」側も自動的に更新される、という特徴がある。非常に厳密なイミでの「分身」なのだ。
これに対し、リンク情報以上のイミを持たないリンクもある。それを「シンボリックリンク」といい、実ファイルの存在する場所(パス)とファイル名を記録しておくだけのファイルだ(コマンドラインでは[ ln ]ではなく、[ ln -s ]と記述する)。したがって、実ファイルの名前を変更したり、違うディレクトリに動かすなどしてしまえば、いわゆる「リンク切れ」を起こしてしまう。また、この場合で言うならば、Perlのシンボリックリンクを[/usr/local/bin/ ]ディレクトリに作成しても、Perlはうまく動作してくれない。
ミナ へえ〜〜〜パスとファイル名だけ記録しとくだけって・・・Windowsの「ショートカット」とおんなじですね。
先生 まさにその通りだな。従来のMac OS的な、実ファイルの名前や位置を変えても追跡してくれる「エイリアス」は言わば「ハードリンク」と「シンボリックリンク」の良いトコ取りってトコだったわけだが(そしてWindowsユーザに対して大いなる自信をもって自慢できる機能だったわけだが)。
ミナ ・・・でぇ、整理すると、
1:Finder上でコピー
2.Terminalでコピー
3:Terminalでハードリンクを作成

3種類の方法がある、てコトですよね。結局、どうすりゃ良いんですか?
先生 ふむ、一応、タテマエ上コマンドラインまで言及してしまったが、結局は「1:Finder上でコピー」がいちばん良いとわたしは思う。そもそも2,3の方法であったらこの場面では[ TinkerTool ]で不可視ファイルを可視状態にする必要性はまるでないわけだからな。
ファイルサイズが実サイズ分増えるし、実ファイルが更新されてもコピー自体は更新されないというデメリットがあるにはあるが、Perlはたかだか20キロバイトだし、もし新しいバージョンがリリースされたとしても[ /usr/bin ][ /usr/local/bin/ ]ディレクトリ両方にコピーすればいいだけのハナシだしな。
ミナ ながなが説明してきて結局ソレですかぁ。だったら[ Terminal ]なんて話しなくても・・・
先生 そうは言うが、最後のセクションじゃいよいよ設定ファイルの編集に入る。[ Terminal ]を使うことにもなるので事前に慣れておいたほうがナニかと良かろう、という私の親ゴコロだよ。察しとくれ。

<< Previous Page | Next Page >>


<< Back To Faq