Apache 如何从web服务器调用本地shell脚本?

Apache 如何从web服务器调用本地shell脚本?,apache,shell,ubuntu,nginx,webserver,Apache,Shell,Ubuntu,Nginx,Webserver,我正在运行Ubuntu11,我想设置一个简单的Web服务器,通过调用带有GET或POST参数的本地脚本来响应http请求。这个脚本(已经编写)做了一些工作并创建了一个文件。这个文件应该在URL上可用,然后Web服务器应该向另一个服务器发出http请求,告诉它下载创建的文件 我该怎么设置这个呢?我对linux不是一个完全的初学者,但我也不会说我很了解它 我应该使用什么Web服务器?如何授予脚本访问本地资源以创建相关文件的权限?我不太关心安全性或任何事情,这是一个个人实验(我可以控制所有涉及的计算机

我正在运行Ubuntu11,我想设置一个简单的Web服务器,通过调用带有GET或POST参数的本地脚本来响应http请求。这个脚本(已经编写)做了一些工作并创建了一个文件。这个文件应该在URL上可用,然后Web服务器应该向另一个服务器发出http请求,告诉它下载创建的文件

我该怎么设置这个呢?我对linux不是一个完全的初学者,但我也不会说我很了解它

我应该使用什么Web服务器?如何授予脚本访问本地资源以创建相关文件的权限?我不太关心安全性或任何事情,这是一个个人实验(我可以控制所有涉及的计算机)。我以前使用过apache,但从未设置过

如果您有任何帮助,我们将不胜感激。

,但这有点简短

我已经安装了apache。如果您没有:
sudo apt get install apache2

cd /usr/lib/cgi-bin

# Make a file and let everyone execute it
sudo touch test.sh && chmod a+x test.sh 
然后将一些代码放入文件中。例如:

#!/bin/bash
# get today's date
OUTPUT="$(date)"
# You must add following two lines before
# outputting data to the web browser from shell
# script
 echo "Content-type: text/html"
 echo ""
 echo "<html><head><title>Demo</title></head><body>"
 echo "Today is $OUTPUT <br>"
 echo "Current directory is $(pwd) <br>"
 echo "Shell Script name is $0"
 echo "</body></html>"
#/bin/bash
#得到今天的日期
OUTPUT=“$(日期)”
#之前必须添加以下两行
#从shell向web浏览器输出数据
#剧本
echo“内容类型:文本/html”
回声“”
回声“演示”
echo“今天是$OUTPUT
” echo“当前目录为$(pwd)
” echo“Shell脚本名称为$0” 回声“”
最后打开浏览器并键入

如果一切顺利(对我来说也是如此),你应该看到

今天是12月4日星期日…
当前目录是/usr/lib/cgi-bin-Shell
Shell脚本名为/usr/lib/cgi-bin/test.sh


我们还必须启用
mod_cg
i
a2enmod cgi
如果我的系统尚未启用,我使用以下命令来激活mod_cgi:
sudo a2enmod cgi
sudo service apache2 restart
@tonoam我建议询问另一个问题并链接到此问题。我不知道答案。@Daniel我建议单独问这个问题question@AlexanderMills这可能是因为您没有与apache对话,或者是因为配置不同。这是7年多以前的事了,所以我不确定cgi bin是否已经默认启用了