• 配置apache运行cgi程序


    配置apache运行cgi程序
     
    文章目录
    [隐藏]
    ScriptAlias目录的CGI
    ScriptAlias目录以外的CGI
    配置apache运行cgi程序可分为两种情况,一是ScriptAlias目录的CGI,二是ScriptAlias以外目录的CGI。
    ScriptAlias目录的CGI
    ScriptAlias指令使Apache允许执行一个特定目录中的CGI程序。当客户端请求此特定目录中的资源时,Apache假定其中文件都是CGI程序并试图运行。
    ScriptAlias指令形如:
    ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
    ScriptAlias目录以外的CGI
    由于安全原因,CGI程序通常被限制在ScriptAlias指定的目录中,如此,管理员就可以严格地控制谁可以使用CGI程序。但是,如果采取了恰当的安全方法措施,则没有理由不允许其他目录中的CGI程序运行。比如,你可能希望用户在UserDir指定的宿主目录中存放页面,而他们有自己的CGI程序,但无权存取cgi-bin目录,这样,就产生了运行其他目录中CGI程序的需求。
    1、用Options显式地允许CGI的执行
    可以在主服务器配置文件中,使用Options指令显式地允许特定目录中CGI的执行:
    <Directory /usr/local/apache/htdocs/somedir>
    Options +ExecCGI
    </Directory>
    上述指令使Apache允许CGI文件的执行。另外,还必须告诉服务器哪些文件是CGI文件。下面的AddHandler指令告诉服务器所有带有cgi或pl后缀的文件是CGI程序:
    AddHandler cgi-script cgi pl
    2、.htaccess文件
    .htaccess文件是针对目录进行配置的一种方法。Apache在提供一个资源时,会在此资源所在目录中寻找.htaccess文件,如果有,则使其中的指令生效。AllowOverride 指令决定了.htaccess文件是否有效,它指定了哪些指令可以出现在其中,或者根本不允许使用。为此,需要在主服务器配置中如此配置:
    AllowOverride Options
    在.htaccess文件中,需要如此配置:
    Options +ExecCGI
    以使Apache允许此目录中CGI程序的执行。
    最后可以编写一个cgi程序测试,如:
    #!/usr/bin/perl
    print "Content-type: text/html
    
    ";
    print "Hello, World.";
    参考:http://lamp.linux.gov.cn/Apache/ApacheMenu/howto/cgi.html
    转载请标明文章来源:《https://www.centos.bz/2012/06/configure-apache-run-cgi/》
    

      

  • 相关阅读:
    根据坐标点画图形
    js 解析geojson格式
    devexpress 安装
    DataTable 获取列名
    ADO.NET 注册
    css:outline
    javascript函数sort
    引用类型-2015/10/06
    2015-11-02-js
    jquery
  • 原文地址:https://www.cnblogs.com/L-H-R-X-hehe/p/3955937.html
Copyright © 2020-2023  润新知