Рубрики
Веб-мастеринг

Настройка WebDAV на IIS (Windows 7)

WebDAV (Web-based Distributed Authoring and Versioning) — защищённый сетевой протокол высокого уровня, работающий поверх HTTP для доступа к объектам и коллекциям.

Содержание:

По сравнению с FTP протокол WebDAV обладает рядом преимуществ:

  • Выполнение основных файловых операций над объектами на удаленном сервере;
  • Выполнение расширенных файловых операций (блокировки, поддержка версий);
  • Работа с любым типом объектов (не только файлы);
  • Поддержка метаданных (свойств) объектов;
  • Поддержка одновременной работы над объектами.
  • Нет необходимости открывать дополнительные порты (работает поверх http).

Перед тем как начать необходимо установить IIS и настроить хотя бы один веб-сайт, к содержимому которого и будем открывать доступ с помощью WebDAV.

Настройка IIS + WebDAV

В этом примере используется IIS 7.5, входящий в базовую поставку Windows 7.

Открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. В списке раскрываем «Службы IIS» -> Службы Интернета -> Общие функции HTTP -> отмечаем компоненту «Публикация WebDAV»:

Настройка WebDAV на IIS (1)
Настройка WebDAV на IIS (1)

Далее открываем «Диспетчер служб IIS» (Пуск -> Правый клик по Компьютер -> в меню выбрать Управление -> Службы и приложения). Выбираем сайт, в моем случае это Default Web Site (веб-сайт по умолчанию). Переходим в раздел «Проверка подлинности». Здесь необходимо удостовериться, что включена компонента «Проверка подлинности Windows»:

Настройка WebDAV на IIS (2)
Настройка WebDAV на IIS (2)

Раздел «Правила авторизации». Здесь добавляем разрешающее правило для всех пользователей (если оно отсутствует):

Настройка WebDAV на IIS (3)
Настройка WebDAV на IIS (3)

Открываем раздел «Правила разработки WebDAV».

Настройка WebDAV на IIS (4)
Настройка WebDAV на IIS (4)

Добавляем новое правило разработки. Разрешить доступ — ко всему содержимому. Далее указываем группу пользователей, которой разрешен доступ. В моем случае это группа Администраторы. Внизу в разделе «разрешения», отмечаем все три опции (чтение, источник, запись), чтобы гарантировать полный доступ:

Настройка WebDAV на IIS (5)
Настройка WebDAV на IIS (5)

Последний этап — включаем WebDAV (в правой колонке ссылка «Включить WebDAV»):

Настройка WebDAV на IIS (6)
Настройка WebDAV на IIS (6)

На всякий случай перезапускаем IIS. На этом все. теперь пробуем подключиться.

Еще раз напоминаю, для работы WebDAV не надо открывать ни каких дополнительных портов, кроме, разумеется, TCP 80. Т.е. если есть доступ к сайту, то и WebDAV будет работать.

Подключение

Самый быстрый и простой способ: в командной строке выполнить

net use * http://ip_адрес_сайта/

Далее введите имя пользователя и пароль. В результате ресурс будет подключен как сетевой диск.

Или через графический интерфейс. Откройте Пуск -> Компьютер -> Подключить сетевой диск. Введите адрес сервера (обязательно c http://) и нажмите Готово.

Подключение (1)
Подключение (1)

Введите имя пользователя и пароль:

Подключение (2)
Подключение (2)

После нажатия на Ок, откроется окно с содержимым удаленного сервера.

Ссылки по теме:

61 ответ к “Настройка WebDAV на IIS (Windows 7)”

Помогите с проблемой!

WebDav по локалке прекрасно работает, но через удаленку никак не проходит! Нет ни антивирусов ни файрволов, куда копать???

Проверить проброс порта TCP 80 на роутере.
Проверить не блокирует ли провайдер 80-й порт.
Тестировать внешнее подключение не из локальной, а из внешней
сети.

1 на роутере порт проброшен

2 При проверке сервисом (http://coder.v-tanke.ru/cport.php?port=80) пишет порт открыт, но только если он непроброшен на роутере. Как только вносишь запись в роутере на переадресацию на 80 порт, сервис информирует, что порт закрыт!!!

Ничего не понимаю???

Если по локалке все работает, то проблема в пробросе портов, роутере, а может быть и провайдере.

Попробуйте пробросить какой-нибудь нестандартный внешний порт.
Попробуйте просто подключиться к сайту по http из внешней сети. Если сайт будет нормально открываться, тогда уже подключайтесь по WebDAV.
Точно отключен фаервол?

Локалхост тоже давал 403 ошибку, но там была расшифровка проблемы. Прочитав, понял, что нужно в диспетчере IIS нужно включить возможность «просмотра каталога». Что мне и нужно было (альтернатива фтп).
Теперь по локалхост видит содержимое, сетевой диск подключается. А вот с чужого компа просит имя пользователя и пароль. Какие нужно вводить и где их определить?
П.С.: на винде две учетные записи: админская с паролем и одна пользовательская без пароля.

См раздел «Правила разработки WebDav» в настройках сайта.
Пользователь должен обязательно иметь пароль. С пустым не прокатит из-за политики безопасности.
Попробуй для начала добавить в разрешения группу администраторов.

Вот тут мне неочень понятно. Какие пользователи имеются в виду? Учетки созданные в винде? А если я хочу дать человеку ещё доступ, например только на чтение. Для этого надо создавать новую учетку в винде и сообщать ему логин-пароль?
Или для этой службы можно создать каких-то других пользователей (имеенно внутри службы)?

У учетки-админа на винде есть пароль. Так почему для доступа к ВебДАВ не канает админский логин-пароль? Потому что комп постоянно висит под юзером без пароля?

Заранее прощу прощения за занудство))

Какие пользователи имеются в виду? Учетки созданные в винде?

Да, учетки, созданные в винде.

если я хочу дать человеку ещё доступ, например только на чтение. Для этого надо создавать новую учетку в винде и сообщать ему логин-пароль?

Да, создаешь учетку. Создаешь группу пользователей например WebDAV-чтение. Присваиваешь эту группу пользователю, все другие группы можно удалить.
Затем открываешь настрйки безопасности корневой папки сайта (по умолчанию wwwroot). Добавляешь группу WebDAV-чтение и выставляешь права только на чтение.
Затем открываешь «Правила разработки WebDav» и тоже для этой группы выставляешь там разрешения.

Почему удобнее через группы — следующего пользователя просто добавляешь в группу и все сразу работает.

У учетки-админа на винде есть пароль. Так почему для доступа к ВебДАВ не канает админский логин-пароль?

Проверь не отключена ли учетная запись администратора. По умолчанию на семерке она отключена. Проверь пароль. Проверь «Правила разработки WebDav» для администратора или группы администраторов.

Сделал, всё как по инструкции. И по localhost и айпи с другого компа выдаюёт 403 ошибку «доступ запрещён». Где копать?

Супер. Спасибо большое. А вот только где пароль задается? у меня его даже нет )))

Пароль задается конкретному пользователю.
А уж потом для этого пользователя вы можете открыть доступ по WebDAV

Там уже есть доступ «для всех» со всеми разрешениями. Удалил, разрешил только User. Результат ожидаемый: не входит :(

Добавьте еще полный доступ для пользователя IUSR и группы IIS_IUSRS.
Уточню, именно на закладке Безопасность, не Общий доступ к файлам.
Если опять облом. Попробуйте добавить User в группу администраторов.

Пользователя IUSR не видит. Группу IIS_IUSRS добавил. Облом.
А User уже и так в администраторах.

>>>Max Bond: Может у вас обоих пользователи имеют пустой пароль? В этом случае доступ по сети запрещен.

В моей учетке нет пароля. Создавал нового юзера User с паролем User еще для доступа по FTP. Пробовал вводить эти данные — результат тот же.

Авторизации и правила разработки WebDAV «для всех» удалил. Добавил только для User. То же самое.
Пересоздал сайт, добавил разрешения снова — то же самое.

Ошибся. Не FTP, а обычный «общий доступ» (Свойства папки — Доступ). Да, заходит под User с моего Android.

Создал FTP сервер. Разрешил вход только User. Да, без проблем входит.
И вроде бы абсолютно одинаковые манипуляции, но не входит на WebDAV..

М-да… какая-то тупая засада…

А при входе имя пользователя указываете с доменом или без?
{Имя компьютера}\{Имя пользователя}

И с адресом, и без — одинаково.
1. Заметил, что окошко ввода пароля выглядит не так, как на последнем скрине здесь.

2. Если включить «Просмотр каталога» и дать разрешения на авторзацию и разработку WebDAV всем пользователям, то в браузере можно посмотреть список файлов в расшаренной папке. Ну и скачать тоже.. Без логина и пароля, естессно.. О_о

Если включить «Просмотр каталога» и дать разрешения на авторзацию и разработку WebDAV всем пользователям, то в браузере можно посмотреть список файлов в расшаренной папке.

Ну это доступ к файлам через веб-сервер.

Последнее что не проверили — это свойства папки, в которой располагается веб-сервер, закладка Безопасность. Какие разрешения для пользователя User? Дай ему полный доступ.

Там уже есть доступ «для всех» со всеми разрешениями. Удалил, разрешил только User. Результат ожидаемый: не входит :(

Вот только одна проблема НЕТ нигде «Диспетчер служб IIS».
Установлена Win7 Mаксимальная, SP1 — в чем проблема???

Еще.
Откройте Пуск -> Все программы -> Стандартные -> Выполнить.
В окне запуска ввести: inetmgr
Должен открыться «Диспетчер служб IIS».

Если нет, проверьте установлена ли компонента Службы IIS -> Средства управления веб-сайтом -> Консоль управления IIS

Спасибо за информацию. Очень хорошая подача материала, но возник один вопрос.
«Здесь необходимо удостовериться, что включена компонента «Проверка подлинности Windows»:» — в этому случае доступ будет возможен только из интрасети (о чем нас услужливо предупреждает сам iis).
Но, если компонент выключен, то ресурс вообще перестает обнаруживаться.
Я экспериментировал и так и эдак, но доступа так и не получил — система выдавала ошибку авторизации (неверные данные).
Буду благодарен за помощь в решении.

Привет!
Не знаю почему в инструкции к IIS написано про доступ только из интрасети. Может это справедливо, если сеть под Active Directory? Не знаю…
Но в обычном случае «Проверка подлинности Windows» работает везде где есть Windows.

Т.е. включаю «Проверка подлинности Windows», назначаю «Правила разработки WebDav». Все, если веб-сайт доступен из вне, то можно подключиться и по WebDav. Проверено на практике!

>Я экспериментировал и так и эдак, но доступа так и не получил – система выдавала ошибку авторизации (неверные данные).
Т.е даже из локальной сети доступа не получил? А настраиваешь доступ как — под группу или конкретного пользователя?

И под группу, и под польователя. По всем другим протоколам доступ есть. Команда net use таки видит мой домен, запрашивает данные для авторизации, но авторизацию не проходит. Говорит, липовые данные.

нет, только для того, которым хочу залогиниться. Аппрувил всех — без разницы.

Может у вас обоих пользователи имеют пустой пароль? В этом случае доступ по сети запрещен.

Сам намучался с этой проблемой, не один час убил.
Но решение нашел: В секции «Authentication» для Windows Authentication нужно выбрать дополнительную настройку и там отключить «Enable Kernel-mode» authentication. Как написано в описании эа настройка нужна тогда, когда используется kerberos либо пулы приложений работают из под кастомных учеток. Ни того ни другого у меня нет. После отключения заработало.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.