Вот не могу я понять - это я такой неуч, у которого Mac OS X Server работает неправильно, или же всё-таки что-то не в порядке в консерватории?

Настроил я Profile Manager, настройки нормально передавались, но вот push не проходил

01_pm

В логах заметил сообщения вида:

xscertd-helper(851) deny file-read-metadata /private/var/folders

Навесил костыль в /usr/share/sandbox/com.apple.xscertd-helper.sb:

(allow file-read-metadata
		(regex #"^/private/var/rpc/ncacn_np/*")

Помогло, но вышла другая ошибка:

13.10.11 19:32:45,000 sandboxd: ([3236]) xscertd(3236) deny job-creation

Костыль в /usr/share/sandbox/com.apple.xscertd.sb:

(allow job-creation
    (regex #"^/*"))

Снова не получилось отправить push. В логе ошибка:

$ tail -f /Library/Server/ProfileManager/Logs/profilemanager.log
ruby[3627] : Pruning certificate chain to 18446744073709551615
ruby[3627] : Trying to add a bogus certificate
ruby[3627] : An error occured while inserting an untrusted certificate into the chain
</pre>

Копание в "sudo dtruss -n ruby -f" не дало идей.

От отсутствия мыслей купил сертификат TurboSSL у GoDaddy за $12 в год (сейчас не нашёл это предложение). Это несмотря на то, что сертификаты под push генерируются в Apple. Подключил сертификат повсюду, снова не помогло.

Плюнул и решил полностью переустановить Profile Manager:

$ cd /usr/share/devicemgr/backend
$ sudo serveradmin stop devicemgr
$ sudo serveradmin start postgres
$ export PATH="/usr/bin:/bin:/usr/sbin:/sbin"
$ sudo rake db:drop RAILS_ENV="production"
$ sudo rake db:create RAILS_ENV="production"
$ sudo rake db:migrate RAILS_ENV="production";
$ sudo serveradmin start devicemgr

Настроил устройства по-новому - всё заработало, push стал проходить.

Но это ещё не всё - после очередного рестарта сервера Apache перестал выдавать Wiki, Profile Manager и другие сервисы. Хорошо, что кроме Time Machine я все изменения в /etc сохраняю в репозитории git. Коммит показателен:

02_pm

Восстановил /etc/apache2 из рабочего коммита, завелось. Но надолго ли?

Да, поиск проблем в OS X Server весел. Хуже того, нельзя надеяться на то, что сервисы подымутся после банальной перезагрузки. А если бы у меня был работающий сервер и пару сотен устройств?

Возможно у меня кривые руки, но за два года работы с OS X Server я навскидку могу назвать больше пяти случаев, когда система переставала работать. То OpenDirectory, то VPN, то Apache, то почта, то вот Profile Manager. Странно, ведь система должна просто работать...