当试图运行cgi时,它会下载

时间:2017-08-19 11:40:48

标签: ubuntu apache2 cgi

编辑:在回答类似问题的答案后,我声称拥有chown的folderand文件。一旦我将文件夹的权限设置为777,它就会开始工作。

我对apache配置了解不多,但到目前为止,我已经能够将它与我的Web应用程序一起使用了。 现在我试图用C语言学习一些东西,以及这里发生了什么:

  1. 当我在浏览器http://localhost/cgi-bin/上打开文件时,一切正常; - 文件位于/ usr / lib / cgi-bin /
  2. 当我将文件移动到/ var / www / cgi-bin /并尝试在浏览器中从http://codigoc/打开它们时,它只是下载文件而不是运行它们。
  3. 我一直在网上搜索,但尚未找到解决方案。 由于我不确定到底需要做什么,我会在下面留下您的文件。

    /etc/apache2/conf-enabled/serve-cgi-bin.conf

    <IfModule mod_alias.c>
        <IfModule mod_cgi.c>
            Define ENABLE_USR_LIB_CGI_BIN
        </IfModule>
    
        <IfModule mod_cgid.c>
            Define ENABLE_USR_LIB_CGI_BIN
        </IfModule>
    
        <IfDefine ENABLE_USR_LIB_CGI_BIN>
            ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
            <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Require all granted
            </Directory>
            ScriptAlias /cgi-bin/ /var/www/cgi-bin/
            <Directory "/var/www/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Require all granted
            </Directory>
        </IfDefine>
    </IfModule>
    
    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
    

    /etc/apache2/apache2.conf中

    <Directory /var/www/cgi-bin/>
        Options +ExecCGI
        AddHandler cgi-script .cgi .pl
    </Directory>
    

    /etc/apache2/sites-enabled/codigoc.conf

    <VirtualHost *:80>
        ServerName codigoc
    
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/cgi-bin/
        ScriptAlias /cgi-bin/ /var/www/cgi-bin
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        <Directory "/var/www/cgi-bin">
            AllowOverride None
            Options +ExecCGI -Multiviews +SymLinksIfOwnerMatch
            Require all granted
        </Directory>
        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        Include conf-available/serve-cgi-bin.conf
    </VirtualHost>                            
    
    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
    

    不确定这对你们是否足以帮助我,但如果我遗失了什么,请告诉我。

    提前致谢!

1 个答案:

答案 0 :(得分:0)

权限问题......现在解决了

感谢John,抱歉占用你的时间

编辑:在回答类似问题的答案后,我声称拥有chown的folderand文件。一旦我将文件夹的权限设置为777,它就会开始工作。