среда, сентября 28, 2016

Не отображаются файлы в расшаренной папке ownCloud

После апгрейда owncloud с 8-й на 9-ю версию появилась проблема при публикации папок: их содержимое не отображается у скачивающих, однако кнопка Скачать присутствует и работает.

В логах ошибка
PHP Fatal error:  require_once(): Failed opening required '/var/www/owncloud/apps/files_sharing/publicwebdav.php' (include_path='/var/www/owncloud/3rdparty/pear/console_getopt:/var/www/owncloud/3rdparty/pear/pear_exception:/var/www/owncloud/3rdparty/pear/pear-core-minimal/src:/var/www/owncloud/3rdparty/pear/archive_tar:/var/www/owncloud/3rdparty/phpseclib/phpseclib/phpseclib:/var/www/owncloud/lib/private:/var/www/owncloud/config:/var/www/owncloud/3rdparty:/var/www/owncloud/apps:.:/usr/share/php:/usr/share/pear:/var/www/owncloud') in /var/www/owncloud/public.php on line 74

Сначала сделаю дамп базы
mysqldump --lock-tables -h localhost -u root -pPASSWORD DBASE > owncloud-dbbackup.bak
Теперь подключусь к базейке и проведу несколько манипуляций
mysql -u root -p
use DBASE;
select * from PREFIX_appconfig where configvalue like '%appinfo%';

У меня вывело такую таблицу
+-------+---------------+--------------------------+
| appid | configkey     | configvalue              |
+-------+---------------+--------------------------+
| core  | remote_files  | files/appinfo/remote.php |
| core  | remote_webdav | files/appinfo/remote.php |
+-------+---------------+--------------------------+

По-нормальному configvalue должны быть такими как на картинке
 
update oc_appconfig set configvalue = 'dav/appinfo/v1/webdav.php' where appid = 'core' and configkey = 'remote _files';
update oc_appconfig set configvalue = 'dav/appinfo/v1/webdav.php' where appid = 'core' and configkey = 'remote_webdav';
update oc_appconfig set configvalue = 'dav/appinfo/v1/publicwebdav.php' where appid = 'core' and configkey = 'public_webdav';

Теперь таблица такая
select * from oc_appconfig where configvalue like '%appinfo%';
+-------+---------------+---------------------------------+
| appid | configkey     | configvalue                     |
+-------+---------------+---------------------------------+
| core  | public_webdav | dav/appinfo/v1/publicwebdav.php |
| core  | remote_files  | dav/appinfo/v1/webdav.php       |
| core  | remote_webdav | dav/appinfo/v1/webdav.php       |
+-------+---------------+---------------------------------+
Все готово.


На случай если вдруг понадобилось восстановить дамп базы
mysql -h localhost -u root -pPASSWORD DBASE < owncloud-dbbackup.bak