LeopardでMacPorts(2)Apache2

前回に続いて、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: ,


One thought on “LeopardでMacPorts(2)Apache2

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>