MacPorts For Snow Leopard

2010/05/19

Snow Leopardにアップグレードしたら、Apache の動作がおかしくなった。 というか普通に動いてるんだけど、WebRootが変わってる。。。 って事は、別のApacheが動作してんのか?

今までは、PostgreSQL本家のEnterpriseDB ApachePhpを利用してたのだが、

/Library/PostgreSQL/EnterpriseDB-ApachePhp/apache/

にインストールされてしまって管理がしにくい。

Snow Leopardにアップグレードすると、Apache2のデフォルトドキュメントルートのは以下の通り

/Library/WebServer/Documents

って事で、これを機にMacPortsで再構築しようかな?と。 で、MacPortsの設定は何回やっても忘れる(爆)ので、メモ。

■MacPortsインストール (1)MacPorts Projectからインストーラーをダウンロード。

(2)~/.profileを修正し反映

export PATH=/opt/local/apache2/bin:/opt/local/bin:/opt/local/sbin:$PATH export MANPATH=/opt/local/share/man:$MANPATH

source $HOME/.profile

(3)MacPortsをアップデート

sudo port selfupdate

■Apache2, PostgreSQL, PHPインストール

sudo port install php5 +postgresql +apache2 +pear

でインストールしたらエラーがかえってきた。。。

Error: You cannot install gettext for the architecture(s) x86_64 because Error: its dependency ncurses only contains the architecture(s) i386. Error: Error: Did you upgrade to a new version of Mac OS X? If so, please see Error: Error: http://trac.macports.org/wiki/Migration Error: Error: Target org.macports.configure returned: incompatible architectures in dependencies Error: Unable to upgrade port: 1 Error: Unable to execute port: upgrade gsed failed Before reporting a bug, first run the command again with the -d flag to get complete output.

何かハマりの予感??? -----2010/10/16追記 どうやら、Snow Leopardにバージョンアップした場合は、migrateしないといけない模様 Migrating a MacPorts install to a new major OS version or CPU architecture

インストール済みのパッケージを調べたら、既にインストールされている。

sudo port installed

........ php5 @5.2.10_0+apache2+imap+macosx+mysql5+pear+postgresql83+sqlite php5 @5.2.10_0+apache2+macosx+mysql5+pear+postgresql83+readline+sqlite+tidy (active) pkgconfig @0.23_1 (active) postgresql83 @8.3.7_0 (active) postgresql83-server @8.3.7_0 (active) ........ これらを、アップグレード。

sudo port upgrade installed

■Apache2の設定ファイル /etc/apache2/

■DocumentRootの変更 ▽デフォルト パス:/Library/WebServer URL:http://localhost/~ユーザ名/

上記がデフォルトのDocumentRootになるけど、URLをすっきりするために変更する。 apacheの設定ファイルで変更するのもいいけど、シンボリックリンクで対処する。

cd /Library/WebServer ln -s /Users/yoo/Sites Documents

▽結果 パス:/User/yoo/Sites/ URL:http://localhost/

■自動起動の確認 /Library/LaunchDaemons/

に自動起動の設定が入っているが、中身を見て多分大丈夫かと(^^;)

com.google.keystone.daemon.plist org.macports.apache2.plist -> /opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist org.macports.postgresql83-server.plist -> /opt/local/etc/LaunchDaemons/org.macports.postgresql83-server/org.macports.postgresql83-server.plist

一応設定が終わって、本当にMacPortsのパッケージで動いてるのかな?と思って、 再起動したらダメだったorz 前のMacPortsが残ってたのかな?記憶にないw

ここを読んでもう一度チャレンジする事にw