ホーム > HTMLに役立つヒント> MAC OS X Darwin Tips > MAC OS X PB Darwin Tips
Mac OS X PBDarwin Tips
※今はなきパブリックβ版に関するTipsです。これらのTipsはすでに使えません。
※僕は体系的にUNIXの勉強をしたことがないシロートです。このページの記述は間違ってるかも。また、クローズドなサーバを前提にしているので、公開サーバとしては非常識な設定かもしれないです。自分でも試してみようという方はオウンリスクでお願いします。
自分用のメモです。日々改訂してます。MAC OS PB(パブリックベータ)のUNIX系のTipsです。フツーのMACユーザには用がありません。MACをサーバにしちゃおうという人にだけ役に立ちます。僕の目的はperlスクリプトの開発環境として使うことです。今まではMAC上でMACperlで開発していたから、MAC perlとUNIX perlの両方で動くように記述しないといけなかった。これが片方でよいとなればありがたい。
それに、UNIXとMACの二つのOSが同時に走ってるんだから(ほんとはちょっと違うけど)、これを使わない手はない。
実はまだうちのMACにはOS Xを入れていません(2000/10/29入れました)。だって仕事に使ってるんだもーん。同じ日にPBを買った同僚が自分のMACに入れたので(PowerBook G3 ブロンズ 400MHz 192MB)、それを覗かせてもらってわかったことのメモです。もっといじらせてくれないかな〜。su権限ほしいな〜。壊れたっていーじゃんか。どーせぼくのMACじゃないし。
2000/11/16 デベロッパーツールに関して、公の場でも討論して良いことになったそうです。→Developer Toolsはもはや秘密ではない さっそく削除してあった関連の記述を復活させました。
●デベロッパーツール ▲ページトップ
・デベロッパーツールの必要なわけ
PS X PB標準ではccもmakeといったコンパイルに必要なコマンドが削られている。デフォルトの「/usr/bin/」の中味をここに示す。NAMAZUをインストールしたりサーバ機能を拡張したりといったコンパイル作業が必要なことを行いたいなら、デベロッパーツールをインストールしなくてはならない。
・ファイルの取得
まずはMac OS X Public Beta Developer Toolsをアップルからダウンロードしてとってくる。これにはADCのメンバーになる必要がある。料金はかからない。それにしてもメンバーになるアンケートが長い(;_;)
<URL:http://developer.apple.com/membership/macosx.html>
ADCに入ったら「Download Software」→「Mac OS X」と進んでダウンロード。恐ろしいことにツールキットは69.6MBもある。
「Download」をクリックするといきなり画面に中味が表示されるのにもビックリ。途中で止めて、ファイルメニューから「別名で保存」して無事ダウンロード。1時間ちょっとかかった。
・インストールの失敗
自分のPowerBookにインストールしようとしたが、何度やってもうまくインストールできない。同僚のPowerBookにインストールしたら、1発でうまく行った。インストール時間は20分ほど。
両者の大きな違いは、僕のPowerBookがパーティションを切っていて、OS XとOS 9を分けているのに対し、同僚のPowerBookはパーティションが一つだという点である。もう一つ、うちの時にはterminalからtarコマンドで解凍したが、同僚の時にはStuffIt Expander 6.0(OS Xに付属しているものではない。こちら)で解凍している。
なにが原因かは分からない。
なお、インストールの最初の場面で管理者の認証をするのだが、どういうわけか2回認証しないと先に進めなかった。
・拡張されるもの
で、デベロッパーツールでどんなものが拡張されるのか、「/usr/bin/」の中味をこちらに示します。
・インストールの工夫
二つ思いついた。一つはまっさらな状態でインストールすること。もう一つは、僕のPowerBookは、OS Xインストール時にrootの名前と自分の名前(Usersフォルダにできる個人用フォルダの名前)を別にしていたことである。デベロッパーツールのエラーに「No such file or directory」と表示されるのは、ひょっとしてsu権限が不十分だからではないかと思ったのである。
そこで、OS Xをインストールし直し、その際にrootの名前と自分の名前を一致させてみた。直後にデベロッパーツールをインストールすると、見事に一発でインストールできた。
何が原因なのかわからないが、インストールがうまく行かない人は、この方法を試してみてはどうだろう。
言い忘れてました。自分のPowerBookにインストールするときには、ディスク容量が途中で不足しないように空き容量の大きい(空き容量1.3MB)パーティションでデベロッパーツールの解凍とインストールを行っている。
・ディスク容量
なお、デベロッパーツールのインストールは、インストール時に269MBの容量が必要と表示されるが、実際には360MBほど容量を喰うようだ。これはインストール前とあとの空き容量を比べた数字である。うちのPowerBookの場合1.2MBのパーティションにOS Xを入れた。OS Xとデベロッパーツールのインストールで、空き容量はわずか63MBととなってしまった。やはり2MB程度はパーティションがほしい。
OS X正式版がでたら、パーティションを切り直すことにしよう。
・nkfは標準では入っていないので入れてやります。nkfはNetwork Kanji code conversion Filterという漢字コード変換フィルタ。日本語を扱うUNIX界では大変広く使われていますし、これを利用するアプリケーションも多くあります。日本のサーバに入っていないとしたら「えー!?」ってなもんです。 ▲ページトップ
|
・ファイルの取得 ・ファイルの展開 sh nkf171.shar ←ファイルを解凍する。いろいろファイルやらディレクトリができます。 以上で終わりです。なんか、テストに失敗しているし、これで正しいインストールなのか全然自信ないです。正しいインストール方をご存じの方はDarwin掲示板までお願いします。 |
●cgiを使えるようにする ▲ページトップ
※以下の説明はスタンドアローンサーバだからできることです。特に、cgi-bin制限を外してdocuments以下全体にわたってcgiとSSIが動くようにしていますが、本来はdocumentsではcgi-binの制限をかけたままにしておき、addusrしてユーザーに開放した領域だけでcgi-binの制限を外す方が安全です(のはず)。サーバを解放する場合はそのあたりに注意すること。
|
cgiの設定を実際にやってみました。オリジナルのapache.confはapache.conf.orgと名前を変えてとっておくこと。 ●/Library/webserver/Configuration/apache.confの書き換え(以下の3箇所) ・624行付近 <Directory "/Library/WebServer/CGI-Executables"> ・822行付近 ・827行付近 ●/Library/webserver/CGI-Executables/printenv を printenv.cgi という名前でコピーしてterminalから .chmod 777 printenv.cgi した。これを/Library/webserver/documents/ の下に持っていってブラウザからアクセスしたが、「You don't have permission to access /printenv.cgi on this server」と表示されて動作しなかった。 てーことは上の解説、間違ってるってことですね。すみません。どーやればいいんだろう。エラーにでてくるパーミッションはファイルパーミッションのことではないはずだ。ちゃんと設定してるもんなぁ。 configファイルがapache.conf1本に統合されたのはバージョン1.34以降と思っていたが、OS Xのapacheは1.3.12なのに1本になっている。うーむむむ。 ●解決。cgiファイルの置き場所を間違えていた。この設定ではcgiファイルを /Library/webserver/CGI-Executables/ に置くとcgiが動くようになる。printenv.cgiはここにおいてバッチリ動いた。めでたしめでたし。 ●この方法でとりあえずcgi動くようになりますが、UNIX的に見て、というか、サーバ管理者として正しい設定なのかどうか自信なし。 ●好きな場所でcgiを使いたいので、/Library/webserver/CGI-Executables/に置くという制限を取り除きたいです。これは後日試してみます。 なんか、後ろで「オレのMACが壊されていく」とか声が聞こえますが、「みんなのためだ、死んでくれ」と無視します。そんな大したことしてないしね。 |
|
前回cgiを動かすことに成功しましたが、cgiスクリプトの置き場所がcgi-bin(/Library/webserver/CGI-Executables/)に制限されていました。この制限を外します。 その1 617行付近 置き換えを無効に # ScriptAlias /cgi-bin "/Library/Webserver/CGI-Executables" として置き換えを無効にします。 その2 624行付近 制限も無効に # <Directory "/Library/WebServer/CGI-Executables"> その3 399行付近 /Library/WebServer/DocumentsでcgiとSSIを有効にする。 Options Indexes FollowSymLinks MultiViews Includes ExecCGI とする(Optionsの設定) リスタートさせて、テストのために/Library/WebServer/Documents/に先日のprinsenv.cgiを置いてブラウザでアクセスします。アクセス先は「http://IPアドレス/prinsenv.cgi」となります。前回と違って「cgi/bin」がない点に注意。 これで/Library/WebServer/Documents/以下に置いたcgiがすべて動きます。 |
●SSIを使えるようにする ▲ページトップ
|
上の設定でSSIも有効になります。 <!--#config timefmt="%y/%m/%d %H:%M" --> これで改定日が表示されれば成功です。実際にテストしてSSIが動いていることが確認できました。 |
●CGIその2 別パーティションでも使えるようにする。 ▲ページトップ
|
自分のMACにもOS X入れました。PowerBook G3 Bronze keyboard 333MHz 192MBです。同僚のPowerBookがOS XとOS 9が同じパーティションであるのに対し、僕のPowerBookはOS 9は別パーティションにある。ホームページのデータはOS 9側のパーティションにある。こちらをWEBとして公開しなくては、「サーバにアップする前に手元でシミュレーションする」という僕の目的は達成できない。 ●ドキュメントルートを変更する ちなみに、terminalで見てみると、別パーティション(OS 9領域)にもちゃんとモード設定が使えるようになっている。これまでのMACにはパーミッションの概念がなかったのでどうなるかと思っていたが、やっぱり全体がUNIXになるのね。 |
●CGIその3 /usr/local/bin/perlでも動くようにする。 ▲ページトップ
|
perl スクリプトは、最初の1行目にperlの位置を書くことになっています。OS Xのデフォルトでは「/usr/bin/perl」にperlがありますが、シンボリックリンクを使って「#!/usr/local/bin/perl」としても動くようにしてみます。terminalで作業します。 cd /usr/local ←移動する。 以上の作業で、スクリプトの1行目が「#!/usr/bin/perl」でも「#!/usr/local/bin/perl」でも動くようになります。
2000/10/31 ●問題発生 ●解決方法 ln perl /usr/local/bin ←ハードリンクを作る よーするに「-s」というシンボリックリンクを作るオプションを外してコマンドを打つだけだ。 メモ:シンボリックリンクがただのエイリアスで実態がないのに対して、ハードリンクはオリジナルのライブコピーである。オリジナル、またはハードリンクのどちらかを変更すると、もう片方も内容変更が反映されるのである。オリジナル分だけハードディスクを消費することも大きな違いだ。今回の場合、perlとperl5.60.合わせて容量は20kほどである。 |
●AllowOverride Optionsの設定 ▲ページトップ
cgiのところででてきたAllowOverrideのOptionsに関するメモ。Optionsを指定しない(Options行を記述しない)場合は関係ない。Optionsの各設定は半角スペースを使って複数記述できる(例:OptionsExecCGI IncludesIndexes)。
|
Optionsの設定 |
意味 |
| Options All | すべてのオプションを有効にする(Multiviewsを除く)。 |
| Options ExecCGI | CGIを有効にする。 |
| Options Includes | SSIを許可する。 |
| Options IncludesNoEXEC | コマンド(#exec)の実行を除いてSSIを許可する。 |
| Options Indexes | index(ファイルリスト)表示を許可する。 |
| Options FollowSymLinks | シンボリックリンク(MACでいうエイリアス)を有効にする |
| Options SymLinksIfOwnerMatch | シンボリックリンク(MACでいうエイリアス)を有効にする。上のオプションとの違いはシンボリックのオーナーと実態のオーナーが一致した場合だけ許可します。 このオプションなら上と違って他人の領域に進入することができません。シンボリックリンクできるのは自分の所有するファイルやディレクトリだけということになります。 |
| Options MultiViews | Multiviewsを許可する。 |
●役に立つリンク ▲ページトップ
やはりまだ時期が早いのか、OS X PBについての記事は以下のリンクにもほとんどありません。買ったよという報告くらい。特にUNIXというかFreeBSDというか、Darwinの話はないですねー(;_;)
MACユーザー系のページでは、OS9との共存というか互換というか、そのあたりに気がいっていて、UNIXサーバとしての記事を見かけません。UNIXサーバ系のページでは、基本的なインストール後の設定変更についての解説となっているので(当たり前ですね)、OS Xでは応用できないものが多いようです。なぜなら、最初からOS XのUNIXはカスタマイズされているから。しかもかなり。まずはどこがどう変更されているのか突き止めて、それから設定変更に取りかかる、というのが正しい態度でしょうね、本当は。
えーい、そんなの面倒なんじゃー、オレのMAC(他人のMACだけど)のことを解説してくれ!
●FreeBSD OS XのベースはFreeBSDというシステムなので、ここが総本山。各種パーツもここで手に入る。日本語ページ。
●FreeBSD Project(JAPAN) FreeBSDの日本の本家。
●open source Darwin アップルのダーウィンページ。Darwin(ダーウィン)というのはFreeBSDをベースに開発されたUNIXシステムのこと。OS Xのコアを形成してます。
●Darwinists's Houseまたはダーウィン使イ共之家 ダーウィン関係のディープな情報が載ってます。
・Darwin FAQ 日本語版 これは労作! すごいです。
●Darwinists's room ダーウィン関係のTipsが載ってます。
●Darwin -jp Mailing List ダーウィンの日本語メーリングリスト。
●Tech-arts Mac OS X Home Page OS Xサーバーやダーウィンについてのメーリングリスト。
●アップルMac OS X public Beta はじめに アップルのページ。下の方にDarwinの情報の入ったPDFがある。しかも日本語だ。うれしー。
●MacWIRE MacWIREのトップページ。情報が速い。
・MacWIRE OS X PB特設掲示板 OS Xの掲示板ですが、まだUNIX関係の話題はないですね。
・MacWIRE OS X PB 関連記事リンク MacWIREのOS X PB 関連記事一覧。
●DIG OUT! OS XのUNIXTipsを載せている数少ないサイト。心強いです。Think & WriteコーナーにOS X PBの裏技があります。
●猿でもわかるFreeBSD いろいろ参考になります。
●FreeBSDパワフルリンク なんか、パワフルそうです。
●UNIX関連のページ もろUNIX。参考になります。
●Fukuyama's HomePage MACでUNIXのリンク(林檎の食べ歩き)が充実。
●MACでcgiのテスト OS Xではないですが、アパッチの記事が参考になります。
●ちょ〜簡単Apache for win32の初心者向け解説 UNIX系。
●サーバーヅクリ UNIX系。FreeBSDでサーバを作る説明。
●MAC OSの館 MACOS全般。X PBの情報はアップルの公式のものと同じ。
●Generation X ベータレポートページがある。
●Macintosh Lab MACOS全般
●Mac Fan 雑誌MAC FANのweb版。ニュースが速い。
●Browsing Mac OS! OSに特化した情報。話題が多い。
●Mac OS Supporter's Net MACユーザーのたまり場。
●AppleScript名前通りアップルスクリプトのこと。そのうち使うかも。
●翔泳社 FreeBSD関係の本を出している出版社。立ち読みコーナー、注文コーナーあり。