【问题标题】:testlink installation failed: checking if /var/testlink/logs/ directory existstestlink 安装失败:检查 /var/testlink/logs/ 目录是否存在
【发布时间】:2023-03-04 08:43:02
【问题描述】:

今天,我安装了testlink。在我选择“新安装”并选择“我同意”选项后,它在第二步失败。失败信息如下:

读/写权限

出于安全原因,我们建议将在以下消息中标记为 [S] 的目录设置为无法从浏览器访问
检查 C:\xampp\htdocs\testlink\gui\templates_c 目录是否存在 OK
检查 C:\xampp\htdocs\testlink\gui\templates_c 目录是否可写(由用于运行网络服务器进程的用户)OK
检查 /var/testlink/logs/ 目录是否存在 [S] 失败!
检查 /var/testlink/upload_area/ 目录是否存在 [S] 失败!

那么,谁能帮帮我?非常感谢!

【问题讨论】:

    标签: directory installation testlink


    【解决方案1】:

    Ubuntu 12.04 - 你所要做的就是chmod 777这些目录,失败会变成通过。

    ~$ cd into /var/www/testlink
    
    ~$ sudo chmod 777 ./gui/templates_c/
    
    ~$ sudo chmod 777 ./upload_area/
    
    ~$ sudo chmod 777 ./logs/
    

    无论说明书上说什么都是废话。使这些目录无法从浏览器访问是可选的,这造成了混乱。如果您chmod 777 他们,您的失败将变为通过,现在您将能够继续进行 testlink 安装的第 3 步。使用 testlink 1.9.5 版测试。

    【讨论】:

      【解决方案2】:

      C:\xampp\htdocs\testlink\config.inc.php文件中,更改

      $g_repositoryPath = 'C:\xampp\htdocs\testlink\upload_area';
      $tlCfg->log_path = 'C:\xampp\htdocs\testlink\logs';
      

      为我工作,确保最后没有斜线。
      即,确保它是不是

      $g_repositoryPath = 'C:\xampp\htdocs\testlink\upload_area\';
      $tlCfg->log_path = 'C:\xampp\htdocs\testlink\logs\';
      

      如果您将 XAMPP 或 testlink 安装在其他目录中,请相应更改上述路径。

      【讨论】:

      • 那么,sn-ps 的哪个代码是正确的?请清楚地标出正确和错误的版本。
      • 我在不同的系统上尝试了两种方法,两种方法都适合我。
      【解决方案3】:

      Mac OS 用户在 1.9.19 版本中试试这个:

      确保使用您的文件夹名称。

      在 config.inc.php 文件中:

      $tlCfg->log_path = TL_ABS_PATH 。 “日志”。 DIRECTORY_SEPARATOR;

      $g_repositoryPath= TL_ABS_PATH 。 “上传区域”。 DIRECTORY_SEPARATOR;

      在此之后如果您遇到读写权限问题失败。

      转到 testlink -> 日志/upload_area -> 按 Command + I -> 在权限 Enable Read Write to Everyone。

      【讨论】:

        【解决方案4】:

        我的路径设置正确,用户、组和访问权限也设置正确,但仍然无法解决问题。我花了很长时间才找到根本原因,问题在于 - 由于 SELinux 政策,http 守护进程无法访问相关文件。如此简单的 chown,chmod 无济于事(组和用户访问)。对于 testlink 1.16,我通过使用 sudo 用户重新安装解决了它,但是对于升级,即使使用 sudo 用户也再次出现问题。

        并通过执行以下命令解决了问题,我希望这会有所帮助。 (注意:你可能需要修改属性才能成功运行)

        $chcon -t httpd_sys_content_rw_t "<path_to_testlink_folder>/gui/templates_c/"
        $chcon -t httpd_sys_content_rw_t "/<path_to_testlink_folder>/upload_area/"
        $chcon -t httpd_sys_content_rw_t "<path_to_testlink_folder>/logs"
        $semanage fcontext -a -t httpd_sys_content_rw_t "<path_to_testlink_folder>(/.*)?"
        $restorecon -R -v path_to_testlink_folder
        

        【讨论】:

        • 可能缺少一些重启步骤。
        【解决方案5】:

        解决问题: 检查 /var/www/html/testlink-1.9.16/gui/templates_c 目录在 Centos 7 上是否可写(由用于运行 webserver 进程的用户)。 禁用 SELinux,然后重新启动系统。 您不应再收到此错误消息。

        【讨论】:

        • 禁用 SELinux 有点过激
        【解决方案6】:

        转到 config.inc.php 和日志目录 ($tlCfg-&gt;log_path) 编辑 C:\xampp\testlink\logs 的路径并将目录 ($g_repositoryPath) 上传到 C:\xampp\testlink\upload_area

        【讨论】:

          【解决方案7】:

          在某些情况下,您会这样做:

          转到C:\xampp\htdocs\testlink\config.inc.php1

          和日志目录($tlCfg->log_path)编辑C:\xampp\htdocs\testlink\logs的路径

          并将目录($g_repositoryPath)上传到C:\xampp\htdocs\testlink\upload_area

          那么你有:

          $g_repositoryPath = 'C:\xampp\htdocs\testlink\upload_area';
          $tlCfg->log_path = 'C:\xampp\htdocs\testlink\logs';
          

          【讨论】:

            【解决方案8】:

            在 Linux 上;确保路径如下:

            $tlCfg->log_path $g_repositoryPath

            /var/www/html/testlink/logs/ /var/www/html/testlink/upload_area/

            【讨论】:

              【解决方案9】:

              适用于 ubuntu 16.04 LTS 添加权限

              变化:

              $g_repositoryPath = 'var/www/html/testlink/upload_area'; //linux user
              $tlCfg->log_path = 'var/www/html/testlink/logs';
              
              ~$ cd into /var/www/testlink
              
              ~$ sudo chmod 777 ./gui/templates_c/
              
              ~$ sudo chmod 777 ./upload_area/
              
              ~$ sudo chmod 777 ./logs/
              

              【讨论】:

              • 这个答案可以通过修复格式来改进。
              【解决方案10】:

              在 CentOS 中转到 /var/www/html/testlink-code-1.9.16 并编辑文件 custom_config.inc.php 替换这两行 // $tlCfg->log_path = '/var/testlink-ga-testlink-code/logs/'; /* unix example */ // $g_repositoryPath = '/var/testlink-ga-testlink-code/upload_area/'; /* unix example */

              $tlCfg->log_path = '/var/www/html/testlink-code-1.9.16/logs/'; $g_repositoryPath = '/var/www/html/testlink-code-1.9.16/upload_area/';

              确保您已禁用 selinux。如果不这样做,请编辑文件 /etc/sysconfig/selinux 并将变量 SELINUX 更改为 disabled 并重新启动机器。现在这些错误应该已经消失了。

              【讨论】:

                【解决方案11】:

                ubuntu 18.04 上,需要运行

                apt-get remove apparmor
                

                为了安装它

                【讨论】:

                • 点评来源: 嗨,这篇文章似乎没有为问题提供quality answer。请编辑您的答案并改进它,或者将其作为评论发布。
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2020-07-22
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多