В Tuleap Docman отказано в разрешении

Ранее сегодня я установил Tuleap, как описано в CentOS 6.7.
Большинство из них работает, но когда я пытаюсь добавить документ с помощью DocumentManager, я получаю следующую ошибку: Ошибка при создании начальной версии.

Я заглянул в лог файлы 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$

Теперь я знаю, что это проблема с разрешениями, но я не знаю, где хранятся эти файлы и как получить права доступа. Кто-нибудь может дать мне направление, где искать?

Заранее спасибо!

1

Решение

Решаемые.

При тщательном рассмотрении в журнале ошибок httpd он заявил, что хочет поместить файл в корневой каталог. Конечно это не разрешено. Следовательно, необходимо было изменить путь к файлу, который автоматически создается Domcman.

Я нашел Docman_FileStorage.class.php файл, который вызывает автоматическое создание пути внутри /usr/share/tuleap/plugins/docman/include и отредактировал функцию / переменную getPath $path в /var/lib/tuleap/docman, так что он будет иметь правильный путь.

Для полной отредактированной функции, см. Ниже:

    */
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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]