紆余曲折の末、長男さんが iPad mini を使い出したので、じゃあちゃんと管理しようかと久しぶりに Profile Manager を動かそうとしたら動かない。仕方ないので調べてみたら
Profile Manager が動かない、と悩んでいたんだけど、依存してる com.apple.webapp.auth が依存する com.apple.webapp.collabd が動いていないことが原因っぽい? やっぱり鬼門だなあ
— Kiyono, Goro (@goro1080) October 17, 2015
Profile Manager のためにはちゃんと Wiki Server が動いてる必要があるみたい。
しかし Wiki Server の owner が _teamsserver だったり、プロセス名が collabd だったりするのは分かりづらいので統一してくれないものですかね…
今までの例からしてきっと PostgreSQL がうまく動いてないんだろうと決めつけて /Library/Server/Wiki/Logs を眺めてみると postgres-xpg.log に
waiting for server to start.....................................................Traceback (most recent call last):File "/Applications/Server.app/Contents/ServerRoot/usr/bin/xpg_ctl", line 2530, in os._exit(exitCode[0]) TypeError: an integer is required
とか
2015-11-03 08:33:01 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:02 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:03 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:04 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:05 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:06 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:07 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:08 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:09 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:10 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:11 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:12 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:13 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:14 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:15 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:16 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:17 XPG.81087: Error locking for pid 80937 2015-11-03 08:33:18 XPG.81087: Error locking for pid 80937
なんてログが延々と出続けてるので、これはもうダメだ、と(笑)。
/Applications/Server.app/Contents/ServerRoot/usr/libexec あたりをみたら 98-wikimigrator.rb ってのが Wiki Server のセットアップ時に裏で動いてるっぽいスクリプトだったので漢らしく
goro@flora:/Library/Server$ sudo mv Wiki Wiki.old goro@flora:/Library/Server$ sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/98-wikimigrator.rb
などとして Wiki Server を初期化するという荒技に出ました。ちゃんと Wiki Server を使っていたら恐ろしくてできませんが(笑)。
これで PostgreSQL はちゃんと動くようになったので、今度こそ! と思って Server.app から Wiki を有効化してアクセスするものの 503 エラーが返される謎。
/var/log/apache2/services/wiki_error_log には
[Tue Nov 03 16:56:38.481499 2015] [proxy:error] [pid 22255] (61)Connection refused: AH02454: HTTP: attempt to connect to Unix domain socket /var/run/collabd (localhost) failed
なんてエラーが吐かれてるので、 /var/run/collabd 経由でやりとりする先のプロセスが悪いのかなー、と悩みに悩んだ末に仮装環境上にクリーンインストールした El Capitan / Server.app と比較したところ
クリーンインストールした El Capitan
bash-3.2# launchctl list|grep collab
598 0 com.apple.service.collabd
- 65 com.apple.collabd.preview
596 0 com.apple.collabd.notifications
6361 0 com.apple.servermgrd.collabd
- 0 com.apple.collabd.expire
- 0 com.apple.collabd.quicklook
642 0 com.apple.collabd
トラブってる El Capitan
goro@flora:~$ sudo launchctl list|grep collab 85144 0 com.apple.service.collabd - 65 com.apple.collabd.preview - 1 com.apple.collabd.notifications 80392 0 com.apple.servermgrd.collabd - 0 com.apple.collabd.expire - 0 com.apple.collabd.quicklook
なんと com.apple.collabd が動いていないという…。そりゃ動くワケないな。
なんでこんな状況に陥ったのかはよくわからんのですが
goro@flora:~$ sudo launchctl load -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.collabd.plist
とすることでようやく Wiki Server が動くようになったのでした。これでめでたく com.apple.webapp.auth も動いたっぽいので、ようやく Profile Manager の修復を手がけることができる…と思ったら Server.app なり serveradmin なりで Wiki Server を有効化すると collabd が
Nov 3 21:10:01 collabd[43644] <Info>: [main.m:109 76b7b000 +44225ms] Caught SIGTERM, good bye
とか吐いて落ちるという…。
よくわかんないんだけど、 Server.app なり serveradmin なりで Wiki Server を有効化してから com.apple.collabd.plist を load する必要があるみたい? こんな苦労をしてるぐらいだったら、一旦 OS X Server を消して、綺麗な状態で入れ直して、必要なデータをリカバリしたほうが速い気もするなぁ…悩ましい。