前回に続いて、Apacheのインストール。
LeopardではApache2、PHPも5になってるので(Apacheが1.3.33から2.2.6、PHPが 4.4.7から5.2.4らしい)、そっちを使うという手もあるんですが、最初から入ってるものはそのまま残しておきたいし、自分の環境は自由に手を入れたくなるだろうということで、MacPortsで行くことにしました。
●Apacheのインストール
すんなりとは行かなかったのですが、まずは正しい手順を書いておきます。
いつものインストール。
$ sudo port install apache2
バージョンを見てみます。
$ /opt/local/apache2/bin/httpd -v
Server version: Apache/2.2.6 (Unix)
Server built: Nov 11 2007 09:11:42
設定ファイルのコピーと文法チェック。
$ sudo cp /opt/local/apache2/conf/httpd.conf.sample /opt/local/apache2/conf/httpd.conf
$ /opt/local/apache2/bin/apachectl -t
手動での起動と停止。
$ sudo /opt/local/apache2/bin/apachectl start
$ sudo /opt/local/apache2/bin/apachectl stop
僕は、
alias apache2ctl='sudo /opt/local/apache2/bin/apachectl'
を[ .bashrc]に登録してます。
自動起動用のファイルも作られているので、自動起動させたい場合はloadします(unloadでオフに)。
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
●困ったエラー
僕がMacPortsとApacheで遭遇したエラーは3種類。
1つ目は、前回も書いたんですが、TigerをLeopardにアップグレードしたら発生したulimitのエラー(参照)。
2つ目は、LeopardにMacPortsを入れてapache2をインストールしようとしたら、依存関係のあるdb44(Berkeley DB)のパッケージがインストールできませんでした。
同じエラーが出ていてvariantsにdarwin_8とuniversalを指定すればいいというブログを見つけたんですが、それでは解決せず。今年の9月くらいのことらしいし、原因は違うのかも。
MacPortsのBTSを見てみたところ、#12040とか#12405にありました。事象自体は未解決なんですが、#12040のほうのコメント欄にあるhintにある/usr/localをリネームしてインストールするという方法で、db44をインストールできました。
$ sudo mv /usr/local /usr/localx
$ sudo port install db44 +darwin_8
$ sudo mv /usr/localx /usr/local
Tiger時代のapache2インストール時に自動的にインストールされたdb44には、variantsにdarwin_8が指定されていたので、今回もそれを踏襲してみました(今回もapache2経由でdb44を入れればよかったんですが、db44をインストールすることに集中しちゃってました)。
続いて、3つ目。ようやくapache2をインストールできたと思ったら、デフォルトの設定ファイルでは起動できず。mod_ssl.soがロードできないためのようです(参照)。
ローカルでの動作にはSSLは不要なので、コメントアウトして解決(?)です。
ほかにも、9月の始めくらいには、MacPortsがインストールしようとしているaprのバージョンが古く、ファイルが取得できないということもありました。そのときは、数日待っていたら修正されたのですが、エラー原因がわかっているのに対処できなかったんですよね。
もう少しMacPortsの裏側の仕組みを把握すれば、エラーにも対処できるようになるでしょうか。
次回は、PHP5のインストールです。
Technorati Tags: Mac, MacPorts