пятница, 7 ноября 2014 г.

Настройка внешнего каталога обновлений 1С

Появилась задача настроить обновление 1С через http.
Почему так?
Множество однотипных виртуальных серверов, на каждый выкладывать обновы (которые, кстати, выходят довольно часто) - та еще рутина.
За совершенство метода не ручаюсь, сам уже вижу недостатки. Но в данной инфраструктуре они не столь важны.
Ладно, поехали:
Все сервера на 2008 R2.
Роль веб-сервера уже была установлена и настроена, тут я не помогу, к сожалению.
- Создаем новый веб-сайт:
Маркером выделен путь каталога шаблонов.
- Разрешаем доступ для этого сайта только с определенных IP в разделе Ограничение IP-адресов и доменов (IPv4 Address and Domain Restrictions). Кстати, данная компонента веб-сервера должна быть заранее установлена.
Запрещаем доступ для всех, кроме разрешенных:

Разрешаем диапазон ip-адресов:
- Проверка подлинности - анонимная.

- Запускаем на другом сервере конфигуратор. Конфигурация - Поддержка - Обновить Конфигурацию. Добавляем URL нашего сайта:

- Пытаемся обновиться и ... получаем вот такую ошибку:



Файл не обнаружен 'http://update.mydomain.com/v8cscdsc.lst'
О том, что это за файл v8cscdsc.lst где его взять и какова его структура "Руководство администратора 1С" скромно умалчивает... Хотя, может быть, это я плохо искал. Но в бумажной версии Ctrl+F не работает
Ладно, гугл никто не заблокировал (пока).

- Находим, что файл можно получить следующим образом:
На сервере с шаблонами запускаем базу 1С в Конфигураторе: Конфигурация - Поддержка - Шаблоны конфигураций и обновлений - Создать файл списка шаблонов.
Ура! В каталоге появляется v8cscdsc.lst

- Пробуем опять обновить конфигурацию и снова та же ошибка - "файл не обнаружен". Но теперь-то мы точно знаем, что файл есть и можем убедиться в этом даже зайдя на сайт: http://update.mydomain.com/ . Но при попытке открыть файл через браузер - ошибка 404. Хмм, похоже веб-сервер ничего не знает про .lst...

- ОК. Добавляем в типы MIME (MIME Types) данное расширение:


Ну, и опережая следующую ошибку добавляем файл конфигурации .cfu:

- Проверка проходит, обновления доступны:


Теперь надо бы как-то во все базы добавить этот каталог. А если их больше 100?!?!

- Добавим путь к обновлениям в общий конфиг C:\ProgramData\1C\1CEStart\1CEStart.cfg
Добавляем параметр ConfigurationTemplatesLocation=http://update.mydomain.com
И 1С-ка по-умолчанию ищет в этом каталоге. Бинго!
Осталось только придумать как заменить этот файл на всех серверах. Но даже ручками сделать 1 раз будет проще, чем каждую неделю скачивать обновления.

В чем минусы:
1) после загрузки новых обновлений надо заново генерировать файл v8cscdsc.lst
2) У всех пользователей доступ ко всем обновлениям в папке (т.е. могут быть доступны те конфигурации, прав на использование которых у данных пользователей нет). Но для меня это роли не играет (пока).

В целом - работа выполнена.

Готов выслушать мнения.



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

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