如何在启用了SELinux的Linux机器上安装brat注释工具

时间:2013-01-25 09:33:55

标签: nlp brat

这是一个自我回答的问题,描述了如何解决安装brat annotation tool时出现的问题,documented用于在启用了SELinux的普通Linux机器上创建用于NLP的注释语料库。这基于该工具的1.3版本。

{{3}}的安装程序包括以下步骤:

  1. 将.tar.gz文件解压缩到(Apache)Web服务器目录中,通常为/var/www/html$HOME/public_html
  2. 可能会将解压后的目录从brat-v1.3_Crunchy_Frog重命名为简单的内容,例如brat
  3. 输入目录并运行sudo ./install.sh
  4. 启动网络服务器(sudo service httpd start),如果它尚未运行
  5. 问题:执行此过程时,任何在浏览器中使用brat的尝试(通过将其指向http://localhost/brat/index.xhtml都会失败,并在屏幕上显示以下错误消息:

    Error: ActiongetCollectionInformation failed on error Internal Server Error
    Error: Actionwhoami failed on error Internal Server Error
    Error: ActionloadConf failed on error Internal Server Error
    

    Apache错误日志(通常位于/var/log/httpd/error_log中)也显示错误:

    (13)Permission denied: exec of '/var/www/html/new/ajax.cgi' failed, referer: http://localhost/new/index.xhtml
    Premature end of script headers: ajax.cgi, referer: http://localhost/new/index.xhtml
    

    如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

这是由SELinux引起的。解决这个问题的一种方法是禁用SELinux,但是一种不太激进的方法是根据brat的要求设置访问权限。

问题的根源是:

  1. brat将可执行脚本(CGI脚本),静态文件以及带注释的数据保存在同一目录html目录
  2. 默认情况下,SELinux配置为阻止从非CGI目录执行CGI脚本。仅仅改变Apache配置对此没有帮助
  3. SELinux还配置为阻止CGI脚本将数据写入磁盘
  4. 要修改SELinux配置,您需要按如下方式授予特定文件和目录的访问权限(在brat安装目录中执行此操作):

    $> chcon -t httpd_sys_content_t .
    $> chcon -t httpd_sys_script_exec_t *.cgi
    $> sudo chcon -R -t httpd_sys_script_rw_t work data
    

    $>表示命令提示符。)

    第一个命令启用对当前目录的读访问(有时可能不需要)。第二个命令启用CGI脚本执行以.cgi结尾的所有文件(这是必要的)。第三个命令启用对workdata目录的写访问(也是必需的);每当您将文件或子目录添加到work或`data。

    时,都需要再次应用它

答案 1 :(得分:0)

我有同样的问题。可以通过如下更改/etc/apache2/apache2.conf文件来解决该问题。

<Directory /var/www>
    Options Indexes FollowSymLinks
    #AllowOverride Options Indexes FileInfo
    Require all granted
    AddType application/xhtml+xml .xhtml
    AddType font/ttf .ttf
    # For CGI support
    AddHandler cgi-script .cgi
    # Comment out the line above and uncomment the line below for FastCGI
    #AddHandler fastcgi-script fcgi
</Directory>

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    #AllowOverride Options Indexes FileInfo
    Require all granted
    AddType application/xhtml+xml .xhtml
    AddType font/ttf .ttf
    # For CGI support
    AddHandler cgi-script .cgi
    # Comment out the line above and uncomment the line below for FastCGI
    #AddHandler fastcgi-script fcgi
</Directory>

<Directory /var/www/html/brat>
    Options Indexes FollowSymLinks
    AllowOverride Options Indexes FileInfo
    Require all granted
    AddType application/xhtml+xml .xhtml
    AddType font/ttf .ttf
    # For CGI support
    #AddHandler cgi-script .cgi
    # Comment out the line above and uncomment the line below for FastCGI
    AddHandler fastcgi-script fcgi
    # For FastCGI, Single user installs should be fine with anything over 8
    #FastCgiConfig -maxProcesses 8
</Directory>

引用:Brat issue