23 декабря 2010 г.

Локальный сервер обновлений для продуктов Adobe CS5

Недавно купили некоторое количество украинских версий продукции Adobe. Спросите почему украинские? Сложно удержаться от скидки в 70% на украинские версии Adobe!

Покупали  TLP лицензии. Нам понадобился InDesign и InCopy CS5, ну и заодно несколько пакетов Design Standard и Design Premium, т.к. есть мысли попробовать цифровую дистрибуцию какого-нибудь из наших проектов. Но об этом и позже и, возможно, подробнее.

Был приятно удивлен увидев, наконец-то, у Adobe средства, предназначенные для корпоративного использования. Сегодня напишу об одном из них - Adobe Update Server v 1.0 (AUSST)
Это, как можно догадаться из названия, утилита, которая позволяет развернуть у себя копию сервера обновлений Adobe. Вещь полезная, и давно ожидаемая. К сожалению, текущая версия имеет ряд недостатков, например, сам процесс обновления можно запускать только вручную, хотя это и утилита командной строки. Но, надеюсь, мы ее обманем :-)

Итак, вначале нужно скачать эту утилиту. Скачать ее можно с раздела Creative Suite Enterprise Deployment или из вашего аккаунта на Adobe Licensing Web Site (LWS). После скачиванию ее нужно распаковать и положить в какую-нибудь папку, например

c:\util

Затем следует создать папку для корня сайта обновлений, например

C:\Data\wwwroot\adobeupdate

Затем следует создать структуру папок сайта обновлений и скачать все текущие обновления. Для этого следует запустить утилиту с нужными ключами:

"C:\Util\Adobe Update Setup Server Tool\AdobeUpdateServerSetupToolCS5.exe" --root="\Data\wwwroot\adobeupdate\CS5"

в появившемся меню, нужно выбрать п. 1 – “Fresh directory structure set up and update sync”. Ну а затем ждать пока прилетят обновления. В настоящий момент они занимают порядка 4,5 Гб. Это и для Windows и для Macintosh.

Ну и наконец, нужно сгенерировать файл конфигурации, который затем нужно будет поместить на клиентские машины. Для сайта обновлений я завел url adobeupdate.domain.ua.

"C:\Util\Adobe Update Setup Server Tool\AdobeUpdateServerSetupToolCS5.exe" --root="\Data\wwwroot\adobeupdate\CS5" --genclientconf="c:\cmd" --url="http://adobeupdate.domain.ua/CS5"

Файлы конфигурации сгенерируются в папке c:\cmd

Полученные файлы нужно доставить на клиентские компьютеры в определенные папки:

In Windows XP
\Documents and Settings\All Users\ApplicationData\Adobe\AAMUpdater\1.0\AdobeUpdater.Overrides

In Windows 7/Vista
\ProgramData\Adobe\AAMUpdater\1.0\AdobeUpdater.Overrides

In Mac OS X
/Library/Application Support/Adobe/AAMUpdater/1.0/AdobeUpdater.Overrides

Или те же файлы можно использовать в качестве конфигурационных при сборке пакетов установки в программе Adobe CS5 Application Manager, Enterprise Edition. Об этой программе я расскажу позже.

Обновлять папку с обновлениями нужно с помощью команды

"C:\Util\Adobe Update Setup Server Tool\AdobeUpdateServerSetupToolCS5.exe" --root="\Data\wwwroot\adobeupdate\CS5"

Но только в меню нужно выбирать п.2 – “Incremental update sync from Adobe server

После этого, нужно поднять веб сервер с этими обновлениями. Использовать можно что угодно, я использовал IIS 7.5, т.к. он есть на этом сервере. Но это мог быть и Apache и что-то другое. И вообще файлы можно было расположить на FreeBSD, например, но утилита-то под Windows :-) В качестве корня сайта нужно использовать папку

C:\Data\wwwroot\adobeupdate

Но все оказалось не так просто. Файлы лежат, скачать их можно, но только программа для обновлений от CS5 дает ошибку. Посмотрели в логи IIS и обнаружили там 406 ошибку.
406 - Client browser does not accept the MIME type of the requested page
Ну очень странная ошибка, особенно если учесть, что она происходит при обращении к файлу updaterfeed.xml, т.е. ничего особенного. Сайм файл, браузером, скачивается нормально.

Пришлось помучаться, я даже написал запрос в украинскую поддержку, но судя по тому, что они все еще отвечают на мой предыдущий запрос – ответа ждать еще долго :-) Они, похоже, занимаются только проблемами установки распространенных продуктов, ну и бог с ними, все таки они в принципе появились только в этом году.

К счастью, я нашел упоминание о такой же проблеме в комментариях к одному из адобовских блогов и там e-mail сотрудника, имеющего отношение к разработке этой утилиты. Я написал ей письмо и, о чудо, получил ответ в течение нескольких часов. Она написала как это решить на IIS6, но разобраться как это решить на IIS 7.5 не составило труда.

Итак, решение проблемы IIS 7.5 Error 406 - Client browser does not accept the MIME type of the requested page

Для начала нужно установить нужные компоненты для IIS. Подойдет установка по умолчанию, но к ней нужно добавить поддержку ASP, которая, в свою очередь, включить поддержку ISAPI Extensions.

Затем следует внести необходимые настройки, а именно:

1. Захожу в Compression и убираю птичку в “Enable Static compression”
2. Захожу в Handler Mappings и
a) выбираю “Add Script Map …”

Edit Script Map Request Restrictions Request Restrictions


b) в поле Request path: ввожу *.xml
c) в поле Executable: ввожу C:\Windows\System32\inetsrv\asp.dll
d) в поле Name ввожу xml
e) нажимаю кнопку Request Restrictions
f) на закладке Verbs переключаю в положение One of the following verbs: и ввожу в поле значение GET
g) на закладке Access переключаю в положение Script

И вот теперь, наконец-то, все работает!!!

На всякий случай, даю инструкцию для IIS 6

  • Allow “Active Server Pages” from Web service extensions
  • Within the virtual site or IIS website you must configure the application pool for the site to use the ASP DLL to open XML
  • Right click on the Website and select properties
  • Select Home Directory Tab
  • Under Application settings press configuration
  • Under Application extensions press ADD
  • Locate the asp.dll, enter XML as the extension and limit it to GET, Press OK

Application Extension Mapping

  • Press OK and OK to get back to the site properties
  • Apply these settings
  • Upon a refresh of the Adobe Application Manager you should see the errors change from 406 to a 403 (forbidden)
  • Important:  In case you have setup a virtual directory for updates, you’ll needed to configure this directory to have execute permissions
  • Right click the virtual directory(virtual site) and select properties
  • Select Home Directory Tab
  • Under Application settings adjust execute permissions to “scripts only”
  • Press OK

Комментариев нет:

Отправить комментарий