配置apache以支持cgi进程的运行

配置apache运行cgi程序可分为两种情况,一是ScriptAlias目录的CGI,二是ScriptAlias以外目录的CGI。

ScriptAlias目录的CGI

ScriptAlias指令使Apache允许执行一个特定目录中的CGI程序。当客户端请求此特定目录中的资源时,Apache假定其中文件都是CGI程序并试图运行。

ScriptAlias指令形如:

  1. ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/

ScriptAlias目录以外的CGI

由于安全原因,CGI程序通常被限制在ScriptAlias指定的目录中,如此,管理员就可以严格地控制谁可以使用CGI程序。但是,如果采取了恰当的安全方法措施,则没有理由不允许其他目录中的CGI程序运行。比如,你可能希望用户在UserDir指定的宿主目录中存放页面,而他们有自己的CGI程序,但无权存取cgi-bin目录,这样,就产生了运行其他目录中CGI程序的需求。

1、用Options显式地允许CGI的执行

可以在主服务器配置文件中,使用Options指令显式地允许特定目录中CGI的执行:

  1. <Directory /usr/local/apache/htdocs/somedir>
  2. Options +ExecCGI
  3. </Directory>

上述指令使Apache允许CGI文件的执行。另外,还必须告诉服务器哪些文件是CGI文件。下面的AddHandler指令告诉服务器所有带有cgi或pl后缀的文件是CGI程序:

  1. AddHandler cgi-script cgi pl

2、.htaccess文件

.htaccess文件是针对目录进行配置的一种方法。Apache在提供一个资源时,会在此资源所在目录中寻找.htaccess文件,如果有,则使其中的指令生效。AllowOverride 指令决定了.htaccess文件是否有效,它指定了哪些指令可以出现在其中,或者根本不允许使用。为此,需要在主服务器配置中如此配置:

  1. AllowOverride Options

在.htaccess文件中,需要如此配置:

  1. Options +ExecCGI

以使Apache允许此目录中CGI程序的执行。

最后可以编写一个cgi程序测试,如:

  1. #!/usr/bin/perl
  2. print "Content-type: text/html\n\n";
  3. print "Hello, World.";
时间: 2024-10-11 03:39:57

配置apache以支持cgi进程的运行的相关文章

Centos Apache和tomcat集成配置,同时支持PHP和JAVA运行

最近由于项目的需要,需要再原来运行Tomcat服务器上支持PHP运行.很显然,PHP运行使用的是Apache服务器.虽然Tomcat也属于Apache,但是并没有现有的环境,需要我们自己手动配置.顺便说一下,我们使用的服务器环境是Centos6.4 . 我也是第一次搭建这个环境,没有经验,身边的同事也都没有整合过.所以最好的方法肯定是找度娘了. 但是,我发现网上的东西那叫一个又杂又乱,我保证你看了十篇文章,你也无法搭建成功.主要原因是转载的文章太多,而转载者也并非都是作者或者是专家.所以,文章要

[转]配置Apache服务器支持https协议和SSL证书

建立网站时,特别是支付网站和电子商务网站,为了让客户信赖网站,让他们不把我们当做骗子,网站一般会安装SSL,我们访问网站时都是以https开头的,而不是以http开头的.下面是在windows环境下配置Apache服务器支持https协议和SSL证书. 1.配置Apache服务器支持openssl 配置Apache服务器支持https协议和SSL证书,最基本的要求是Apache包含openssl模块.在Windows下面单独安装openssl比较麻烦,最好还是安装那种绑定openssl的apac

Windows下Apache配置SSL以支持https及出错的解决办法

步骤一:安装apache,使其支持SSL,并安装php 1.安装配有SSL模块的apache,apache_2.2.8-win32-x86-openssl-0.9.8g 2.配置apache以支持SSL: 1)打开apache的配置文件conf/httpd.conf LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf 去掉两行前面的# 2)注意修改httpd-ssl.conf 文件里的两个字段: S

Apache指南:CGI动态页面

概要 相关模块 相关指令 mod_alias mod_cgi AddHandler Options ScriptAlias CGI(公共网关接口[Common Gateway Interface])定义了网站服务器与外部内容协商程序之间交互的方法,通常是指CGI程序或者CGI脚本,是在网站上实现动态页面的最简单而常用的方法.本文将对如何在Apache网站服务器上建立CGI以及如何编写CGI程序作介绍. 配置Apache以允许CGI 要让CGI程序能正常运作,必须配置Apache以允许CGI的执行

解决apache上访问 cgi脚本时总是在网页中显示出脚本的源代码而不是执行结果的问题

apache是支持cgi脚本的,但是需要保证四个条件: 1.放置cgi脚本的文件夹本身需要对apache服务器这个用户(一般默认用户名是www,linux下的用户机制请自行百度)开放x(即可执行)权限. 2.这个脚本本身必须对apache服务器这个用户开放x权限 3.脚本的首行附有如何使用什么解释器执行该脚本代码的信息 如python脚本首行 #!/usr/bin/env python 4.apache需加载了mod_cgi.so这一动态链接库 最后这个问题不是经常遇到但由于容易被忽略所以常常是

Win7 配置Apache+PHP+Mysql环境

这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境,暂且不使用PHP环境搭建软件了,在此详细图解在Windows 7下安装配置PHP+Apache+Mysql环境的教程,希望对PHP初学者有所帮助. 在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包. PHP版本:php-5.3.2-Win32-VC6-x86,VC9是专门为IIS定制的,VC6 是为了其他W

配置apache运行cgi程序

配置apache运行cgi程序 文章目录 [隐藏] ScriptAlias目录的CGI ScriptAlias目录以外的CGI 配置apache运行cgi程序可分为两种情况,一是ScriptAlias目录的CGI,二是ScriptAlias以外目录的CGI. ScriptAlias目录的CGI ScriptAlias指令使Apache允许执行一个特定目录中的CGI程序.当客户端请求此特定目录中的资源时,Apache假定其中文件都是CGI程序并试图运行. ScriptAlias指令形如: Scri

配置apache以fastcgi运行php

配置apache以fastcgi运行php 文章目录 [隐藏] 安装apache 安装fastcgi 安装php5.2 配置apache支持php apache默认是用自带的mod_php模块运行php,现在我们介绍使用fastcgi来执行php脚本.先说下fastcgi的优点:Fastcgi的优点: 从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分 配新的进程来运行逻辑. · 从安全性上看,Fastcgi支持分布式运算. fastc

安装配置Apache支持https和fcgi

Apache安装及配置 1.1 下载软件 1.Apr :(wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.1.tar.gz) 2.Apr-util :(wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz) 3.Pcre :(wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.t