タイトル【Mac OS X Public Betaシリーズ】Webサーバ機能を稼動させるカテゴリーサーバー製品, Mac OS X, Mac OS X Public Betaシリーズ
作成日2000/11/21 17:22:32作成者新居雅行
Mac OS 9にも「Web共有」として、MacをWebサーバとして稼動させる機能があったが、実際にサーバ運用ができるというよりも、別のパソコンとのデータのやり取りをスムーズに行うといった用途の使い方が中心であった。Mac OSではインターネットサーバ向けのWebサーバには商品あるいは無償のアプリケーションソフトを別途使うのが一般的であった。しかしながら、Mac OS X Public Beta(以下、Mac OS X)にもWebサーバとして働かせる機能があるものの、UNIXの世界でもっとも定評のあるWebサーバであるApacheそのものが組み込まれている点で大きく違う。実際にインターネットで多くのWebアクセスをさばいているApacheと同じものがMac OS Xにも入っている。パフォーマンス的に申し分はない上に、稼動の上でのさまざまな機能が使えるとともに、ノウハウについての書籍やサイトなども多い。UNIXをコアに持つというMac OS Xのメリットを実感できるところでもある。

Webサーバ機能を利用するのは非常に簡単だ。System Preferences(システム環境設定)を呼び出し、ネットワーク(Network)のアイコンを表示して、パネルを表示させる。そこに「サービス」というタブがあるので、それをクリックする。サービスのタブには、Webサーバをアクティブにする機能だけがある。ここで、「入」を選択するが、その前に左下のカギのアイコンをクリックし管理者パスワードを入力し、ロックを解除しておく必要がある。

◇Webサーバ機能をアクティブにする
 

他に設定できるのは、「サーバ名」と「書類フォルダ」だ。書類フォルダとはサーバのドキュメントのフォルダつまり、Webサーバで公開する文書を保存してあるディレクトリを指定するだけだ。通常はそのままでかまわないだろう。そのディレクトリ以下のディレクトリが、基本的にはすべてネットワークを経由して公開される。サーバ名もあまり動作には関係しないので、インターネットに公開しないのであれば、あまり気にしなくてもよい。一般には、URLでWebに接続した場合、DNSが介在するので、そのDNSの設定に従って選択しておくのが一般的だ。
こうして、書類フォルダにHTMLファイルや画像ファイルなどをコピーしておけば、クライアントから参照できる。実験で行う場合には、http://192.168.0.11/photo.html のように、IPアドレスを指定するのでもいいだろう。同じマシンからのアクセスだと、http://localhost/ という記述もできる。最初から書類フォルダに入っているindex.htmlファイルでは「Powered by Mac OS X」のメタリックなロゴを参照できる。
なお、Apacheが稼動しているかどうかは、/Applications/Utilities/ProcessViewer を使っても参照できる。そこにあるapacheというプロセスがApacheの実体なのである。複数のプロセスがあるが、これで正常な動作である。なお、一般的にはhttpdというプロセス名になっているが、Mac OS Xではapacheがプロセス名だ。

さて、Apacheは背後で動くデーモンというソフトなので、ウインドウなどは何も出ない。そして、稼動では1つのソフトウエアのファイルがあるものの、その他にたくさんのファイルが必要になる。こうしたファイルは、/Library/WebServer というディレクトリにフォルダに分類して入れられている。いわゆるApacheのルートというのがこれに相当するわけだ。

◇Apache関連のファイルの置き場所
 

ApacheのルートにあるDocumentsフォルダが、公開されるフォルダである。他に知っておきたいのは、Logsで、ここにクライアントから接続してきたログや、あるいは存在しない文書を参照するなどのエラーログが蓄積される。CGI-Executesは、CGIプログラムを置くための用意されているが、初期設定ではセキュリティ上の理由から、Documents以下にはCGIプログラムを入れて実行はできなくなっている。その代わり、CGI-ExecutesにあるファイルはなんでもCGIプログラムだと想定して「起動」をするという仕組みだ。また、CGI-Executesに、actionというファイルがあれば、http://サーバ名/cgi-bin/action で実行できるようになっている、というのが初期設定である。こうした設定は変更可能である。(なお、CGI-Executesに最初からあるスクリプトは、Terminalからコマンドを入れるなどしてアクセス権を設定しないと、実際にはCGIとしては機能しない。)
Configrationには設定のファイルが納められている。このフォルダにあるapache.confに各種の設定を記述する。一般には、httpd.confというファイル名であることが多いが、Mac OS Xではapache.confがそれに相当する。公開文書のディレクトリだけは、System Preferencesで変更できるが、それ以外の設定は、たとえばTextEditなどを使ってapache.confの内容を書き替えて変更を行うことになる。/ApplicationにあるTextEditアプリケーションを使い、/Library/WebServer/Configration/apahce.confを開き、設定を変更して保存する。

Webサーバ機能
◇Apacheの設定ファイルをTextEditで編集する
 

保存後は、System PreferencesでWebサーバ機能をいったん切り、再度「入」にする必要がある。ここで/Applications/Utilities/ProcessViewer を使って、Apacheが稼動しているかどうかを確認する必要がある。設定にミスがあると、Apacheが起動しないこともある。そのときは、Logsにあるapache_error_logの末尾を見て、エラーの内容を確認しよう。

Apacheの設定に関してはいくらでも説明することがあるし、それで1冊の本になるくらいある。ここではいくつかポイントになることを説明しておくにとどめる。まず、Apacheのバージョンは、1.3.12である。2000年9月に1.3.14が出たので最新版ではなくなった。なお、Apacheは2.0のリリースも始まっている。
Apacheのプロセスが、「www」という名前のアカウントで稼動している点は注意が必要かも知れない。Mac OS Xでは、wwwというアカウントが最初から登録されており、NetInfoのデータベースに入っている。ただし、このwwwはApacheを実行する専用アカウントであり、「マルチユーザ」アプリケーションでは参照できないユーザである。だから、Apacheはwwwというユーザの権限の及ばないことはできないことになる。たとえば、特定のユーザだけが読み書きできるファイルを公開しようとしてもできないのが基本だが、多くのファイルは全アカウントに対して読み込みは可能になっているので、単にHTMLファイルなどのスタティックなWebサイトの公開で問題になることは少ないだろう。一方、CGIプログラムを稼動させるとなると、wwwというアカウントでファイルの書き込みなどができるように、フォルダのアクセス権の設定などが必要になる。一般的なApacheはnobodyというユーザ名であることが多いのだが、Mac OS Xはwwwとなっている。もっとも、CGIを動かすためにはhttpd.confの設定を変更することが多いだろうから、そこまでやる人には既知の事実かも知れない。
関連リンク