如何在Apache中配置CGI脚本

时间:2019-05-19 01:25:44  来源:igfitidea点击:

CGI是通用网关接口的缩写,用于通过从服务器到客户端传输数据来创建网页上的动态内容。
CGI脚本可以用任何脚本语言编写,如Bash、java、C、Perl、Python等。
这可以很容易地执行由网络服务器。
本文将在Apache VirtualHost中将自己的脚本配置为CGI脚本。
例如,我们将使用一些测试CGI脚本。
遵循以下步骤。

步骤1 -创建CGI脚本

用任何脚本语言创建任何测试脚本。
对于这个示例,我创建了两个脚本,一个使用bash脚本,另一个使用Perl脚本。

Bash脚本:[/usr/local/cgi-bin/mybash.cgi]

#!/bin/bash

echo -e "Content-type: text/html\n\n"
echo "Welcome! to First CGI Script"

Perl脚本:[/usr/local/cgi-bin/myperl.cgi ]

#!/usr/bin/perl

print "Content-type: text/html\n";
print "Welcome! to First CGI Script";

现在把两个脚本放在脚本目录下,可以在系统的任何地方创建脚本。
确保它可以被Apache访问。
对于本例,我们在 /usr/local/cgi-bin/目录下创建了这两个脚本。

步骤2 -配置Apache虚拟主机

现在编辑Apache配置文件,转到VirtualHost定义。
在VirtualHost配置中添加以下行。

<VirtualHost *:80>
     ServerName www.example.com
     DocumentRoot /var/www/html

     ScriptAlias /cgi-bin/ "/usr/local/cgi-bin/"
     <Directory "/usr/local/cgi-bin/">
         Require all granted
         Options +ExecCGI
         AddHandler cgi-script .cgi
     </Directory>
</VirtualHost>

保存配置文件并重新启动Apache服务。

步骤3 -验证CGI脚本

现在在我们最喜欢的web浏览器中打开如下url来测试CGI脚本。

http://localhost/cgi-bin/myperl.cgi
http://localhost/cgi-bin/mybash.cgi