首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tuleap Docman权限被拒绝

Tuleap Docman权限被拒绝
EN

Stack Overflow用户
提问于 2016-01-03 23:52:39
回答 1查看 290关注 0票数 1

今天早些时候,我在CentOS 6.7上按照说明安装了Tuleap。它大部分都可以工作,但是当我尝试用DocumentManager添加文档时,我得到了以下错误: Error while creating initial version。

我查看了httpd [Sun Jan 03 16:45:36 2016] [error] [client 192.168.99.6] PHP Warning: mkdir():$Permission denied in /usr/share/tuleap/plugins/docman/include/Docman_FileStorage.class.php on line 112, referer: (domain)/plugins/docman/?group_id=101$的日志文件

我现在知道这是一个权限问题,但我不知道这些文件存储在哪里,以及如何正确获取权限。有没有人能给我一个方向,告诉我该往哪里看?

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2016-01-04 19:40:58

解决了。

当仔细观察httpd错误日志时,它表示希望将文件放在根目录中。当然,这是不允许的。因此,需要更改Domcman自动创建的文件路径。

我找到了导致在/usr/share/tuleap/plugins/docman/include中自动创建路径的Docman_FileStorage.class.php文件,并将getPath函数/变量$path编辑为/var/lib/tuleap/docman,因此它将具有正确的路径。

完整的编辑函数见下图:

代码语言:javascript
复制
    */
function _getPath($name, $group_id, $item_id, $version_number) {
    $name = preg_replace('`[^a-z0-9_-]`i', '_', $name);
    $name = preg_replace('`_{2,}`', '_', $name);
    $hash1 = $item_id % 10;
    $hash2 = ( ($item_id - $hash1) / 10) % 10;

    $path_elements = array($this->root, $this->_getGroupName($group_id), $hash2, $hash1, $item_id, $version_number);
    $path = '/var/lib/tuleap/docman';
    foreach($path_elements as $elem) {
        $path .= $elem .'/';
        if (!is_dir($path)) {
            mkdir($path, 0700);
        }
    }

    $path .= $name;
    return $path;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34578430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档