WebDAV позволяет пользователям редактировать, добавлять, скачивать файлы на сервере, без необходимости использования FTP.
Для организации сервера webdav на машине под управлением Linux достаточно Apache2 с некоторым набором специфичных модулей. Хранение данных авторизации клиентов с помощью стандартного для Apache2 файла паролей вида .htpasswd или же реализовать на базе MySQL Как реализацию WebDAV с помощью NGINX написано в конце заметкиДля начала ставим веб-сервер и включаем необходимые модули:
sudo apt-get install apache2
sudo a2enmod dav
sudo a2enmod dav_fs
Подготавливаем каталог для сетевого хранилища: либо создаем новый, либо выставляем права доступа для www-data к имеющемуся:
mkdir /home/webdav
chown -R www-data. /home/webdav
Создаем пользователя, который будет иметь доступ к файлам на сервере, например webdav, вводим по запросу пароль и подтверждение, не забываем про права доступа к файлу:
sudo htpasswd -c /etc/apache2/webdav.password webdav
sudo chown root:www-data /etc/apache2/webdav.password
sudo chmod 640 /etc/apache2/webdav.password
Помимо утилиты htpasswd получить содержимое файла можно с помощью любого онлайн генератора .htpasswd файлов.
Переходим к конфигурированию /etc/apache2/apache2.conf (или одного из виртуальных хостов в /etc/apache2/sites-available/ при использовании модульной настройки веб-сервера). Эта часть текста должна быть помещена внутрь одного из <VirtualHost>
# упрощаем себе жизнь, хранилище будет доступно по ссылке domain/webdav
# вместо указания длинного пути до каталога
Alias /webdav /home/webdav
<Location /webdav>
Options Indexes #разрешаем видеть содержимое папок
DAV On #активируем DAV
AuthType Basic #авторизоваться будем по логину и паролю
AuthName "webdav"
AuthUserFile /etc/apache2/webdav.password #путь до файла паролей
Require valid-user #не пускаем внутрь без авторизации
Allow from all #доступ отовсюду, можно ограничить по желанию
RewriteEngine off #не преобразовывать длинные имена файлов (если включен mod_rewrite)
</Location>
Перезапускаем веб-сервер и проверяем доступ с помощью браузера, если получилось успешно авторизоваться, можно приступать к настройке клиентов. Если нет — ищем причины неудачи с помощью включения и детального изучения логов.
Установка и настройка WebDAV на IIS в Windows
Вместе с выходом Windows Server 2008 Microsoft презентовала обновленную версию модуля WebDAV для IIS 7. Данный модуль существенно расширил возможности, удобство и безопасность использования WebDAV для доступа к файлам в Интернет, кроме того теперь он стал поддерживать многопользовательскую работу и блокировку файлов.
Вустановить WebDAV на ОС Windows 7 и Windows Server 2008 R2, как его настроить и каким образом можно получить доступ к файлам и папкам, к которым открыт общий сетевой доступ по WebDAV .
WebDAV это расширение службы IIS, поэтому, если у вас еще не установлен IIS, сделайте это ,
IIS в Windows 7 и в Windows Server 2008 R2, идет по умолчанию, но в целях безопасности этот компонент нужно включать отдельно. Соответственно установка WebDAV в Windows 7 и в Windows 2008 R2 немного отличается.
Установка WebDAV на IIS 7.5 в Windows 7
Перейдите в панель управления.
В панели управления откройте элемент Programs and Features, и перейдите в режим установки функций Windows (Turn Windows Features on or off).
Разверните узел Internet Information Services, затем World Wide Web Services, и Common HTTP Features.Установка WebDAV на IIS 7.5 в Windows 7
Отметьте WebDAV Publishing и нажмите OK
Установка 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.Установка WebDAV на IIS 7.5 в Windows Server 2008 R2
Затем нажмите Install.
После установки расширения WebDAV, закройте окно установки кнопкой Close.
Настраиваем публикацию WebDAV в менеджере IIS
мы должны включить WebDAV для сайта IIS и дать права на редактирование содержимого локальному администратору.
В менеджере IIS Manager, разверните дерево сайтов и выберите Default Web Site.
Щелкните по элементу WebDAV Authoring Rules.WebDAV Authoring Rules
На странице WebDAV Authoring Rules щелкните в правой колонке(Actions) по сслыке Enable WebDAVВключить WebDAV в Windows 7
После включения WebDAV, создадим правила доступа к содержимому, нажав кнопку Add Authoring Rule.WebDAV Authoring Rule
В окне Add Authoring Rule укажем:
All content – значит, что правило будет применяться для контента всех типов.
Выберите «Specified users»и введте имя пользователя «administrator»
Права доступа: Read, Source и Write.
После настройки, жмите OK.WebDAV права доступа в iis 7
В панели управления IIS выберите опцию Authentication.Аутентификация в WebDAV
В окне аутентификации активируйте аутентификацию Windows (Windows Authentication), если IIS будет работать только в качестве сервера WebDAV, анонимную аутентификацию можно отключить.WebDAV аутентифкация Windows Authentication
Вернитесь на уровень сайта Default Web Site и выберите Authorization Rules (либо .Net Authorization Rules)WebDAV .Net Authorization Rules
Создайте Allow правило (либо убедитесь, что оно уже существует), в котором администратору было бы разрешено получать доступ к серверу (в моем случае, такое правило уже было, и всем пользователям — All Users, в том числе администратору был разрешен доступ к IIS).
Теперь можно подключиться к сайту WebDAV c учетной записью администратора, для чего в командной строке наберите:
net use * http://localhost/
В результате в системе появиться новый сетевой диск, подключенный с сервера с помощью WebDAV.
Подключение WebDAV сервер на nginx
Для начала необходимо скачать исходные пакеты nginx с официального сайта. Если требуется дополнительный функционал, стягиваем репозиторий
Во время сборки nginx указываем путь до дополнительного модуля с помощью опции --add-module=/путь/до/папки, а также включаем в параметры опцию --with-http_dav_module
После успешной установки веб-сервера переходим к настройке. Выбираем директорию, которую хотим выделить под управление по сети. Проверяем доступность для пользователя, под которым работает nginx (см. его настройки)
Создаем пару логин+пароль для авторизации на нашем сервере. Авторизация по протоколу HTTP Basic Authentication в nginx предоставляется с помощью модуля ngx_http_auth_basic_module, который включен по умолчанию. Генерируем хэш пароля с помощью утилиты из набора apache-utils htpasswd или любым онлайн генератором файлов .htpasswd.
В файле конфигураций nginx создаем location, в котором будет содержаться описание работы с этой директорией. О доступных в рамках этого модуля директивах можно найти информацию в официальной документации. Пример настройки:
location / {
#указываем нужные методы
dav_methods PUT DELETE MKCOL COPY MOVE;
#работает,только если включали дополнительный модуль
dav_ext_methods PROPFIND OPTIONS;
#создавать промежуточные каталоги в методе PUT
create_full_put_path on;
#права доступа для создаваемых объектов
dav_access group:rw all:r;
#добавляем авторизацию
auth_basic "Please login for access";
#путь до файла с хэшем пароля
auth_basic_user_file /mnt/disk/.passwd.dav;
#разрешаем просмотр директории
autoindex on;
#отключаем ограничение по размеру на загрузку файлов
client_max_body_size 0;
#путь до корня выделенной под WebDAV директории
root /mnt/disk;
}
- Перезапустив nginx проверяем доступность каталога по сети с помощью браузера или любого удобного WebDAV-клиента
Комментариев нет:
Отправить комментарий