我目前正在我的网站上开发一个perl脚本作为cgi-bin。
我成功配置它运行没有任何问题。这是我为它做的配置。
ScriptAlias /cgi-bin/ /my web directory/cgi-bin/
<Directory /my web directory/cgi-bin/>
Options ExecCGI
AddHandler cgi-script cgi pl
</Directory>
但是我不能在脚本中使用system()函数来运行一些系统命令。 它给了Can&#39t exec,没有这样的文件或目录 或许可被拒绝。
什么应该添加apache配置以允许cgi-bin运行这些命令?
谢谢!
答案 0 :(得分:0)
好的,发现问题并修复。
我遵循的步骤:
apt-get install apache2-suexec-custom
a2enmod suexec
/etc/init.d/apache2 reload
然后转到网站apache config并添加SuexecUserGroup asterisk asterisk
在这里星号是我没有运行命令的权限。
然后转到/etc/apache2/suexec/www-data
,您会看到2条非评论行。我们需要为cgi-bin提供正确的绝对路径,为cgi-bin提供别名路径。默认情况下,它有/var/www
和public_html/cgi-bin
。
那就是它。这解决了我的问题。