2012-05-25 100 views
0

我有一个plone 4.1.4“UnifiedInstaller”zeo安装在debian 5上,我想在集合中使用多个Data.fs。 recipe.filestorage。IOError:[Errno 13]权限被拒绝在Plone 4.1.4 zeo中使用collective.recipe.filestorage

我得到这个错误,当我启动ZEO服务器:
IOError: [Errno 13] Permission denied: '/home/intranetcfa/intranetcfa/var/filestorage/vanilla/Data.fs.lock'

我的扩建:

parts = 
    filestorage 
    ... 

[filestorage] 
recipe=collective.recipe.filestorage 
blob-storage = var/blobstorage-%(fs_part_name)s 
location = var/filestorage/%(fs_part_name)s/Data.fs 
parts = 
    vanilla 

导致zeo.conf:

<filestorage vanilla> 
    path /home/intranetcfa/intranetcfa/var/filestorage/vanilla/Data.fs 
    blob-dir /home/intranetcfa/intranetcfa/var/blobstorage-vanilla 
</filestorage> 

和zope.conf :

<zodb_db vanilla> 
    cache-size 5000 
    <zeoclient> 
     blob-dir /home/intranetcfa/intranetcfa/var/blobstorage-vanilla 
     shared-blob-dir on 
     server 127.0.0.1:8102 
     storage vanilla 
     name vanilla_zeostorage 
     var /home/intranetcfa/intranetcfa/parts/client1/var 
     cache-size 30MB 

    </zeoclient> 
    mount-point /vanilla 
</zodb_db> 

回溯(最近通话最后一个):

File "/home/intranetcfa/buildout-cache/eggs/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 405, in <module> 
main() 
    File "/home/intranetcfa/buildout-cache/eggs/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 402, in main 
s.main() 
    File "/home/intranetcfa/buildout-cache/eggs/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 158, in main 
self.open_storages() 
    File "/home/intranetcfa/buildout-cache/eggs/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 207, in open_storages 
self.storages[opener.name] = opener.open() 
    File "/home/intranetcfa/buildout-cache/eggs/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZODB/config.py", line 177, in open 
return FileStorage(config.path, **options) 
    File "/home/intranetcfa/buildout-cache/eggs/ZODB3-3.10.5-py2.6-linux-x86_64.egg/ZODB/FileStorage/FileStorage.py", line 125, in __init__ 
self._lock_file = LockFile(file_name + '.lock') 
    File "/home/intranetcfa/buildout-cache/eggs/zc.lockfile-1.0.0-py2.6.egg/zc/lockfile/__init__.py", line 73, in __init__ 
fp = open(path, 'w+') 
IOError: [Errno 13] Permission denied: '/home/intranetcfa/intranetcfa/var/filestorage/vanilla/Data.fs.lock' 
+1

严格来说,这是一个http://serverfault.com类型的问题。 –

回答

2

var/filestorage/vanilla目录不能由你的ZEO服务器运行的用户写入,或者你以前运行ZEO为不同的用户和Data.fs.lock文件时,它创建的不能由当前用户写入。

通过调整该目录的权限,或者如果.lock文件存在,锁定文件本身来修复此问题。

+0

当您将用户安装与由root运行的buildout混合时,通常会发生这种情况。如果构建脚本检测到并切换到用户来运行脚本,那将很酷。 – Yuri