Модуль WebDAV для Nginx может быть не установлен, для утсановки делаем:
apt-get install nginx-full
Создаем файл конфигурации:
nano /etc/nginx/sites-enabled/webdav.conf
И вводим настройки:
server {
charset utf-8;
listen 7500;
server_name example.com;
# включаем webdav по адресу
webdav.example.com
auth_basic realm_name;
# Файл с пользователями
auth_basic_user_file /etc/nginx/webdav;
# каталог, куда заливать
root /var/www/webdav;
# dav разрешенные методы
dav_methods PUT DELETE MKCOL COPY MOVE;
# Какие права будет иметь созданная папка или файл.
dav_access all:rw;
dav_ext_methods PROPFIND OPTIONS;
# Временная папка
client_body_temp_path /tmp/webdav;
# MAX размер загружаемых файлов, 0 без лимита
client_max_body_size 0;
# При необходимости разрешите автосоздание папки
create_full_put_path on;
}
Создаем файл пользователей:
touch /etc/nginx/webdav
sudo chmod 644 /etc/nginx/webdav
Сгенерим пользователя (если у вас нет утилиты htpasswd, то поставьте пакет apache2-utils — apache2 этот пакет не ставит)
htpasswd -nm webdav >> /etc/nginx/webdav
Утилита запросит новый пароль для пользователя Теперь создадим папку для WebDAV
mkdir /var/www/webdav
chmod -R 777 /var/www/webdav
chown -R www-data:www-data /var/www/webdav
Осталовь перезагрузить Nginx
systemctl restart nginx