カテゴリー
Mac

El Capitan / Server.app の wiki server

紆余曲折の末、長男さんが iPad mini を使い出したので、じゃあちゃんと管理しようかと久しぶりに Profile Manager を動かそうとしたら動かない。仕方ないので調べてみたら

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 を消して、綺麗な状態で入れ直して、必要なデータをリカバリしたほうが速い気もするなぁ…悩ましい。

コメントを残す