FastCGI使用apache - 不是脚本或错误的权限?

时间:2017-02-06 13:03:05

标签: apache permissions fastcgi

我为这样的apache编译了我的fcgi:

g++ fcgistart.c -lfcgi

我有一个a.out并使用

为apache配置它
a2enmod fastcgi

现在我读了manual

  

使用FastCGI协议处理分配给处理程序fcgid-script的任何程序;

这是否意味着二进制文件是一个脚本? Wreid!无论如何,我将a.out放到/var/www/html

因为处理程序(/etc/apache2/mods-enabled/fastcgi.conf)绑定到.fcgi,我将a.out复制到a.fcgi。现在我浏览http://localhost/a.fcgi 403-forbidden 话筒。

xx@xx:/var/www/html$ ls -la
drwxr-xr-x 2 root root  4096 Feb  6 13:44 .
drwxr-xr-x 3 root root  4096 Feb  6 12:56 ..
-rwxr-xr-x 1 root root  8696 Feb  6 13:44 a.fcgi
-rwxr-xr-x 1 root root  8696 Feb  6 13:16 a.out
-rw-r--r-- 1 root root 11321 Feb  6 12:57 index.html

有什么问题?

1 个答案:

答案 0 :(得分:0)

我明白了:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

错了,我不得不添加ExecCGI选项:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        <Directory /var/www/html>
                Options +ExecCGI
        </Directory>
</VirtualHost>