Macintosh Developer Online (MDOnline)


2001年7月11日発行号 - mac.comは大丈夫か?



さきほど突然ソフトウエア・アップデートが動きだしたので、Mac OS X 10.0.5かぁ!と思ったのですが、WebObjects 5 Update 1でした。これもソフトウエア・アップデートでアップデートできるのですね。
ところで、今日はPHPをMac OS X Serverで動かす方法を紹介しました。「やっぱりWebObjectsでしょ〜」と突き上げを、あちらこちらから食らいそうな気もしますが(笑)。LinuxやFreeBSDでサーバをやっている連中にとってPHPはキラーアプリケーションです。実は、このMDOnlineのシステムもPHPを使っています。Webサイトで御覧になっている記事や、あるいはメールの配信とか書き込みを行う部分はPHPで作っています。それに、郵便番号検索サイトをやっていますが、それもPHPなんです。私にとってはPHPはいちばんなじみのあるアプリケーションサーバ(と言っていいかどうか〜笑)なんです。だから、動かすノウハウとかはあったので、気軽に記事にできそうというのもありました。まあ、PHPは万能とは言いませんし、いわば手続き言語でゴリゴリ書くタイプではありますが、手軽さという点ではやっぱり一番手に来るシステムだと思います。あ、もちろん、WebObjectsについてもいろいろこれから紹介しますから、御安心ください。
(新居雅行 msyk@mdonline.jp


Appleのネットワークサービスにトラブル?mac.com宛のメールが届かない?

mac.comのメール配信になんらかのトラブルがあった模様だ。すべてのmac.comのアカウントに影響があるわけではないようだが、ユーザによってはメール送信や受信ができないという状況になった。日本時間の2001年7月10日の午後あたりにはなんらかの機能障害が発生していた模様である。また、日本時間で2001年7月11日の未明あたりでは、Appleのサポートサイトにはメールサービスはメンテナンス中であることが表示されていた。11日の午前中にメンテナンスが終わったことが記載されている。また、11日の未明に、iToolsやiCardへのアクセスを行うと、「申し訳ありません。現在はiToolsは御利用できません」とのメッセージも見られたが、11日の午前中にはiToolsなどの利用は復旧している模様だ。
「mac.comはよく落ちている」と御指摘されるかもしれないが、今回は時間的に長く、影響が大きいように感じる。実際、筆者のアドレスも10日にメール配信が滞っているようだ。メーリングリスト等で利用しているが、リストからのメールが断続的になっている。現在、11日の正午であるが、10日の午後そして11日未明以降、メーリングリストからの配信が受け付けられていない(10日夜から11日未明のリストからのメールは来ている)。メールについては転送時にエラーがあると、何時間か経過して再送信を行うのが一般的であるため、サーバが正常に戻ってもすぐにはメールの配信が再開されるわけではないのであるが、この調子だと配信されないメールが出てくるのではないかと心配になってしまう。メーリングリストの内容はWebで参照できる場合も多いが、私信が届いていないという結果になることはなんとしても避けてもらいたいところだ。
フリーメールサービスは変な言い方かもしれないが、あまり真面目に使われていないこともあるように思う。一時的に使うとか、名前を隠して使うとかいうときの利用もそこそこ多いだろう。そのこともあってか、フリーメールのアドレスをメインのアドレスとして使っている人はそれほど多くもないという印象がある。もちろん、気にしないでフリーのアドレスをメインに使っている人も決して少なくはない。だが、mac.comについては、Macユーザの間では認知されたメールアドレスであり、一般的なフリーメールとは違ったある種のステータスもある。その意味では、たとえフリーであっても運用責任は重大になってしまっているだろう。Mac OS Xでは送信サーバとしても使う設定が自動的になされるなど、トラフィックは明白に増大しているだろうが、安定したメール利用ができるような体制を望みたいところだ。
iToolsはmac.comは接続プロバイダではないため、すべてのユーザはAppleのホームページにはアクセスができる。今回は簡単な状況説明はあったが、何ができなくなっているのかなど状況を的確に伝えることは可能なはずだ。また、確実に配信できるようになった段階で、ユーザにメールで知らせることも可能だろう(言語の問題もあるのだけど…)。今回のような状況は、たまたま筆者がメーリングリストにmac.comのアドレスで参加していて気付いたということもあり、また、いくつかのメーリングリストやAppleのDiscussion Boardで状況が報告されたこともあって明確になった。もしかすると、そうした動きがなければあるいは察知していない場合、メールサーバのトラブルがあったことすら分からなかったかもしれない。こうした状況が発生するのは、やはり機械が相手だけに仕方ないことは多くのユーザは理解しているだろう。むしろ、対応面での課題がまた残っていると言えそうだ。

関連リンク:Apple Care: Service & Support
カテゴリ:インターネット全般, サービス


Browsing Mac OS X》Mac OS X ServerでPHP4を動かす

PHPはオープンソースの世界では有名なソフトウエアだ。HTMLの中にスクリプトプログラムを埋め込むことを可能にする。Webサーバでスクリプトを含んだHTMLファイルを取り出した時、単にクライアントにファイルの内容を投げるのではなく、スクリプトプログラムをサーバ側で実行して、その処理結果をWebクライアントに戻すのである。つまり、サーバー側で稼動するプログラムをHTMLと統合的に記述ができるという利点がある。プログラム部分でデータベースアクセスを行えば、データベースから取り出したデータを、Webクライアントに対して送信するということができる。プログラムの出力結果をHTMLとして整えることで、Webブラウザ側は特殊なプラグインやあるいはOS環境と必要としないのである。PHPはそうした仕組みを提供するソフトウエアなのだ。
PHPはApacheのプロジェクトとして活動するなど、Webでのスクリプトの中心的な存在となっている。PerlでのCGIは有名だが、PerlはHTMLファイルとは別にプログラムを作成する。PHPだと、HTMLにスクリプトをまぜることができるので、独特の作りやすさがある。また。PHPの言語はPerlにけっこう近い感じのするプログラムだ。もちろん、変数の利用など言語機能としては一通りのものが揃っている。特にデータベース利用ができるということで、PostgreSQLやMySQLといったオープンソースのデータベースエンジンといっしょに使ったWebサイトは一般的に見られるようになっている。
このPHPのVer.4がMac OS X Serverには最初から組み込まれている。Mac OS X ServerにはこうしたWebアプリケーションを作成する素材はふんだんに組み込まれているが、そのうちの1つがPHPだ。他には、WebObjectsのDeployment環境もあるし、Tomcatもある。これらの比較というのも興味あるところだが、別の機会に譲るとして、今回は、PHP4をMac OS X Serverで稼動させるところのごくごく基本的なところを確認したので、その方法をお伝えしよう。

まず、Mac OS X Serverでは、Apacheが最初から稼動している。実は、ApacheとPHPを1からインストールするのは難しいわけではないが、きちんとパラメータを指定してのコンフィギュアが必要となるので「./Configure;make;make install」しか知らない管理者にとっては動かないと慌てることになるだろう。だけど、Mac OS X Serverではとりあえず標準状態では、ApacheはPHPを使えるようにコンパイルされている。そのまま使うのならインストール作業は不要だ。PHP自体はApacheのモジュールとして供給されるが、もちろん、コンパイルされたモジュールが最初から含まれているのである。後は、PHPが稼動するように設定を行えばいいのだが、標準状態ではPHPは使えるようになっていない。Server Adminでそういう設定も見当たらないので、Apacheの設定ファイルをいじることになる。設定ファイルは、/etc/httpdにある。ここにあるhttpd.confがApacheの設定ファイルである。
ちなみに、Apacheの設定ファイル自体は、手作業でいじってもどうやら問題はないみたいである(もしかして支障はあるかもしれないが今のところはそれは見つかっていない)。というのは、実際の設定は、httpd.confだけでなくhttpd_macosxserver.confというファイルも含めて反映される。Server Adminによって変更されるのはどうやらhttpd_macosxserver.confの側だけのようなので、おそらく、httpd.confは自由に変更できるものと思われる。
さて、ルートになってhttpd.confを編集するのであるが、以下の3つのポイントにある設定行の頭の「#」をすべて削除すればよい。#は設定を無効にする記号だが、これら3つの設定を有効にすればいい。編集後、もちろん保存しておく。

<ポイント1>
#LoadModule php4_module /usr/libexec/httpd/libphp4.so

<ポイント2>
#AddModule mod_php4.c

<ポイント3>
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

そして、実験をしてみよう。以下のような簡単なスクリプトを含んだファイルを、Webサーバで公開しているディレクトリに保存する。以下の内容で、ファイル名をたとえば「test.php」とすればよい。ちなみに、Apacheは拡張子が.phpのファイルだと、その中に含まれたスクリプトプログラムを実行するようになっている(それが、前記のAddTypeの設定である)。



Output of phpinfo





PHPのプログラムは、phpinfoという関数を実行するだけだが、この関数は非常によくできていて、PHPの実行環境について極めて詳しくいろいろな情報を表示してくれる。以下は実行例だ。Webで公開しているディレクトリのルートにtest.phpを作成したので、「http://ドメイン名/test.php」で、上記のPHPプログラムを実行できるのである。

◇PHPのテストプログラムを実行した結果
 

まず、PHPのバージョンは4.0.4であることがわかる。ちなみに最新版は4.0.6である。この表示結果を見るといろいろな情報があるのだが、MySQL Supportのセクションも表示されるので、MySQLのサポート機能はどうやらMac OS X Serverでは何もしなくても利用できそうである(実際にデータベースには接続してテストしたわけではないが)。
PHPを動かすとなると、いろいろ調べてみたいことはやまほどある。日本語の文字コードの扱いはどうなのだろかとか、いろいろあるわけだが、今回はとりあえずPHPを動かす方法だけとなってしまった。また、機会があれば、詳しく調べて結果をお知らせしたい。動かすだけなら簡単なようなので、読者の方々でチェックした結果をお知らせいただければそれも併せてお届けしたいと思う。

ところで、PHPのメリットの1つとして、日本語での情報がしっかりしているということがあげられる。「日本PHPユーザ会」という組織もあり、活発に活動を行うと共に、日本語に翻訳されたマニュアルもサイトで参照できるようにもなっている。以下のサイトから、おおむね必要な情報はほとんど得られるかもしれないので、ぜひともチェックはしてほしいサイトだ。また、最近では書籍も数多く出版されているため、とにかくPHP関連の情報が多いと言うのは1つの安心材料でもある。

◇日本PHPユーザ会
 http://www.php.gr.jp/

カテゴリ:Mac OS X Server, サーバー製品, Browsing Mac OS X


Mac OS Xでクラッシュ時のバグレポートを有効にする方法

Mac OS X 10.0でのデバッグについての情報がTechnical Q&Aに掲載された。/etc/hostconfigファイルに、「CRASHREPORTER=-YES-」という行を記述しておけば、OSがクラッシュしたときに、アクティブなスレッドの状態など、そのときの状況をコンソールに書き出すことができる。アプリケーションのデバッグや、バグレポートに有効に活用できるとしている。

関連リンク:QA1057:Activating CrashReporter in OS X
カテゴリ:Technical Q&A, 開発情報, Mac OS X


Mac OS XでQuickTime for Javaの開発をするときにはライブラリを手作業で追加する

Mac OS X上でQuickTime for Javaの機能を使って開発を行っているが、コンパイル時にエラーが出るという点についての解答が、Technical Q&Aに掲載された。QuickTime for Javaのライブラリファイルは、Mac OS Xに最初から組み込まれているが、クラスパスで参照されるようになっていないため、エラーが出る。したがって、QuickTime for Javaのライブラリを、プロジェクトに追加する必要がある。プロジェクトに追加するライブラリファイルは「/System/Library/Frameworks/JavaVM.framework/Home/lib/ext/QTJava.zip」である。なお、アプリケーションにこのライブラリは含める必要はない。アプリケーションの実行時には、JavaVMフレームワークの/lib/extのディレクトリはクラスパスに自動的に組み入れられている。

関連リンク:QA1058:Using the QuickTime for Java libraries on OS X
カテゴリ:Technical Q&A, QuickTime, Java


Mac OS XのSwingアプリケーションでの既定のルック&フィール

Technical Q&Aに、Swingのアプリケーションで既定のルック&フィールに関する情報が掲載されている。Mac OS XではAquaに対応したルック&フィールを持っている。Swingではルック&フィールをダイナミックに変更できるが、そのルック&フィールの指定方法はいろいろある。どのルック&フィールを使用するかといった情報は、swing.propertiesというファイルに記載されている(/System/Library/Frameworks/JavaVM.framework/Home/libというディレクトリに存在)。コマンドラインからアプリケーション起動する時に、「-Dswing.defaultlaf=」というオプションをつければ、swing.propertiesの設定を変更することができる。swing.propertiesファイルの内容を書き換えれば、既定のルック&フィールの設定も変更できる。ルートになってswing.propertiesファイルを開き、swing.defaultlafの値を変更する。ただし、既定のルック&フィールに設定するには、javax.swing.UIManagerにあるメソッドを利用する必要がある。

関連リンク:QA1059:Setting the default look-and-feel for Swing applications
カテゴリ:Technical Q&A, ユーザインタフェース, Java


ファイルメーカーProで暗号化を行うプラグイン

Peninsula社は、FileMaker Proでフィールドのデータを暗号化するプラグイン「Encrypt for FileMaker」をリリースした。BlowFishを用いた448ビットの暗号化を行う。また、暗号化したデータを16進形式への変換機能も用意しており、暗号化したデータをメールとして送るといった用途にも使えるとしている。MacintoshあるいはWindows版のFileMaker Pro 5.5に対応し、Mac OS Xにも対応している。SHAやMD5による署名の機能もある。価格は$13だが、サイトライセンスや開発者向けのライセンスも用意されている。

関連リンク:Peninsula
カテゴリ:暗合化, データベース


Mac OS 9のOpenGLとメニューの処理についての対処方法

Technical Q&Aに、Mac OS XのCarbonアプリケーションでCarbon Timerを使ってOpenGLのアニメーションを非同期に描画しているとき、メニューに重なって描画が行われてしまう点についての対処が掲載されている。基本的には、メニューを選択している間はOpenGLのアニメーションをストップするとして対処するのであるが、Carbon Eventを使う場合と、WaitNextEventを使う場合で、それぞれでのプログラミングのポイントが記載されている。なお、Mac OS Xではこうしたテクニックは使う必要はないとも記載されている。

関連リンク:QA1042:Menus & Hardware Accelerated OpenGL under Mac OS 9 Carbon
カテゴリ:Technical Q&A, グラフィックス, Carbon/CF, Mac OS 9


TIL》GeForceグラフィックスカードの英語版アップデータ2.1.1が公開

GeForceグラフィックスカードのファームウエアのアップデータと、Mac OS 9.1で利用する機能拡張のアップデートが行われた。公開されたのは英語版だけである。日本語版のユーザは、日本語版アップデータをとりあえず待つ必要があるあるだろう。アップデートより、パフォーマンスの向上や互換性の向上が行われると説明されている。

関連リンク:GeForce Graphics Card Update 2.1.1: Document and Software
カテゴリ:OS関連ソフトウエア, 周辺機器