argius note

プログラミング関連

Mac miniを常駐マシンに (2) - MacPorts

前回の「Mac miniを常駐マシンに (1) - セットアップ」の続きです。

Xcodeのインストール

以前、「開発環境”Xcode”のインストール」でLeopardにてインストールしました。
今回も、OSのディスクを使ってインストールしました。Snow Leopardの付属ディスクは、OSとバンドルアプリケーションの2枚構成になっています。Leopardのときはdisk2でしたが、Snow LeopardはOSの方のディスクに含まれています。
特に問題なく終了。

MacPortsのインストール

MacPortsは、MacOSX用のパッケージシステムで、さまざまなアプリケーションをコマンド1回でインストールできる便利なものです。FreeBSDのportsのMacOSX版ですね。Linuxで言えば、いくつかの(?)ディストリビューションで利用されている、apt(apt-get)に似ています。
最初、FrontPage - MacPortsWiki-JPを参考にして、http://svn.macports.org/repository/macports/downloads/MacPorts-1.7.0/から、Snow Leopard版が無いのでLeopard版をダウンロードしてインストールしてみたら、"Pextlib.dylib"のエラーのようなもの*1が表示されました。
参考にした記事のとおりにhttp://distfiles.macports.org/MacPorts/から"MacPorts-1.8.2-10.6-SnowLeopard.dmg"をダウンロードし、たぶん上書きでインストール。無事完了。

MacPortsでインストール(wget,PostgreSQL)

最初に、wgetをインストールしてみることに。未インストールの依存ライブラリが大量にあるため、結構時間がかかりました。インストールは特に問題無く完了し、動作確認もOK。
次にPostgreSQLをインストール。いくつかDBを立てようと思っているので、まずは一番馴染みのある(と言っても最近は疎遠)PostgreSQLの、バージョンは8.3を選択。下のはコマンドラインの抜粋です。

$ port search postgresql
BiggerSQL @1.3.8 (aqua, databases)
    SQL front-end to the postgresql DBMS
                 :
                 :
postgresql83 @8.3.9 (databases)
    The most advanced open-source database available anywhere.

postgresql83-doc @8.3.9 (databases)
    Documentation for the postgresql database

postgresql83-server @8.3.9 (databases)
    run postgresql83 as server

postgresql84 @8.4.2 (databases)
    The most advanced open-source database available anywhere.
                 :
                 :
tsung @1.3.1 (erlang, devel)
    Load test tool for HTTP, PostgreSQL, Jabber and others.

Found 65 ports.
$ port deps postgresql83
Full Name: postgresql83 @8.3.9
Build Dependencies:   bison
Library Dependencies: readline, openssl, zlib, libxml2, libxslt, ossp-uuid
$ port deps postgresql83-server
Full Name: postgresql83-server @8.3.9
Runtime Dependencies: postgresql83
$ sudo port install postgresql83-server
Password:
--->  Computing dependencies for postgresql83-server
--->  Fetching m4
--->  Attempting to fetch m4-1.4.13.tar.bz2 from ftp://ftp.dti.ad.jp/pub/GNU/m4
--->  Verifying checksum(s) for m4
--->  Extracting m4
                 :
                 :
--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting postgresql83-server with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plist
###########################################################
--->  Installing postgresql83-server @8.3.9_0

To create a database instance, after install do
 sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb
 sudo chown postgres:postgres /opt/local/var/db/postgresql83/defaultdb
 sudo su postgres -c '/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/defaultdb'

To tweak your DBMS, consider increasing kern.sysv.shmmax by adding an increased kern.sysv.shmmax .. to /etc/sysctl.conf
--->  Activating postgresql83-server @8.3.9_0
--->  Cleaning postgresql83-server
$

以下、詳しい手順は割愛します。
MacPorts側のアクセス権の扱いが未だ分かっていないので少々混乱しましたが、それ以外は以前のかなり薄れてしまった記憶を掘り起こして、起動成功。
listen設定関連(postgres.conf,pg_hba.conf)を変更して再起動し、同じLANからJDBC接続にて疎通確認完了。

次回の...

バージョン管理、BTSなどのツール、DBサーバ、などを追加していく予定です。

*1:「[http://blog.livedoor.jp/susatadahiro/archives/52322903.html:title=チームリーダー日記 : Snow Leopard(10.6)移行後にMacPortsが動かなくなった→対応したMacPortsをインストールしたら直った。→(追記)それだとダメっぽくて入れ直した。]」参照。