如何在不使用" ~user /"的情况下suexec public_html / cgi-bin;在网址

时间:2018-01-12 12:53:21

标签: apache cgi alias selinux public-html

Apache 2.4.29(Fedora)
Perl v5.26.1

我有一个网站,由于多种原因,在用户" jaf"的public_html目录中运行。 Apache被设置为在本目录树中以本地用户身份运行cgi脚本(" jaf")。所以,例如" http://billyard.ca/~jaf/cgi-bin/simpletest.cgi"成功执行用户" jaf" (而不是默认" apache")。到目前为止,我想要实现的目标是:

  1. 让apache运行" http://billyard.ca/cgi-bin/"所调用的所有cgi;好像他们被" http://billyard.ca/~jaf/cgi-bin/" (即省略" ~jaf /")但仍然在" ~jaf / public_html"目录为用户" jaf"而不是" apache"。我已将以下内容添加到apache配置中:

    < VirtualHost *:80 >
    Servername billyard.ca
    SuexecUserGroup jaf jaf
    DocumentRoot&#34; / home / jaf / public_html&#34;
    ScriptAlias / cgi-bin / / home / jaf / public_html / cgi-bin /
    < / {虚拟主机{1}}

  2. 这适用于&#34; billyard.ca/~jaf/cgi-bin/simpletest.cgi"。
    这失败了&#34; billyard.ca/cgi-bin/simpletest.cgi" ;;它给了我一个500内部服务器错误和suexec报告&#34;命令不在docroot&#34;。

    1. 让selinux允许这个(现在我必须进入许可模式,否则我会得到apache&#34;标头过早结束&#34;错误消息)

0 个答案:

没有答案