我正在尝试修复 OwnCloud 服务器。我已经被困了一天,我开始绝望了。Owncloud(在 arch linux 上设置)说:
Data directory ( /data/ocdata) is invalid
Please check that the data directory contains a file ".ocdata" in its root.
Cannot create "data" directory ( /data/ocdata)
This can usually be fixed by giving the webserver write access to the root directory.
所以我做了以下事情(出于绝望):
sudo chown -R 777 /data/ocdata
对 ocdata 执行 ls 得到:
ls /data/ocdata -a -l
total 12
drwxrwxrwx 2 http http 4096 Sep 14 20:33 .
drwxr-xr-x 4 root root 4096 Sep 14 20:18 ..
-rwxrwxrwx 1 http http 2 Sep 14 20:40 .ocdata
config.php 说:
<?php
$CONFIG = array (
'instanceid' => 'ocac7c1e1b0a',
'passwordsalt' => 'f30d85305490ef50994a3231be3017',
'trusted_domains' =>
array (
0 => '10.10.10.5',
),
'datadirectory' => ' /data/ocdata',
'dbtype' => 'pgsql',
'version' => '7.0.2.1',
'dbname' => 'owncloud',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'dbuser' => '---',
'dbpassword' => '---',
'installed' => true,
);`
这可能有什么问题?
答案1
请注意 ' /data/ocdata' 中的前导空格。将其删除即可。
答案2
尝试一下(在我的 IIS 6.0 上)
'datadirectory' => 'C:\Inetpub\wwwroot\owncloud\data'
答案3
我的服务器是 Centos 7,带有 Plesk 12.0.18。这些天我在使用 OwnCloud 时遇到了同样的问题。
对于使用 root-Plesk 用户的 OwnCloud,我向我的根服务器添加了一个新的 Webspace。它的主目录位于 /var/www/vhosts/%domain%/httpdocs,位于较小的 SSD 驱动器上。由于我在此服务器中有一个很大的备份磁盘,因此我尝试将 ./data/ 文件夹设置为另一个驱动器。新文件夹应该是 /data/cloud/
因此我必须做和你在这里做的一样的事情。但是没有用。我尝试了所有方法,比如 apache 别名、符号目录、复制隐藏文件、使用 chmod、chown 等……目录就在那里,并且有正确的所有者和正确的权限。
请检查数据目录的根目录中是否包含文件“.ocdata”
解决方案很简单:问题似乎是open_basedir Plesk 中的屏幕:https://downfight.de/grafiken/dimi/5a619a19950af98b6b68c237554d71ad.png (原始值: {WEBSPACEROOT}}{:}{TMP})将其更改为:
{WEBSPACEROOT} {:} {TMP}:/dev:/data/cloud
(添加 /dev 也修复了 OwnCloud 的 /dev/urandom-Error)
之后我必须在 Plesk 中提交更改,然后我再次编辑 config.php 来更改数据目录,然后它就起作用了。