Вот не могу я понять - это я такой неуч, у которого Mac OS X Server работает неправильно, или же всё-таки что-то не в порядке в консерватории?
Настроил я Profile Manager, настройки нормально передавались, но вот push не проходил
В логах заметил сообщения вида:
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
Копание в “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. Коммит показателен:
Восстановил /etc/apache2 из рабочего коммита, завелось. Но надолго ли?
Да, поиск проблем в OS X Server весел. Хуже того, нельзя надеяться на то, что сервисы подымутся после банальной перезагрузки. А если бы у меня был работающий сервер и пару сотен устройств?
Возможно у меня кривые руки, но за два года работы с OS X Server я навскидку могу назвать больше пяти случаев, когда система переставала работать. То OpenDirectory, то VPN, то Apache, то почта, то вот Profile Manager. Странно, ведь система должна просто работать…