После установки Seafile сразу захотелось опробовать как работает WebDav. До недавнего времени успешно пользовался Яндекс Диском через WebDav, – для бекапов баз данных и сайта. Подключал посредством davfs2, всё работало изумительно и стабильно. Но в конце 2019 года халяве пришёл конец, и даже в платной версии от Яндекса ничего уже нормально не работало.
Вся настройка WebDav Seafile заключается в следующем:
Конфиг Seafile /opt/seafile/conf/seafdav.conf приводим к виду:
1 2 3 4 5 |
[WEBDAV] enabled = true port = 8080 fastcgi = false share_name = /seafdav |
В конфиг Nginx /etc/nginx/sites-enabled/seafile добавляем/правим существующий блок:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
location /seafdav { proxy_pass http://127.0.0.1:8080/seafdav; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 0; proxy_connect_timeout 36000s; proxy_read_timeout 36000s; proxy_send_timeout 36000s; send_timeout 36000s; access_log /var/log/nginx/seafdav.access.log seafileformat; error_log /var/log/nginx/seafdav.error.log; } |
Перечитываем конфиг:
systemctl reload nginx
Перезапускаем службы Seafile из под пользователя seafile (или как там у вас настроено):
$ su - seafile
$ /opt/seafile/seafile-server-latest/seahub.sh restart
$ /opt/seafile/seafile-server-latest/seafile.sh restart
$ exit
Идём на страничку https://www.seafile.com/en/download/
Скачиваем клиенты WebDav
ВСЁ !
Моей ошибкой было следующее …
Попытки настроить WebDav в Windows штатными средствами и при помощи сторонних WebDav клиентов. Из сторонних клиентов лучше всех справился RaiDrive Standard Edition
В Windows 7 (используется сервис WebClient) по умолчанию, для файлов, загружаемых через WebDav, установлено ограничение на размер файла в 50000000 байт (47.684 Мбайт). Данное ограничение убрать нельзя, можно только увеличить до 4 Гб.
Для изменения размера нужно найти ключ FileSizeLimitInBytes (полный путь – HKLM \ SYSTEM \ CurrentControlSet \ services \ WebClient \ Parameters) и изменить его значение на dword:ffffffff
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters] “FileSizeLimitInBytes”=dword:ffffffff
Заработало только после того как перевёл свой сервер на https. Пишут, что, если изменить в реестре BasicAuthLevel на 0, то будет счастье. Я не пробовал.
На Windows 10 не пробовал, пишут, что штатными средствами всё очень сложно. Мне удалось через пень/колоду завести по шизанутой ссылке https://cloud.site.pro:443/remote.php/dav/files/User NextCloud, но это отдельная история, и в будущем я откажусь совсем от этого монстрообразного (к сожалению, ставшему) продукта.
Безуспешные попытки настроить по официальному мануалу работу с davfs2 на сервере с Линукс, заставили меня с красными глазами изучать логи и искать проблемы в конфигурации Nginx пару дней. Зачем!? Если, как оказалось (на самом видно месте) есть клиент WebDav клиенты под Линукс и Windows ! Да, я слепошарый )))
По поводу открытия портов для Seafile во внешку интернет забит подсказками открыть 8080, 8082 и т.п. По UDP и TCP … Ничего это делать не нужно, достаточно, чтобы Ваш сервер слушал 80 и 443 порт. Сбил с толку и тот факт, что с открытым портом 8080 в браузере по ссылке http://IP-адрес:8080/seafdav выглядело правильно и красиво. Глупо?, да.
Внешний порт 8080 закрыт, правильно.
Внешний порт 8080 открыт, неправильно.
Уведомление: Синхронизация файлов Seafile — Блог обо всем