Неверный каталог данных. Убедитесь, что файл ocdata находится в корне каталога данных
Обновлено: 21.11.2024
Если у вас возникли проблемы с установкой, настройкой или обслуживанием ownCloud, обратитесь к нашему каналу поддержки сообщества:
На форуме ownCloud есть категория часто задаваемых вопросов, где каждая тема соответствует типичным ошибкам или часто возникающим проблемам. |
Пожалуйста, поймите, что этот канал в основном состоит из таких пользователей, как вы, помогающих друг другу. Подумайте о том, чтобы помогать другим, когда можете, в обмен на помощь, которую вы получаете. Это единственный способ сохранить здоровье и устойчивость такого сообщества, как ownCloud!
Если вы используете ownCloud в бизнесе или в другом крупномасштабном развертывании, обратите внимание, что ownCloud GmbH предлагает Enterprise Edition с вариантами коммерческой поддержки.
Если вы считаете, что обнаружили ошибку в ownCloud, пожалуйста:
Поиск решения (см. варианты выше)
Перепроверьте свою конфигурацию
Если вы не можете найти решение, воспользуйтесь нашим багтрекером. Вы можете создать отчет о конфигурации с помощью команды occ config с автоматическим скрытием паролей.
Устранение общих неполадок
Проверьте системные требования ownCloud, особенно поддерживаемые версии браузеров. При появлении предупреждений о целостности кода см. раздел Подписание кода.
Отключить сторонние приложения
При обновлении сторонние приложения могут вызывать проблемы. Чтобы этого не произошло, мы настоятельно рекомендуем администраторам всегда отключать сторонние приложения перед обновлением и в целях устранения неполадок.
Файлы журналов ownCloud
В стандартной установке ownCloud для уровня ведения журнала задано значение «Нормальный». Чтобы найти какие-либо проблемы, вам нужно поднять уровень журнала до «Все» в файле config.php или до «Все» на странице администрирования ownCloud. Дополнительную информацию об этих уровнях ведения журнала см. в разделе Конфигурация ведения журнала.
Некоторое ведение журнала, например ведение журнала консоли JavaScript, требует включения отладки. Отредактируйте config/config.php и измените 'debug' ⇒ false на 'debug' ⇒ true. Обязательно верните его, когда закончите.
В случае проблем с JavaScript вам также потребуется просмотреть консоль JavaScript. Во всех основных браузерах есть инструменты разработчика для просмотра консоли. Обычно вы можете получить к ним доступ, нажав F12.
Файл журнала ownCloud находится в каталоге данных owncloud/data/owncloud.log . |
Версия PHP и информация
Вам необходимо знать версию PHP и сведения о конфигурации. Есть два способа получить эту информацию: с помощью функции PHP phpinfo и с помощью набора параметров PHP в командной строке.
Использование функции PHP phpinfo
Создайте простой текстовый файл с именем "phpinfo.php" и поместите его в корневой каталог вашего веб-сервера, например, /var/www/html/phpinfo.php .
Корневой каталог вашего веб-сервера может находиться в другом месте; в документации вашего дистрибутива Linux указано, где он находится. |
Этот файл содержит следующую строку:
Откройте этот файл в веб-браузере, указав в браузере localhost/phpinfo.php :
Ваша версия PHP находится вверху, а остальная часть страницы содержит обширную системную информацию, такую как активные модули, активные файлы .ini и многое другое. Когда вы закончите просмотр своей информации, вы должны удалить phpinfo.php или переместить его за пределы своего веб-каталога, поскольку раскрытие таких конфиденциальных данных представляет угрозу безопасности.
Использование командной строки
Чтобы получить версию PHP, выполните следующую команду:
Чтобы получить список активных модулей PHP, выполните следующую команду.
В терминале вы увидите вывод, аналогичный следующему.
Чтобы получить информацию о конфигурации PHP, вы можете либо получить ее всю сразу, запустив php -i, либо получить информацию об отдельных модулях, запустив php --ri, за которым следует имя модуля, например php --ri curl .
Отладка проблем с синхронизацией
Каталог данных на сервере является эксклюзивным для ownCloud и не может быть изменен вручную. |
Игнорирование этого может привести к нежелательному поведению, например:
Проблемы с клиентами синхронизации
Необнаруженные изменения из-за кэширования в базе данных
Если вам нужно напрямую загружать файлы с того же сервера, используйте клиент командной строки WebDAV, например cadaver, для загрузки файлов в интерфейс WebDAV по адресу:
Распространенные проблемы/сообщения об ошибках
Некоторые распространенные проблемы/сообщения об ошибках, обнаруженные в ваших файлах журналов, как описано выше:
SQLSTATE[HY000] [1040] Слишком много подключений → Вам необходимо увеличить лимит подключений к вашей базе данных. Дополнительную информацию см. в руководстве по вашей базе данных.
SQLSTATE[HY000]: Общая ошибка: 5 база данных заблокирована → Вы используете SQLite, который не может обрабатывать множество параллельных запросов. Рассмотрите возможность преобразования в другую базу данных, как описано в разделе Преобразование типа базы данных.
SQLSTATE[HY000]: Общая ошибка: сервер MySQL версии 2006 исчез → Дополнительные сведения см. в разделе «Устранение неполадок».
SQLSTATE[HY000] [2002] Нет такого файла или каталога → Возникла проблема с доступом к файлу базы данных SQLite в вашем каталоге данных ( data/owncloud.db ). Пожалуйста, проверьте права доступа к этой папке/файлу и существует ли он вообще. Если вы используете MySQL, запустите базу данных.
Соединение закрыто / Операция отменена или ожидается. Размер файла 4734206 получил 458752 → Это может быть вызвано неправильными настройками KeepAlive в конфигурации Apache. Убедитесь, что для KeepAlive установлено значение On, а также попробуйте увеличить лимиты KeepAliveTimeout и MaxKeepAliveRequests. В Apache с mod_php использование многопроцессорного модуля, отличного от prefork, может быть еще одной причиной. Дополнительная информация доступна на форумах.
Заголовки базовой аутентификации не найдены → Эта ошибка отображается в вашем файле data/owncloud.log. Некоторые модули Apache, такие как mod_fastcgi , mod_fcgid или mod_proxy_fcgi, не передают необходимые заголовки аутентификации в PHP, поэтому вход в ownCloud через клиенты WebDAV, CalDAV и CardDAV не работает. Дополнительную информацию о том, как правильно настроить среду, можно найти на форумах.
OAuth2
Клиенты ownCloud не могут подключиться к серверу ownCloud
Если вы используете веб-сервер Apache, добавьте следующую директиву SetEnvIf в свою конфигурацию Apache, будь то в общую конфигурацию Apache, во включаемый файл конфигурации или в файл ownCloud .htaccess.
Отсутствует каталог данных
Во время обычной работы каталог данных ownCloud может быть временно недоступен по разным причинам. К ним могут относиться сетевые тайм-ауты на подключенных сетевых дисках, непреднамеренное размонтирование раздела, на котором находится каталог, или повреждение настройки RAID. Если вы столкнулись с этим, вот как работает ownCloud и что вы можете ожидать.
Во время нормальной работы каталог данных ownCloud содержит скрытый файл с именем .ocdata . Этот файл предназначен для установок, в которых папка с данными монтируется (например, через NFS) и по какой-то причине монтирование исчезло. Если каталог недоступен, папка данных фактически будет полностью пустой, а .ocdata будет отсутствовать. Когда это произойдет, ownCloud вернет ошибку 503 Service not available, чтобы клиенты не думали, что файлы исчезли.
Устранение неполадок с веб-сервером и PHP
Файлы журнала
При возникновении проблем первым делом нужно проверить файлы журналов, предоставляемые PHP, веб-сервером и самим ownCloud.
В дальнейшем предполагается путь к лог-файлам установки Debian по умолчанию, на которой работает Apache2 с mod_php. На других веб-серверах, дистрибутивах Linux или операционных системах они могут отличаться. |
Файл журнала Apache2 находится в /var/log/apache2/error.log .
Файл журнала PHP можно настроить в файле /etc/php5/apache2/php.ini. Вам нужно установить для директивы log_errors значение On и выбрать путь для хранения лог-файла в директиве error_log. После этих изменений вам необходимо перезапустить веб-сервер.
Файл журнала ownCloud находится в каталоге данных /var/www/owncloud/data/owncloud.log .
Веб-сервер и модули PHP
Существуют некоторые модули веб-сервера или PHP, которые, как известно, вызывают различные проблемы, например прерывание загрузки/загрузки. Ниже приведен предварительный обзор этих модулей:
Апач
libapache2-mod-php5filter (вместо этого используйте libapache2-mod-php5)
mod_proxy_html (может привести к нарушению загрузки PDF)
mod_spdy вместе с libapache2-mod-php5 / mod_php (вместо этого используйте fcgi или php-fpm)
mod_xsendfile / X-Sendfile (при неправильной настройке вызывает прерывание загрузки)
Устранение неполадок WebDAV
Общие способы устранения неполадок
ownCloud использует SabreDAV, а документация по SabreDAV исчерпывающая и полезная.
Работа с большими файлами (показывает ошибку PHP в старых версиях SabreDAV и информацию о проблемах mod_security)
Файлы 0 байт (Причины пустых файлов на сервере)
Клиенты (полный список клиентов WebDAV и возможные проблемы с каждым из них)
Finder, встроенный в OS X клиент WebDAV (описывает проблемы с Finder на различных веб-серверах)
На форумах ownCloud также есть хорошо поддерживаемая ветка часто задаваемых вопросов, в которой содержится различная дополнительная информация о проблемах с WebDAV.
Ошибка 0x80070043 Не удается найти сетевое имя. при добавлении сетевого диска
Собственный клиент Windows WebDAV может завершиться ошибкой со следующим сообщением об ошибке:
Известным решением этой проблемы является обновление конфигурации вашего веб-сервера.
Апач
Вам необходимо добавить следующий набор правил в конфигурацию вашего основного веб-сервера или виртуального хоста либо в файл .htaccess в корне документа.
Устранение неполадок с контактами и календарем
Обнаружение службы
У некоторых клиентов, особенно на iOS/Mac OS X, возникают проблемы с поиском правильного URL-адреса синхронизации, даже если он явно настроен на его использование.
Если вы хотите использовать клиенты CalDAV или CardDAV вместе с ownCloud, важно правильно настроить следующие URL-адреса:
Они должны перенаправлять ваших клиентов на правильные конечные точки DAV. Если ownCloud запущен в корне документа вашего веб-сервера, правильный URL-адрес:
и если работает во вложенной папке, например owncloud :
В первом случае файл .htaccess, поставляемый с ownCloud, должен выполнять эту работу при запуске Apache. Вам нужно только убедиться, что ваш веб-сервер использует этот файл.
Если ваш экземпляр ownCloud установлен во вложенной папке с именем owncloud и вы используете Apache, создайте или отредактируйте файл .htaccess в корне документа вашего веб-сервера и добавьте следующие строки:
Здравствуйте, я пытался исследовать это весь день, и я продолжаю получать ту же ошибку "Ваш каталог данных недействителен. Убедитесь, что в корне каталога данных есть файл с именем ".ocdata".
Текст был успешно обновлен, но возникли следующие ошибки:
nathan99218 прокомментировал 22 декабря 2017 г.
kyrofa прокомментировал 22 декабря 2017 г.
Хорошо, гораздо понятнее, спасибо :) .
Можно посмотреть вывод ls -ld /media/externaldrive?
nathan99218 прокомментировал 22 декабря 2017 г.
kyrofa прокомментировал 22 декабря 2017 г.
Хорошо, используйте sudo перед этими командами, чтобы не получить отказ в доступе. Я бы тоже хотел это увидеть.
nathan99218 прокомментировал 22 декабря 2017 г.
Я должен был догадаться, извините. для папки данных я получил -rw-r--r--r 1 root root 0 Dec 20 11:21 /media/woodriver/2godd/data
kyrofa прокомментировал 22 декабря 2017 г.
Хорошо, еще один уровень: sudo ls -la /media/woodriver/2godd/data давайте посмотрим, есть ли там этот файл.
nathan99218 прокомментировал 22 декабря 2017 г.
kyrofa прокомментировал 22 декабря 2017 г.
Подождите. это показывает, что 2godd1 принадлежит woodriver. Но более ранний фрагмент показал, что каталог принадлежит пользователю root. Что дает?
kyrofa прокомментировал 22 декабря 2017 г. •
Вы что-то меняете. 2годд, 2годд1. Я не могу вам помочь, если не получаю последовательной информации!
nathan99218 прокомментировал 22 декабря 2017 г.
Извините, я тоже это заметил. У меня есть каталог данных, установленный как 2godd1. Я не уверен, почему мой внешний диск отображается с тремя разными именами. Я отформатировал его до того, как начал им пользоваться.
прокомментировал yatzy 28 апреля 2020 г.
Предпринятые шаги (от root):
- смонтировал новый внешний жесткий диск как /mnt/external
- изменил каталог данных в /var/snap/nextcloud/current/nextcloud/config/autoconfig.php
- запустил snap disable nextcloud
- зашел посмотреть /mnt/external , увидел пару файлов, если я правильно помню, один из которых был .ocdata
- не заморачивался с этим и пошел дальше
- продолжил до конца инструкции
Может быть, перед изменением каталога данных в config.php следует запускать команду snap disable nextcloud?
прокомментировал yatzy 28 апреля 2020 г.
Хорошо, я запустил touch .ocdata, и при входе в веб-интерфейс через lan ip меня приветствовало это
`Доступ через недоверенный домен
Пожалуйста, свяжитесь с вашим администратором. Если вы являетесь администратором, отредактируйте параметр «доверенные_домены» в config/config.php, как показано в примере в config.sample.php.
Дополнительную информацию о том, как это настроить, можно найти в документации.`
От wan сайт не найден.
nextcloud.occ config:system:get trust_domains возвращает правильные домены.
прокомментировал yatzy 28 апреля 2020 г.
Хорошо, теперь через мгновение доступ, хотя домен работает нормально, с локального IP я все еще получаю "Доступ через ненадежный домен"
комментарий slomo-official от 4 мая 2020 г.
прокомментировал yatzy 7 мая 2020 г.
Спасибо slomo-official за предложение! К сожалению, в моем случае это не помогло.
wabuMike прокомментировал 12 мая 2020 г. •
@slomo-official Спасибо за упоминание! @kyrofa Я столкнулся с той же проблемой! Не могли бы вы обновить статью в вики?Если каталог данных находится в /media/my/new/data , root также должен владеть каталогом /media/my/new, чтобы это работало:
прокомментировал talski 19 августа 2020 г.
убедитесь, что точка монтирования также принадлежит пользователю root (/media/mymountingpoint), моя точка монтирования принадлежит моему текущему пользователю, изменена на root, и все снова работает
Прокомментировал Quazmoz 19 августа 2020 г.
убедитесь, что точка монтирования также принадлежит пользователю root (/media/mymountingpoint), моя точка монтирования принадлежала моему текущему пользователю, изменена на root, и все снова работает
Спасибо за это предложение! У меня это не сработало, однако я сменил владельца на www-data, и теперь он работает
71ae прокомментировал 9 января 2021 г.
Я установил Ubuntu 20.04 с Snap.
файл autoconfig.php возвращается к своей последней версии через пару секунд, и конфигурация не вступает в силу.
jayhendren прокомментировал 13 января 2021 г.
Я столкнулся с этим же сообщением об ошибке после того, как в точности выполнил вышеупомянутые инструкции в вики, а также использовал Nextcloud Snap в Ubuntu.
Оказывается, в моем пути к каталогу данных в config.php была символическая ссылка. Видимо, Nextcloud этого не оценил. Вместо этого я использовал полный путь, и это решило проблему.
@71ae в инструкциях указано редактировать config.php, а не autoconfig.php.
Прокомментировал RodrigoBDutra 26 октября 2021 г.
Для переноса данных вам нужно подключить внешний диск в каком-то месте.
шаги, которые я использую, были.
в терминальном использовании
--- найдите диск, который хотите подключить
например, создайте точку подключения;
смонтировать sudo /mnt/пример
Я использую раздел ext4 для своего диска
это команда
sudo mount -t ext4 /dev/sda1 /mnt/example
это для других форматов
FAT | sudo mount -t vfat /dev/sda1 /mnt/exemple -o umask=000
NTFS | sudo apt установить ntfs-3g
| sudo mount -t ntfs /dev/sda1 /mnt/exemple -o umask=000
exFAT | sudo apt установить exfat-fuse
| sudo mount -t exfat /dev/sda1 /mnt/exemple
это будет временно монтировать диски.
Если вы хотите монтировать постоянно, используйте эту команду
Сначала вам нужно найти UUID на вашем диске
использовать
вы найдете все диски и UUID каждого из них, выберите диск, который хотите подключить, и скопируйте с него UUID.
после этого вам нужно ввести некоторую информацию в fstab,
чтобы сделать это, сначала создайте bkp из fstab (у меня было много головной боли, прежде чем я понял, что это сделать)
эта команда создаст резервную копию
sudo cp /etc/fstab /etc/fstab.bkp
после того, как вам нужно написать несколько строк в файле
sudo nano /etc/fstab
ничего не меняйте внутри этого файла, просто добавьте эту строку (получите строку того же формата, что и ваш диск)
ЖИР | UUID=FC05-DF26 /mnt/exemple vfat defaults,auto,users,rw,nofail,umask=000 0 0
NTFS | UUID=FC05-DF26 /mnt/example ntfs defaults,auto,users,rw,nofail,umask=000 0 0
exFAT | UUID=FC05-DF26 /mnt/example exfat defaults,auto,users,rw,nfail 0 0
EXT4 | UUID=FC05-DF26 /mnt/example ext4 defaults,auto,users,rw,nofail 0 0
Не забудьте установить соответствующий UUID и заменить точку монтирования на ту, которую вы создали (если это не /mnt/exemple).
Сохраните изменения и все.
После этого, возможно, вы измените chown, и система найдет .ocdata
[Решено]Owncloud не находит файл .ocdata после смены диска Проблема решена
[Решено]Owncloud не находит файл .ocdata после смены диска
Вы скопировали файлы со старого на новый диск? Или вы просто подключили новый диск без переноса файлов?
Пожалуйста, сообщите нам, работает ли решение. Это может помочь другим, если они попадут в подобную ситуацию. Ваша команда DietPi
Второй!
Но, поскольку я отформатировал новый диск с помощью dietpi-drive_manager, я не знаю, как скопировать и вставить их туда.
Имейте в виду, что я должен смонтировать новый в тот же каталог, что и старый; это означает, что перед монтированием нового я должен размонтировать старый…
В любом случае, я совершенно уверен, что проблема в недостающих файлах в новом, но как я могу их скопировать?
И еще: когда я монтировал старую, я не создавал и не копировал откуда-то еще какие-то файлы, чтобы туда вставить…
Хорошо, сначала удалите новый диск и подключите старый. После этого убедитесь, что все работает нормально.
Теперь подключите новый диск в дополнение к временному месту, например /mnt/temp
остановить все службы
Надеюсь, все файлы теперь скопированы на новый диск. Если да, удалите оба диска и перемонтируйте новый в исходную точку подключения и запустите все службы
Пожалуйста, сообщите нам, работает ли решение. Это может помочь другим, если они попадут в подобную ситуацию. Ваша команда DietPi
Я шаг за шагом следовал вашему предложению.Я не уверен, что файлы были скопированы, потому что при попытке открыть owncloud выдает ту же ошибку.
это вывод после команды копирования:
Пожалуйста, сообщите нам, работает ли решение. Это может помочь другим, если они попадут в подобную ситуацию. Ваша команда DietPi
ммм и таким образом это не работает.
странно то, что когда я дал команду копирования, ничего не происходит:
Отсюда я все равно продолжаю следующие шаги, но знаменитый файл ".ocdata" все равно не найден.
Странно, не правда ли?
Команда копирования обычно ничего не выводит. Он может просто зависнуть во время копирования данных.
Можете ли вы поделиться содержимым нового диска?
Пожалуйста, сообщите нам, работает ли решение. Это может помочь другим, если они попадут в подобную ситуацию. Ваша команда DietPi
Линукс-ботаник внутри меня кричал о новом проекте RPi. Что строить? Что делать? Ни в одной современной ИТ-литературе сегодня нельзя не наткнуться на слово «облако». Ну облако это. Собственное облако в моем случае. Я думаю, что почти все знакомы с этим облачным программным обеспечением с открытым исходным кодом, но те из вас, кто не знаком, могут найти информацию по адресу:
Идея заключалась в том, чтобы получить удаленный доступ к моему старому надежному сетевому хранилищу Buffalo NAS без необходимости подключать сетевые диски и т. д. На самом деле Buffalo также предлагает какое-то облачное решение, но эй, гораздо веселее настраивать свои собственные устройства 🙂 Идея довольно просто — RPi — это интерфейс для NAS. Клиенты подключаются к RPi, которые, в свою очередь, монтируют сетевое хранилище из NAS. Вот настройка:
Рис. 1. RPi + NAS Buffalo
- Должен ли Raspberry Pi / ownCloud быть видимым в Интернете? Если да, то как правильно его закрепить?
- Переадресация портов с ограничениями/обратный прокси-сервер?
- VPN?
На самом деле я выбрал второй вариант, невидимый в Интернете. Мое решение основано на том факте, что у меня уже есть VPN-сервер. Это еще один дополнительный шаг перед получением/синхронизацией файлов, но я думаю, что в конце концов оно того стоит. Кроме того, все остальные мои сервисы также защищены VPN.
Тем не менее, я ВСЕ ЕЩЕ настроил ownCloud так, чтобы он был ориентирован на будущее, даже если прямо сейчас сервер не будет подключен к Интернету (с переадресацией портов и т. д.). (См. главу о защите ownCloud). Лучше перестраховаться, чем потом сожалеть 🙂
Собственные предупреждения безопасности и настройки Owncloud предупредят вас о том, что нужно исправить. На снимке экрана почти никаких мер безопасности не предпринималось. (Самый скриншот не мой, он «позаимствован» из интернета):
Рис. 2. Перед исправлением предупреждений о безопасности и настройке. О кеше памяти я напишу в следующей главе (Оптимизация ownCloud).
… и вот скриншот с фиксированной безопасностью (также исправленной memcached):
Рис. 3. Нет предупреждений о безопасности и настройке 🙂
Базовая безопасность
В первоначальном руководстве по настройке, которому я следовал, уже были выполнены некоторые базовые измерения безопасности (к счастью):
прослушивание сервера 443 ssl;
add_header Strict-Transport-Security «max-age=15768000; включать поддомены; предварительная загрузка»;Дополнительную информацию о безопасности можно найти в собственном Руководстве по усилению защиты и безопасности ownCloud:
Дополнительная безопасность
Если вы собираетесь развернуть сервер с выходом в Интернет, вам следует подумать о безопасности. Базовые меры безопасности являются обязательными, но что, если вы хотите защитить их еще больше? Вы, конечно же, хотите, чтобы ваш сайт был защищен от DDOS и атак грубой силы, не так ли? Ну, вот здесь и вступает в игру один из моих любимых — fail2ban. Если вы понятия не имеете, о чем я говорю, я предлагаю вам прочитать хотя бы следующее:
Читайте также: