[SOLVED] Ошибка 507 Insufficient Storage при синхронизации .htaccess файлов

Всем привет!
Это отлично, что у такого нужного ПО есть сообщество и приятно, что есть и русская ветка в нём. Поможем улучшить движок путём небезразличия к его багам и попытками их выявления и устранения :slight_smile:

Имеется:

  • сервер: debian 7.3.1 x64
    ---- apache2 2.4.10
    ---- mysql 5.5.54
    ---- php5 5.6.30
    ---- nextcloud 11.0.2
  • клиент: nextcloud 2.2.4 (build 2)

Папка хранения данных - примонтированный жесткий диск в /mnt/sdb2

Мне нужно синхронизировать папки, содержащие файл .htaccess. Это папки с проектами сайтов. Для синхронизации файлов htaccess, которая по умолчанию запрещена, я исключил этот файл из файла c:\Program Files (x86)\Nextcloud\sync-exclude.lst. Но при синхронизации именно этих файлов я получил ошибку. В логах панели управления пишется следующее:

Fatal
webdav
Sabre\DAV\Exception\InsufficientStorage: HTTP/1.1 507 Insufficient Storage

0. [internal function] OCA\DAV\Connector\Sabre\QuotaPlugin->checkQuota('Disk/W...', Resource id #71, Object(OCA\DAV\Connector\Sabre\Directory), false)
1. /var/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
2. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1070: Sabre\Event\EventEmitter->emit('beforeCreateFil...', Array)
3. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 525: Sabre\DAV\Server->createFile('Disk/W...', Resource id #71, NULL)
4. [internal function] Sabre\DAV\CorePlugin->httpPut(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
5. /var/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
6. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 479: Sabre\Event\EventEmitter->emit('method PUT', Array)
7. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 254: Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
8. /var/www/nextcloud/apps/dav/appinfo/v1/webdav.php - line 60: Sabre\DAV\Server->exec()
9. /var/www/nextcloud/remote.php - line 165: require_once('/var/www/nextcl...')
10. {main}

Это относится только к файлам .htaccess! Всё остальное работает как часы!
Есть у кого какие-нибудь идеи как это можно побороть? Может быть причина в апаче - но как тогда её грамотно решить?

Сам озвучил проблему, сам решил её )

В файле /var/www/nextcloud/lib/private/Files/filesystem.php нужно сделать следующие изменения:

Было:

$blacklist = \OC::$server->getConfig()->getSystemValue(‘blacklisted_files’, array(’.htaccess’));

Стало:

$blacklist = \OC::$server->getConfig()->getSystemValue(‘blacklisted_files’, array(’’));

После этого файлы .htaccess будут без проблем синхронизироваться. В целом проблема решена.

Но, встаёт вопрос: насколько это правильное и безопасное решение?

Нормальное решение :slight_smile: Ничего страшного в этом нет. Этот тип файлов был добавлен в серверный блеклист скорее всего для того, чтобы не вызывать конфликтов просмотра данных через веб-интерфейс NC.