配置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\n\n";
print "Hello, World.";
参考:http://lamp.linux.gov.cn/Apache/ApacheMenu/howto/cgi.html
转载请标明文章来源:《https://www.centos.bz/2012/06/configure-apache-run-cgi/》

  

时间: 2024-11-08 22:19:57

配置apache运行cgi程序的相关文章

Apache服务器中运行CGI程序的方法,文中以Perl脚本作为示例

关于apache与CGI在这里就不解释了. 1.apache下面以2.0.63为例介绍运行CGI程序的配置.(http://www.nklsyy.com) 2.下载Windows下的Perl解释器ActivePerl,最新版本ActivePerl- 5.10.0.1003,假设安装路径为c:\Perl. 3.修改apache的配置文件httpd.conf: <Directory "D:/Apache Group/Apache2/cgi-bin"> AllowOverride

在apache中运行 cgi程序

cgi 就是网站中各种后台的程序,该程序可以通过网页运行,cgi可以通过C编写,也可以通过shell,python编写 如何在apache中运行各种cgi程序,例如shell perl等程序 1.在apache的主配置文件httpd.conf 中添加 Scriptalias /cgi  "/usr/local/httpd/cgi-bin/" 然后重启 httpd service httpd restart 2.准备一个cgi程序: vi /usr/local/httpd/cgi-bin

在windows下配置apache以cgi方式支持python

Apache配置 在httpd.conf中查找DocumentRoot: 允许目录可以执行cgi: DocumentRoot  "D:\WWW" <Directory />     Options Indexes FollowSymLinks MultiViews ExecCGI     AllowOverride All     Order allow,deny     Allow from all     Require all granted </Directo

EditPlus配置编译运行Java程序

打开EditPlus,在菜单栏中依次点击Tools和Configure User Tools...,如下图所示: 修改组名 编译Java程序 点击OK即可: 运行Java程序 过程与第三步类似,但配置如下: 至此,EditPlus就算是配置完成了,在Tools中出现如下图标: public class HelloWorld{    public static void main(String[] args)    {        System.out.println("Hello World&

mahout的安装、配置及运行java程序

一.下载安装包: http://mahout.apache.org/general/downloads.html 二.解压: 将下载的安装包解压到需要的目录下 三.配置环境变量: export MAHOUT_HOME=/Users/iris/Downloads/apache-mahout-distribution-0.10.1 export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/b

ubuntu配置apache和cgi

1.  更新源并进行安装,否则后面的下载可能会不成功. sudo apt-get update sudo apt-get upgrade 2.  安装apache2服务 sudo apg-get install apache2 Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里. 3.服务重启 sudo /etc/init.d/apache2 restart sudo vim /etc/apache2/http

配置apache以支持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

使用cgic库搭配ctemplate编写cgi程序

这两天在写开发板上的cgi程序,使用的是C语言编写的我们知道用C语言来写cgi程序是件非常痛苦的事情,我们常常要把html代码写到c语言中进行输出,而且要写一些方法从环境变量中获取post或者get的值.然而我们使用cgic和ctemplate的话帮我们简化了不少的操作,并能把html和C语言分离开来.下面我们来看看怎么使用cgic和ctemplate来优雅的写个cgi程序,因为开发板在公司了,我这里就用pc的Wamp做cgi的服务器了. 配置apache支持cgi. 首先我们先配置apache

[译]C++ WEB编程:写出你的CGI程序

一.什么是CGI      CGI(The Common Gateway Interface):通用网关接口,定义web服务器和客户脚本进行信息交互的一系列标准. 二.WEB浏览器       为了了解CGI的概念,让我们来看看当我们单击一个超链接来浏览一个特定的web页或URL的时候,背后会发生什么事?       (1)浏览器首先会链接HTTP web 服务器并且请求一个URL 页面:       (2) WEB服务器将会解析这个URL并且查询请求的文件名,如果找到了请求文件服务器就会将这个