- Записки IT специалиста
- Настройка WebDAV-сервера на базе Apache
- xandroskin blog | it or not it
- WebDAV-клиент в Linux
- WebDAV-клиент в Windows
- Авторизация с помощью MySQL
- Установка и настройка WebDAV на IIS в Windows
- Установка WebDAV на IIS 7.5 в Windows Server 2008 R2
- Установка WebDAV на IIS 7.5 в Windows 7
- Настраиваем публикацию WebDAV в менеджере IIS
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Настройка WebDAV-сервера на базе Apache
Настройка WebDAV-сервера на базе Apache
WebDAV — расширение протокола HTTP предназначенное для редактирования и управления файлами, размещенными на веб-серверах. К его достоинствам относится работа по стандартным протоколам, что дает возможность работать практически из любого места, где есть доступ в интернет. В настоящее время WebDAV часто используется в качестве сетевой файловой системы предоставляя доступ к удаленным файлам стандартными средствами ОС как будто бы они являлись локальными. В данной статье мы рассмотрим настройку WebDAV на базе популярного веб-сервера Apache.
Прежде всего обозначим некоторые особенности и ограничения. В современных условиях мы не видим смысла использовать WebDAV поверх небезопасного протокола HTTP, разве что в пределах периметра локальной сети. Также не следует использовать Basic-аутентификацию, которая предает пароль по сети в открытом виде, особенно в связке с HTTP, тем более что современные Windows-системы не поддерживают такое сочетание.
Для нормальной работы нам понадобится веб-сервер на базе Apache с настроенным SSL и валидным сертификатом, как настроить такой сервер мы рассказывали в статье: Настраиваем Apache для работы по HTTPS (SSL) с сертификатами Let’s Encrypt. В дальнейшем мы будем опираться на приведенную там конфигурацию.
Прежде всего определимся с местом хранения, так как WebDAV является расширением веб-сервера, то и данные логично разместить в /var/www, создадим там директорию webdav и назначим ее владельцем веб-сервер:
Затем откроем файл конфигурации виртуального хоста, который будет обслуживать WebDAV, в нашем случае это /etc/apache2/sites-available/example.com-ssl.conf и добавим в самый его конец, перед закрывающим тегом следующие строки:
Директива Alias позволяет связать запросы к ресурсу https://example.com/webdav с папкой /var/www/webdav несмотря на то, что она находится вне корневой директории сайта. Секция Directory задает настройки, применяемые к данной директории.
- DAV On — включает WebDAV
- AuthType Digest — задает тип аутентификации. Digest-аутентификация не использует пароли в открытом виде, храня и передавая MD5-хеш.
- AuthName «dav» — имя области аутентификации, можно выбрать на собственное усмотрение
- AuthUserFile /etc/davpasswd — файл с паролями пользователей
- Require valid-user — разрешать доступ только прошедшим аутентификацию пользователям.
Теперь заведем пользователей WebDAV ресурса. Для этого используем утилиту htdigest, первого пользователя заводим командой:
Ключ -с указывает на необходимость создать файл паролей, если файл существует, то он будет удален и создан заново. После имени файла паролей указывается область аутентификации, в нашем случае — dav, и имя пользователя. После чего ему будет необходимо задать пароль. Второго и следующего пользователя создаем командой:
Файл паролей имеет следующую структуру:
Первой частью строки идет имя, затем область аутентификации и затем MD5-хеш пароля. Для удаления пользователя просто удалите относящуюся к нему строку.
После чего подключим необходимые модули Apache:
Проверим конфигурацию на ошибки и перезапустим сервер:
Для проверки наберите в любом браузере https://example.com/webdav и вы должны увидеть форму аутентификации, после которой вы увидите листинг директории.
Для подключения WebDAV ресурса в файловую систему Windows просто выполните подключение сетевого диска с адресом сервера, не забудьте установить флаги Восстанавливать подключение при входе в систему и Использовать другие учетные данные.
В Linux настраиваем подключение к серверу, при необходимости протокол указываем как davs (либо dav при доступе через http), например? так выглядит подключение в Gnome 3:
Теперь об особенностях эксплуатации. Внутри WebDAV ресурса нет возможности разграничивать права доступа для разных пользователей, так как в реальности владельцем всех файлов является веб-сервер. Но можно создать несколько WebDAV ресурсов со своим набором пользователей каждый (используем разные имена области аутентификации).
Еще более серьезной проблемой является блокировка открытых файлов, что может приводить к потере данных при совместном редактировании. Несмотря на то, что WebDAV поддерживает блокировки открытых файлов, не все клиенты корректно с ними работают, например, Nautilus Gnome3 корректно обрабатывает такие ситуации, выдавая предупреждение:
А Проводник Windows позволяет перезаписывать файлы без предупреждения. Поэтому используйте WebDAV для совместной работы с большой осторожностью, убедившись, что ваш клиент или приложение корректно работают с блокировками.
Также учтите, что несмотря на то, что все файлы хранятся удаленно, файловый менеджер воспринимает их как локальные, а следовательно листинг папок, содержащих большое количество файлов может оказаться замедленным, особенно если они содержат мультимедийное содержимое, для которого система будет создавать эскизы, поэтому для WebDAV ресурсов лучше использовать представление в виде списка или таблицы, но не значков и, тем более, эскизов.
Как видим, настройка WebDAV на базе веб-сервера Apache очень проста и не занимает много времени.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Источник
xandroskin blog | it or not it
WebDAV позволяет пользователям редактировать, добавлять, скачивать файлы на сервере, без необходимости использования FTP. Для организации сервера webdav на машине под управлением Linux достаточно Apache2 с некоторым набором специфичных модулей. Хранение данных авторизации клиентов с помощью стандартного для Apache2 файла паролей вида .htpasswd или же реализовать на базе MySQL (пример конфигурации в конце статьи). Реализацию WebDAV с помощью NGINX можно найти по ссылке.
Для начала ставим веб-сервер и включаем необходимые модули:
Подготавливаем каталог для сетевого хранилища: либо создаем новый, либо выставляем права доступа для www-data к имеющемуся:
Создаем пользователя, который будет иметь доступ к файлам на сервере, например webdav, вводим по запросу пароль и подтверждение, не забываем про права доступа к файлу:
Помимо утилиты htpasswd получить содержимое файла можно с помощью любого онлайн генератора .htpasswd файлов.
Самое время перейти к конфигурированию /etc/apache2/apache2.conf (или одного из виртуальных хостов в /etc/apache2/sites-available/ при использовании модульной настройки веб-сервера). Эта часть текста должна быть помещена внутрь одного из
Перезапускаем веб-сервер и проверяем доступ с помощью браузера, если получилось успешно авторизоваться, можно приступать к настройке клиентов. Если нет — ищем причины неудачи с помощью включения и детального изучения логов.
WebDAV-клиент в Linux
Из ubuntu-like систем подключиться к сетевому хранилищу можно с помощью менеджера файлов Nautilus, вот как это выглядит на примере Ubuntu 13.10:
- Входим в Nautilus, выбираем в меню Файлы -> Подключение к серверу
- Вводим адрес вида dav://username@domain:port/webdav или davs в случае наличия SSL-сертификатов и соответствующей настройке веб-сервера.
- Нажимаем подключиться и авторизуемся
WebDAV-клиент в Windows
В Windows из коробки есть возможность подключения сетевых устройств, но работает она по умолчанию только с имеющими сертификаты серверами. «Починить» нативный клиент можно с помощью реестра:
- Открываем regedit
- Переходим в ветку HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
- Находим DWORD32-параметр BasicAuthLevel и выставляем ему значение «2»
- Перезагружаемся
Возможные значения этого параметра такие:
0 — базовая авторизация (по паре логин-пароль) отключена
1 — базовая авторизация только для SSL-шар
2 — базовая авторизация любых шар, в том числе не SSL
После перезагрузки можно пробовать настраивать сетевое хранилище (на примере Windows 7):
- Открываем Мой компьютер
- Выбираем «Подключить сетевой диск»
- Вводим адрес веб-хранилища в формате http://domain/webdav (или https для соответствующего соединения)
- Ставим галку «Использовать другие данные», чтобы система не пыталась получить доступ с помощью данных учетной записи Windows
Авторизация с помощью MySQL
Использование базы MySQL может быть оправдано при большом количестве клиентов. Устанавливаем необходимые для работы модули (и сам MySQL в случае его отсутствия):
Включаем установленный модуль:
Входим в mysql и создаем базу и пользователя для доступа к ней:
Создаем таблицу с пользователями:
Добавляем пользователя test:
Правим конфигурацию Apache:
Перезапускаем веб-сервер и проверяем работоспособность.
Источник
Установка и настройка WebDAV на IIS в Windows
В этой заметке мы поговорим о замечательной надстройке над службой Internet Information Services (IIS) под названием WebDAV. WebDAV это протокол для доступа к общим файлам и папкам через интернет, чем то похожий на FTP. Передача файлов по протоколу WebDAV может быть осуществлена через различные межсетевые экраны и брандмауэры, передаваемую информацию можно шифровать, да и работа с файлами и папками реализована намного удобнее, полностью напоминая работу службы общего доступа к фалам и папкам в Windows.
Вместе с выходом Windows Server 2008 Microsoft презентовала обновленную версию модуля WebDAV для IIS 7. Данный модуль существенно расширил возможности, удобство и безопасность использования WebDAV для доступа к файлам в Интернет, кроме того теперь он стал поддерживать многопользовательскую работу и блокировку файлов.
В этой статье мы поговорим о том, как установить WebDAV на ОС Windows 7 и Windows Server 2008 R2, как его настроить и каким образом можно получить доступ к файлам и папкам, к которым открыт общий сетевой доступ по WebDAV .
Еще раз напомню, что WebDAV это расширение службы IIS, поэтому, если у вас еще не установлен IIS, сделайте это (как вы, наверное, помните и в Windows 7 и в Windows Server 2008 R2, IIS идет по умолчанию, но в целях безопасности этот компонент нужно включать отдельно). Установка WebDAV в Windows 7 и в Windows 2008 R2 немного отличается.
Установка WebDAV на IIS 7.5 в Windows Server 2008 R2
- Откройте меню Start-> Administrative Tools-> Server Manager.
- В окне управления сервером выберите Roles и отметьте Web Server (IIS).
- В окне Web Server (IIS), найдите секцию Role Services и добавьте новую роль Add Role Services.
- В списке служб разверните элемент Common HTTP Features, выберите опцию WebDAV Publishing и нажмите Next.
- Затем нажмите Install.
- После установки расширения WebDAV, закройте окно установки кнопкой Close.
Установка WebDAV на IIS 7.5 в Windows 7
Настраиваем публикацию WebDAV в менеджере IIS
На этом этапе мы включим WebDAV для сайта IIS и дадим права на редактирование содержимого локальному администратору.
- В менеджере IIS Manager, разверните дерево сайтов и выберите DefaultWebSite.
- Как показано на рисунке, щелкните по элементу WebDAVAuthoringRules.
- На странице WebDAV Authoring Rules щелкните в правой колонке(Actions) по сслыке EnableWebDAV
- После включения WebDAV, создадим правила доступа к содержимому, нажав кнопку AddAuthoringRule.
- В окне Add Authoring Rule укажем:
- All content – значит, что правило будет применяться для контента всех типов.
- Выберите «Specified users»и введте имя пользователя «administrator»
- Права доступа: Read, Source и Write.
- После настройки, жмите OK.
- В панели управления IIS выберите опцию Authentication.
- В окне аутентификации активируйте аутентификацию Windows (WindowsAuthentication), если IIS будет работать только в качестве сервера WebDAV, анонимную аутентификацию можно отключить.
- Вернитесь на уровень сайта Default Web Site и выберите AuthorizationRules (либо .Net Authorization Rules)
- Создайте Allow правило (либо убедитесь, что оно уже существует), в котором администратору было бы разрешено получать доступ к серверу (в моем случае, такое правило уже было, и всем пользователям — All Users, в том числе администратору был разрешен доступ к IIS).
Попробуем теперь подключиться к сайту WebDAV c учетной записью администратора, для чего в командной строке наберите:
В результате в системе появиться новый сетевой диск, подключенный с сервера с помощью WebDAV.
Если же нужно расшарить определенную папку на диске, необходимо создать виртуальный каталог IIS. Для этого щелкните правой кнопкой мыши по сайту и выберите ‘Add New Virtual Directory’:
Укажите алиас (имя виртуального каталога IIS) и путь к папке, к которой необходимо открыть доступ и нажмите OK.
Теперь, чтобы подключить данный каталог, нужно воспользоваться командой:
Сетевой диск, подключенный по WebDAV выглядит так:
Как вы видите WebDAV — это отличное средство для удаленного доступа к файлам и папкам в Windows поверх протокола HTTP, которое можно использовать, даже через межсетевой экран. Кроме того, так как WebDAV базируется на службе IIS, это означает, что в такой архитектуре мы можем использовать различные технологии обеспечения безопасности и средства управления IIS, в том числе HTTPS для шифрования передаваемых данных (при использовании обычного HTTP вся информация передается в открытом виде, кроме пароля, который при использовании Windows Authentication шифруется).
Опишем еще несколько аспектов использования WebDAV
- Если вы используете Basic authentication вместе с HTTP, это означит, что ваш пароль будет пересылаться в открытом виде, поэтому лучше использовать протокол HTTPS или все-таки включить аутентификацию Windows.
- Не забудьте, что IIS работает из под учетной записи, у которой нет доступа к большинству каталогов и файлам, поэтому придется назначить NTFS права этой учетной записи вручную.
- Для того, чтобы подключить диск по WebDAV с клиента Windows XP, необходимо убедится, что запущена служба WebClient
- Чтобы подключить каталог WebDAV по HTTPS, воспользуйтесь командой:
Источник