I am currently trying to configure collective.xsendfile, Apache mod_xsendfile and Plone 4.
Apparently the Apache process does not see blobstrage files on the file system because they contain permissions:
ls -lh var/blobstorage/0x00/0x00/0x00/0x00/0x00/0x18/0xd5/0x19/0x038ea09d0eddc611.blob
-r——– 1 plone plone 1006K May 28 15:30 var/blobstorage/0x00/0x00/0x00/0x00/0x00/0x18/0xd5/0x19/0x038ea09d0eddc611.blob
How do I configure blobstorage to give additional permissions, so that Apache could access these files?
The modes with which the blobstorage writes it’s directories and files is hardcoded in
ZODB.blob. Specifically, the standardZODB.blob.FileSystemHelperclass creates secure directories (only readable and writable for the current user) by default.You could provide your own implementation of
FileSystemHelperthat would either make this configurable, or just sets the directory modes to0750, and then patchZODB.blob.BlobStorageMixinto use your class instead of the default:Quite a hand-full, you may want to make this a feature request for ZODB3 🙂