Журнал о системах электронного документооборота (СЭД)
Платформы построения ECM

Шаблоны MS Office в корпоративной сети (часть 2). Использование WebDAV

  4 комментариев Добавить в закладки

В прошлый раз мы разбирали один из возможных способов размещенияimage шаблонов MS Office – в сети, на разделяемом ресурсе. Это во многих отношениях отличный способ – простой, надежный, не требующий специальных знаний и дополнительного ПО. Однако, требования корпоративных стандартов бывают очень различными и не редко использования протокола CIFS/SMB в корпоративной сети может быть очень ограниченным (я например, сталкивался с блокировкой SMB между филиалами).

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

Поэтому сегодня мы рассмотрим другой вариант – распространение шаблонов офиса поверх HTTP/HTTPS, которые, как правило, внутренними политиками не блокируются.

Как можно использовать HTTP для распространения шаблонов?

Мне известны как минимум два способа:

1. Использование протокола WebDAV, реализующего file-styled операции поверх HTTP

2. Создание каталога шаблонов, так, как описано в статье Deploy custom templates in Office 2010

Сегодня мы разберем первый вариант (сам протокол WebDAV мы несколько обойдем стороной, но, надеюсь, сможем вернуться к нему в дальнейшем).

Итак, для того чтобы развернуть решение на базе WebDAV, нам потребуется:

  • Сервер с поддержкой WebDAV. Из стандартного и/или доступного бесплатно ПО с нужным функционалом можно назвать:
    • SharePoint Foundation – для нашей задачи это слишком громоздкий вариант (да и в принципе, если переходить на использование SharePoint, лучше использовать его механизм работы с шаблонами)
    • Расширение WebDav Publishing для IIS (Internet Information Service).
  • Клиентская поддержка. Здесь мы обойдемся встроенным в Windows WebDAV-клиентом.

Итак приступим.

Развертывание IIS c поддержкой WebDAV

Сразу оговорюсь, что рассматривать далее мы будем IIS версии 7.x и старше, а значит ОС от Windows 2008 и старше (конкретно у меня скриншоты будут для Windows 2012 и IIS 8, но разница с младшими версиями не принципиальна).

  • Запускаем от имени администратора (важно!) Server Manager и выбираем пункт Add Roles and Features (Add Roles).

Вот так он выглядит в Server 2012

image

А вот так в 2008 R2:

image

  • В списке ролей выбираем Web Server (IIS):

image

  • На шаге выбора сервисов для Web Server Role выбираем 2 пункта: WebDAV Publishing и Windows Authentication

image

image

  • Запускаем установку и при необходимости перезагружаемся. В результате, в списке установленных ролей у нас появится IIS:

image

Настройка узла WebDAV с шаблонами

Прежде чем мы пройдём по шагам весь процесс хотелось бы обговорить один важный момент – какой адрес выбрать для размещения сайта с шаблонами?

По умолчанию, IIS предлагает использовать созданный по умолчанию сайт (Default Web Site), который доступен (если вы ничего не меняли в настройках) по адресу http://<имя_сервера>:80 или просто http://<имя_сервера>. Для нас это самый простой и подходящий вариант!

Однако (чисто теоретически – в реальности я не сталкивался с такими проблемами), модуль поддержки WebDAV может начать конфликтовать с другими приложениями, развернутыми на том же сайте. Тогда для распространения шаблонов придется создать отдельный сайт, который, чтобы не конфликтовать с Default Web Site должен иметь хотя бы один отличающийся параметр:

  • Host Name. При использовании собственного имени сайта с шаблонами, вам придется добавить его в список узлов вашего DNS-сервера
  • Port. В этом случае мы рискуем столкнуться с ситуацией, что выбранный нами порт также будет заблокирован политиками компании.

В общем, у каждого варианта свои особенности. Мы же далее рассмотрим самый первый – размещение на Default Web Site:

  • Запускаем Internet Information Services (IIS) Manager.
  • Выбираем узел Default Web Site и в контекстном меню пункт Add Virtual Directory…

image

  • Указываем имя виртуальной папки и её физическое расположение (если папки ещё нет, ее можно будет создать прямо из диалога):

image

  • Возвращаемся к узлу Default Web Site, выбираем настройку WebDAV Authoring Rules и в ней, на панели Actions, пункт Enable WebDAV

image

image

  • Затем переходим на узел Templates, выбираем настройку Authentication и в ней запрещаем анонимную аутентификацию и разрешаем Windows аутентификацию

image

image

  • Вновь выбираем узел Templates, затем – настройку WebDAV Authoring Rules и в ней, на панели Actions, пункт Add Authoring Rule

image

В открывшемся диалоге заполняем параметры правила:

  • любой контент (All content)
  • для всех пользователей (All users)
  • доступен на чтение (права Read и Source)

image

  • И наконец, последний, но очень важный шаг – выдача прав на физическую папку, где будут лежать шаблоны. На самом деле, в данном конкретном примере этот шаг – лишний, т.к. права на чтение и так есть у доменной группы Users, но мы все равно дадим права группе Everyone

image

Осталось выложить в папку MS Office Templates заготовленные нами шаблоны и серверная часть окажется настроенной.

Настройка WebDAV на клиенте

Как уже было сказано ранее, для доступа к развернутому ранее WebDAV ресурсу мы будем использовать встроенные возможности Windows. Всю работу выполняют служба WebClient (или Веб-клиент в русской версии) и драйвер MRXDAV.SYS. Это сочетание позволяет получить очень интересный результат:

все обращения к сетевому ресурсу

\\<имя_компьютера>@<порт>\<путь>\DavWWWRoot

будут заменяться на WebDAV-запросы к узлу

http://<имя_компьютера>:<порт>/<путь>

Наши шаблоны лежат на сервере с именем VM1, порт сайта 80, виртуальная папка называется Templates, а значит строка обращения будет такой

\\VM1\Templates\DavWWWRoot

Этот путь мы укажем в настройках Office, так как делали это в предыдущей статье используя либо прямую правку реестра, либо настройки GPO (увы, по непонятной причине, указать такой путь через UI Office у меня не вышло):

image

Обновляем политику (или просто перелогиниваемся) и получаем наш законный результат:

image

Ура!!!

Неужели все получилось? В принципе, да, хотя имеется ряд потенциальных (и не только потенциальных) проблем… Но о них (и конечно, способах их решения) мы поговорим в следующей части – эта и так получилась очень большой.

Ещё материалы автора
Похожие записи
Комментарии (4)
Андрей Подкин 29 августа 2013 г. 12:02  

Для оценки решения необязательно поднимать свой сервер WebDAV. Можно воспользоваться Яндекс.Диск. 

К сожалению, Яндекс.Диск пока не работает для ПДД, поэтому как production-решение это пока не подойдет (даже, если у организации ПДД).

Михаил Романов 29 августа 2013 г. 12:23  
Для оценки решения необязательно поднимать свой сервер WebDAV. Можно воспользоваться Яндекс.Диск

Совершенно, верно. Аналогично, можно использовать любой WebDAV совместимый облачный хостинг (есть у SkyDrive, на сколько знаю, есть у DropBox, и нескольких других).

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

  • переключиться на Basic-аутентификацию, но это не очень безопасно. Тут надо обязательно озаботиться работой по SSL (в принципе, начиная, кажется, с Vista встроенный клиент это умеет).
  • использовать дополнительные решения а-ля Windows Live ID Sign-In Assistant. В статье Гайдара Магданурова Подключаем SkyDrive как виртуальный диск в Windows 7(http://blogs.msdn.com/b/gaidar/archive/2010/05/27/10016305.aspx) это какраз описано.

Ну и пробовать, пробовать, пробовать...

Сейчас обсуждают
Евгений Кочуров 20 марта 2017 г. 07:49  
Юрий Зерин 18 марта 2017 г. 19:18  
Сергей Бушмелев 15 марта 2017 г. 22:47  
Елена Истомина 15 марта 2017 г. 13:08  
Сергей Бушмелев 15 марта 2017 г. 10:46  
Больше комментариев