もしくは Mac App Store 配布は諸刃の剣(何
Xcode 4.3 がリリースされた当時、所謂 Command Line Tools が動かなくなって大騒ぎしてました。結局のところ
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
とかやることで動くようになりましたが。
これが何を意味するかというと、今までは /usr 以下にコピーされていた Command Line Tools が Xcode.app に内包されたままとなり、それを(Xcode.app/Contents/Developer/usr 以下に置いたまま)直接呼ぶ形になったということです。 Mac App Store からの配布やアップデートを考えるとこのほうがいいんでしょう。違和感が半端ないですが。
つまり何が言いたいかというと、 OS X Server の Server.app も同じように今まで /usr 以下にコピーされていたコマンドその他が Server.app に内包されたまま、どこにもコピーされずに動作するようになったということを主張したいのです。今まで何の気なしに使っていた serveradmin すらもひと手間かけないと使えないという…。
掻い摘んで要約すると /Applications/Server.app/Contents/ServerRoot 以下にお前の欲しいものは揃ってるぜ、という話ですが、自分で整理するためにもうちょっと書きます。
設定ファイル、データ
流石に /Library/Server 以下に保存されます。データは Server.app で設定したところにも移せるのであくまでデフォルトではって話ですが。 /Library/Server/{サービス名}/(Config|Data) という具合に見通しはいいので、大体わかると思いますが、一部 /private/etc に残されているものがある上に /private/etc には OS X Mountain Lion 由来のファイルもあるってことは注意が必要です。
例えば postfix は /private/etc/postfix と /Library/Server/Mail/Config/postfix の二か所ありますが、有効なのは後者です。さらに main.cf を読めばわかりますが、 aliases は /private/etc/aliases がホンモノです。もうちょっとうまくまとめて欲しいと思いますが、それはきっと次のメジャーバージョンアップ待ちなのでしょう、出るかどうかわかりませんが。
コマンド群
/usr/bin や /usr/sbin から /Applications/Server.app/Contents/ServerRoot/usr/bin や /Applications/Server.app/Contents/ServerRoot/usr/sbin にお引越しです。わかってしまえばそれだけなんですが、 PATH を通す勇気はないので serveradmin なんかは /Applications/Server.app/Contents/ServerRoot/usr/sbin/serveradmin とフルパス指定で使ってます。 SERVERROOT= /Applications/Server.app/Contents/ServerRoot とか書いたうえで ${SERVERROOT}/usr/sbin/serveradmin とやるほうがオシャレなのかもですが。
man
コマンド群が移ってるんだから man だって移ってます。
man -M /Applications/Server.app/Contents/ServerRoot/usr/share/man
とするか /etc/man.conf に書き足すかの二択かなー? でも中身はあまり変わってないっぽいので読みたいときに都度指定の前者のほうがいいかもしれない
LaunchDaemons
これもやっぱり /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons にいます。ただ、 Mountain Lion に最初っから準備されてるやつ(postfix とか apache とか)は /System/Library/LaunchDaemons のままなので、数は少ないですね。というか OS X Server にしないと入らないものはこれしかない、ということか…?
/Applications/Server.app/Contents/ServerRoot/System/Library/ServerSetup
Server.app 初回立ち上げ時にしか動かず、しかも何をやってるか不明なインストール処理?ですが、今回はここです。 Lion Server の時は/System/Library/ServerSetup だったので今回のルールに従ってるだけですけど。今回も体感で 8 割以上がスクリプトで構成されているので、いざとなったら中身を読んで同じようなコマンドを実行したり、スクリプト自体を実行してやればうまく動いてないサービスを復活させることが出来るのかもしれません。更に酷い状況になるかもですのでお勧めはしませんがー
/Library/Server/Previous
バージョンアップした場合は、ここにバージョンアップ前のデータが残っているらしいです。本当に必要なものが残っているかは別ですが…。ここに一縷の望みをかけるのはやっぱり間違いなので、ちゃんとバックアップは取りましょう(笑