2016-01-03 5 views
1

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

Я посмотрел в лог-файлы 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$

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

Спасибо заранее!

+0

ли вы отключить SELinux? –

+0

Да, это уже было решено. Что-то не так с первоначальной конфигурацией. –

ответ

0

Решено.

Когда он внимательно следил за журналом ошибок 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

Как разработчик Tuleap, я бы не сказал, что вы продолжите такую ​​модификацию, как это работает на других серверах по умолчанию. Кроме того, корневой путь уже задан в строке '$ path_elements'. Я бы уточнил, в конфигурации плагина docman значение «docman_root» вместо –

+0

. Я взгляну на него. Спасибо за советы! –