The Apple Geek

Чему ты научился сегодня?

Переустановка Profile Manager в OS X Lion Server

| Comments

Вот не могу я понять - это я такой неуч, у которого 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

Копание в “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. Странно, ведь система должна просто работать…

Comments

Этот домен продается здесь: telderi.ru, и еще много других