Как сделать Windows XP более дружелюбной к WebDAV каталогам под Apache


Сегодня на сайте публикую статью из первого выпуска рассылки "Информационный бюллетень от ApacheDev.ru", который был разослан подписчикам неделю назад. Если вы хотите получать интересные статьи без недельной задержки, то прошу вступать в ряды подписчиков рассылки от ApacheDev.ru. Рассылка также содержит последние новости Apache и ссылки на полезные модули, найденные мною в сети. Подписаться…
В последнее время меня очень увлекла тема про протокол WebDAV и модуль mod_dav. На сайте www.apachedev.ru уже опубликованы две статьи (первая и вторая) из серии про mod_dav. Сегодня же займемся практической задачей - "приручением" Windows XP к защищенным WebDAV каталогам.

Как сделать Windows XP более дружелюбной к WebDAV каталогам под Apache

Примечание: В Windows XP каталоги WebDAV более известны как “веб-папки”.
Примечание: Это руководство подходит только для Apache 1.3.x и для Windows XP; чтобы оно стало пригодно и для Apache 2.x его необходимо немного изменить. В наших собственных опытах для работы с Apache 2.x мы отказались от AuthDigest в пользу AuthBasic плюс SSL.

Windows XP некорректно проводит процесс идентификации при установке соединения с каталогами WebDAV, в отличие от Windows 2000, у которой в этом вопросе никаких проблем нет. Эта статья покажет вам, как заставить XP правильно подключаться к защищенным WebDAV каталогам.
Тут мы покажем, как создать WebDAV каталог, защищенный паролем, который будет доступен из Windows XP либо через “Сетевое окружение -> Добавить новый элемент…” (My Network Place -> Add Network Place), либо с помощью “Подключения сетевого диска” (Map Network Drive). Об этих методах подключения Вы можете прочитать в статье "Accessing a shared (WebDAV) webfolder from Windows XP or 2000".

Симптомы

Если используется цифровая (mod_auth_digest, НЕ mod_digest) или базовая идентификация, то Windows XP считает, что WebDAV серверу необходимо отправить NTLM (LanManager) данные идентификации, которые содержат “hostname/username”. А WebDAV сервер, конечно же, ожидает только “username”.
В этом случае первая попытка идентификации не проходит и XP показывает диалог ввода пароля с полем Username, заполненным как “hostname/username”.

Решение

  • Скачайте mod_encoding с http://webdav.todo.gr.jp/download/, скомпилируйте его и поместите туда, где его сможет увидеть Apache. Для своего Solaris я поместил mod_encoding.so в /its/software/libexec/apache/mod_encoding.so
  • Добавьте следующие строки в файл httpd.conf
LoadModule encoding_module /its/software/libexec/apache/mod_encoding.so
LoadModule headers_module /its/software/libexec/apache/mod_headers.so
LoadModule dav_module /its/software/libexec/apache/libdav.so
LoadModule auth_module /its/software/libexec/apache/mod_auth.so
AddModule mod_encoding.c
AddModule mod_headers.c
AddModule mod_dav.c
AddModule mod_auth.c
#
# Broken WebDAV for Windows XP
#

BrowserMatch “^WebDAVFS/1.[012]” redirect-carefully
BrowserMatch “Microsoft Data Access Internet Publishing Provider” redirect-carefully
BrowserMatch “Microsoft-WebDAV-MiniRedir/5.1.2600″ redirect-carefully
BrowserMatch “^WebDrive” redirect-carefully
BrowserMatch “^WebDAVFS” redirect-carefully
<IfModule mod_headers.c>
Header add MS-Author-Via “DAV”
</IfModule>
<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
</IfModule>
  • Затем добавьте ваши DAV каталоги в httpd.conf. Если такой каталог называется directory, то httpd.conf должен выглядеть примерно так:
DAVLockDB /path/to/lockfile/DAVLock
DAVMinTimeout 600
<Directory “directory”>
DAV On
AuthType Basic
AuthName test
AuthUserFile /path/to/passwd/file
AuthGroupFile /dev/null
Require user test
</Directory>
Убедитесь, что каталог, в котором находится файл блокировок (/path/to/lockfile/), доступен для записи пользователю, который запустил сервер (httpd).
  • Добавьте запись в файл паролей
    htpasswd -c /path/to/passwd/file test
    Убедитесь, что файл паролей доступен для чтения пользователю, который запустил процесс httpd.
  • Перезапустите сервер и можете приступать к работе.

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • News2.ru
  • NewsLand.ru
  • del.icio.us
  • BobrDobr.ru
  • Ma.gnolia
  • Digg
  • Reddit
  • Technorati
  • Slashdot
  • Netscape
  • DZone
  • ThisNext
  • Furl
  • YahooMyWeb
Опубликовано в: Модули Apache Апрель 7, 2006

7 Комментариев »

  1. Было бы неплохо почитать статью, как прикрутить связку WebDav + LDAP.
    А то когда их не одна сотня и сделать синхронизацтю паролей…

    Комментарий от universite — Июнь 19, 2006 @ 9:33 pm

  2. http://www.tldp.org/HOWTO/Apache-WebDAV-LDAP-HOWTO/

    Комментарий от TOR — Август 15, 2006 @ 7:41 am

  3. Можно проще. Надо указать в форточках в настройках подключения путь в виде
    http://сервер:80/папка
    Тогда Windows отошлет пароль в правильном виде (без имени хоста).

    Комментарий от SuSt — Август 5, 2007 @ 12:55 pm

  4. нормальный windows xp sp3 качаются обновления без косяков
    http://depositfiles.com/ru/files/2z68iqsel

    Комментарий от petro — Март 4, 2009 @ 12:39 am

  5. Всё попробовал уже, всё равно тупит по страшному :(

    Комментарий от Бабанька — Март 16, 2009 @ 3:11 am

  6. Ставь линукс :)

    Комментарий от Хранитель — Март 19, 2009 @ 8:07 pm

  7. Всё гораздо проще - снести винду и поставить солярис ;)

    Комментарий от King — Март 20, 2009 @ 10:56 pm

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

You must be logged in to post a comment.

Работает на WordPress