Panther(MacOSX 10.3)にはフリーで高機能のWebserverであるところのApacheが付属しているのだが、こちらのバージョンは1.3.xである。
version2.0.xを入れてみようと思う。
別に1.3.xが使われなくなっているわけではなく、新機能をいろいろ盛り込んでいる2.0.xよりもstableな感じらしいが、
まちがってるかもしれないのでそこの所一つよろしくお願いしたい。
Jun '05 追記)Tiger(OSX 10.4)でもこのままで問題なく動作しました
で、ちょっと情報をいろいろ集めてみたが、日本語の情報はあんまりなかった。 が、とりあえずの結論としては、本家から素のパッケージを取ってきて自分でがんばってインストールする方法と、 OSX用にパッケージ化されたものを用いる方法があることがわかった。 当然私はみなぎる決意を胸に敢然と立ち上がり、後者を選択した。
インストール
使うブツはこちら。Server Logistics - Complete Apache 2
フリーでOSX用のパッケージを配布していらっしゃるえらいところ。感謝しつつダウンロード。
基本的にやることはGroove Cafeさんの説明にある通り。
1. 既にコントロールの「Web共有」を起動している場合は停止する
2. ダウンロードしたパッケージ内の「Apache2.pkg」をダブルクリックしてインストール
3. パッケージ内の「Apache2.prefPane」をダブルクリックしてApache2用のPreferencePaneをインストール
自分だけが使えるようにしたいなら「ユーザ専用」「すべてのユーザー用」を選ぶ
4. システム環境設定の「その他」にできた「Apache2」を開き、「Status」から「Start」を選ぶ
5. ブラウザでhttp://localhost/を開き、「予想に反して・・・・」のページが表示されたらOK
Apache2を起動しても、システム環境設定の「Web共有」は「停止」になっているがこれはおかしいことではなく、
この「Web共有」がApache1.3.xを、「Apache2」がApache2.0.xを司っていると考えればいい。
試していないが、同時に起動させないようにしよう。
ちなみに、ちゃんと「Web共有」を停止してからApache2をインストールしていれば、
「Status」の「Start Apache2 at Boot」をチェックすればOSXを起動するとApache2.0.xの方が自動的に起動するようになる。
Apache2を停止させたければ「Status」から「Stop」を選ぶ。再起動は「Graceful」。
ちなみにこの「Status」での「Stop」「Start」「Graceful」による操作は、それぞれコマンドラインで
/Library/Apache2/bin/apachectl start
/Library/Apache2/bin/apachectl stop
/Library/Apache2/bin/apachectl restart
と打ち込むのと同義である。(たぶん)
設定
「Apache2」システム環境設定の「Configuration」を見るとわかる通り、
設定ファイル 「httpd.conf」 は 「/Library/Apache2/conf/http.conf」にある。
横の「Edit」ボタンを押せば、「Misc」タブで設定したテキストエディターが開くが、
管理者権限がないとセーブできないのであんまり意味がない。
設定を自分の好みに変更するには、httpd.confとssl.confを管理者権限で編集する必要がある
(一般ユーザーとしてコピーを取って、編集してから管理者権限で戻してもいい)。
編集にはviを使うのが手っ取り早い(参考:Viの使い方
)。
(追記:管理者権限を必要とするファイル編集も、ターミナルを使わない方法あり →管理者権限でのファイル編集)
特に変更しなくても問題なく動くが、変更した方がいい所はある。
1. DirectoryIndex
URLをhttp://www.hoge.com/のようにスラッシュで終えた場合、
http://www.hoge.com/index.html などに勝手に飛んだりすると思うが、
その設定が少ない。これは440行目にあるのだが
とこの二つしか補ってくれない。そこで必要に応じて
とかいうように好きなだけ足すといいだろう。
2. UserDir
OSXでは各ユーザーのホームディレクトリ下に「サイト」というフォルダがあり、
ここにHTMLファイルとかを置いておくと
http://localhost/~nopposan/
のように「~ユーザー名」を付けるとアクセスできる。
この設定がおかしい。413行目で
UserDir public_html
となっているのを
UserDir Sites
と直す。直さないと「サイト」ディレクトリに置いても見れない。
3. 文字コード関係
810行目ぐらいの
となっているのを、以下のようにして日本語の優先順位を上げる
あとはデフォルトの文字コードを変えるため、828行目ぐらいの
AddDefaultCharset ISO-8859-1
を好きな文字コードに変える。以下はEUC-JPにした例。
AddDefaultCharset EUC-JP
編集が終わったら、設定変更を活かすためにapacheの再起動をする。
システム環境設定の「Apache2」に戻り、「Check Syntax」ボタンを押すと
httpd.confとssl.confファイルに構文エラーがないか調べてくれる。
OKと出たら、「Status」から「Graceful」を選んで再起動する。
エラーが出たら、typoがないか調べて再トライ。
あとの細かい設定が知りたければ、マニュアルでも見るとよろしいでしょう。
このServer Logistics - Complete Apache 2と連動して動かすことを前提とするPHPサーバで、
Server Logistics - Complete PHPというのがある。
次回はこちらの予定。