4月 29
2010

私の友人が、私が以前にハマってしまった事で悩んでいたので、結構あるんだなと思いメモしておきます。

MacOS Xは外付けHDD(USBやFireWire)を繋げると自動的にマウントしてくれます。
ま、これは普通と言えば普通なんだけど。。。

でも、MacOS Xの場合、このときのmountでnoownersのオプションがデフォルトで付いてしまいます。
これは、これで外付けは信用しないというポリシーはわかるのですが、外付けディスクをデーモンなどに安全に触らせるとなると、やっかいです。

そこで、登場するのが vsdbutil です。

外付けディスクがマウントされたところで、

sudo /usr/sbin/vsdbutil -a /Volumes/hoge

これで、noownersのオプションが外れてマウントされているはずです。
mountコマンド叩くとわかります。

4月 25
2010

なにげに、SCPluginのホームページを覗いてみたら。。。
Snow Leopard に対応しただって? (^_^)

なになに、、、

But still, no contextual menu or badging.

コンテキストメニューで動かない?!

おまけに、アイコンでの表記を出来ないのか。。。orz

でも、対応しているので、インストールして見ました。(^_^)

http://scplugin.tigris.org/からダウンロードしてきていつものインストーラでインストールします。
でも、コンテキストメニューに対応してないので、マウス右クリックしてもメニューは相変わらずインストール前と同じ。。。そこで、Snow Leopardは、ちょっとゴニョゴニョして、使えるようにします。

まず、
SCPluginUIDaemonをバックグランドで起動しておきたいので、ログイン項目に登録しておきます。
手順は、/Library/Contextual Menu Items/SCFinderPlugin.plugin/Contents/Resources/S​CPluginUIDaemon をシステム環境設定のアカウントにある、ログイン項目にこのファイルを追加するだけです。
でも、SCFinderPlugin.pluginはフォルダで見るとPluginファイルになっているので、その下のファイル等を指定することが出来ません。そこで、、、、ファインダーであらかじめ​SCPluginUIDaemonを表示して起きましょう。SCFinderPlugin.plugin以下のファイルは「パッケージの内容を表示」でその下のフォルダの内容が見えます。
ログイン項目を”+”で追加するときにファイルを指定しますが、その時にファインダーで表示しておいた SCPluginUIDaemon ファイルをドラッグ・アンド・ドロップでファイルチョーザーに落としてやります。

これで、SCPluginUIDaemonの自動起動の設定は完了。

最後に、アプリケーションのフォルダにインストールされた SCToolbarButtonをファインダのツールバーに、これまたドラッグ・アンド・ドロップして、登録します。
あの”S”マークのアイコンがファインダーのすべてのウィンドウのツールバーに表示されましたよね。(^_^)

そのアイコンをクリックした見てください。(^_^)

つまり、、、コンテキストメニューの代わりに、ツールバーにメニューを置きました。という、手に出たようです。;p

これが正式な対応なのかな。。。。(^_^;

SCPlugin.tiff

4月 08
2010

Mac OS X Snow Leopard (もちろんMac OS X Serverじゃないよ) に MacOSforgeで公開されている Darwin Calendar Serverをインストールしたので、ここにメモをしておこうと思います。

いやー、なかなか情報が転がって無くて、./run コマンドと格闘しましたが、ビール片手に一通り機能を確認できましたので、この手順で大丈夫でしょう。

このメモは./runコマンドでテスト的にサーバを動作して検証するものではなく、/usr/local/bin/ や、/Systtem/Library/Frameworks/Python.framework/配下や/Library/Python配下へのインストールをしますので慎重に自己責任でお願いします。

1.まずは、モノを取ってきます。

最新のリリースは2.4のようです。もうすぐ3.0が出そうですね。
ということで、好きな自分のディレクトリで、

svn co http://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/CalendarServer-2.4

として、チェックアウトします。

2. runコマンドで必要なモノのPythonモジュールを取ってきて確認です。

CalendarServer-2.4のディレクトリに移動してrunコマンドを探してください。

$ ./run -s

これで、必要な構成やファイルを自動的に取得して、コンパイル等も行われます。
この辺は、情報はいろんなサイトが紹介しているので大丈夫だと思います。

$ ./run

これで、テスト的に動作させてちゃんと動くかテストできます。
このあたりも他のサイトが参考になるともいます。

3. さて、いよいよ実環境へのインストールです。

まず、いったん/tmp/dstディレクトリに実行ファイルや定義ファイルなど環境に合わせた形に吐き出します。
以下のコマンドはsuでrootになるか、sudoコマンドで実行してください。

# ./run -i /tmp/dst

/tmp/dstを見てもらうと、なるほど、こんなファイルが環境にインストールされるんだとわかると思います。
つまり、/tmp/dstディレクトリの内容を/ に配置すれば良いわけです。

いよいよ、/に配置しましょう。

# cd /tmp/dst
# pax -pe -rw . /

これで、Calendar Serverのデーモンが /usr/loca/bin/caldavd を使って起動できます。
しかし、環境によってはシンボリックリンクを張らなければならないかもしれません。
  エラーファイルを見ればすぐにわかると思いますが、私の環境では

can’t open file ‘/usr/share/caldavd/bin/twistd’: [Errno 2] No such file or directory

なんて、表示され。。。おいおい。。。

# ln -s /usr/local/bin /usr/share/caldavd/bin

と、してやりました。(もしかして、./run -I で上手くいくのかも。。。)

4. Launchdによる自動起動の設定

svnでチェックアウトしてきた中のCalendarServer-2.4/contrib/launchd/calendarserver.plistファイルを適当に編集します。もちろん、/Library/LaunchDaemons/ へコピーしておきます。

ここで、ProgramArgumentsの引数(array)にcaldavdのディレクトリを変更するのと、caldavdの設定ファイルを指定するように記載してください。この、設定ファイルcaldavd.plist自身に中身は各自の環境に合わせてください。

<key>ProgramArguments</key>
    <array>
    <string>/usr/local/bin/caldavd</string>
    <string>-X</string>
    <string>-R</string>
    <string>caldav_kqueue</string>
    <string>-f</string>
    <string>/System/Library/Frameworks/Python.framework/Versions/2.6/caldavd/caldavd.plist</string>
    </array>

後は、LanuchDaemonに自動起動をお願いします。

# launchctl load -w /Library/LaunchDaemons/calendarserver.plist

最後に、私がはまった事を。。。といっても常識なのかもしれませんが。。。

uidが4文字以下だとアカウントを認識してくれないんです。orz
__uids__のファイルシステムを使う仕様なのかもしれませんが。。。uidの先頭2文字で第階層のディレクトリ名、2,3文字目で第2階層のディレクトリ名をつかってディレクトリの木構造を使うなんて。。。やはり、Kerberos使うべきだった。。。(^_^;

4月 03
2010

寒い日が続いて、桜がすっかり遅れております。

それでも、近所の公園にもやっと桜の時期が来ました。

1年のうちでも、本当に好きな季節です。(^_^)
四の五の言わずに、シャッターをバンバン切ってきました。

やっぱり桜、されど桜、毎年の恒例、桜。

IMGP4149.JPG