linux – 使用ApacheHttpd在CentOS 7上运行Perl CGI脚本

linux – 使用ApacheHttpd在CentOS 7上运行Perl CGI脚本,第1张

概述我的CGI Perl脚本CentOS 7运行不正常,它们显示为纯文本或我收到服务器错误. 我一直把我的脚本放到默认的/ var / www / cgi-bin目录中,没有运气. 我试图将CGI脚本放在/ var / www / html / another-dir中,但它们只是以纯文本形式出现. 这是如何在CentOS 7上正确执行CGI Perl脚本. 我要离开这里,因为看起来互联网上的很多资源 我的CGI Perl脚本CentOS 7运行不正常,它们显示为纯文本或我收到服务器错误.

我一直把我的脚本放到默认的/ var / www / cgi-bin目录中,没有运气.

我试图将CGI脚本放在/ var / www / HTML / another-dir中,但它们只是以纯文本形式出现.

解决方法 这是如何在CentOS 7上正确执行CGI Perl脚本.

我要离开这里,因为看起来互联网上的很多资源都没有结合这些步骤,让像我这样的人非常困惑.

总之,这是需要做的.

>安装软件.
>创建测试CGI文件.
>确保已加载CGI模块.在httpd.conf里面.
>更改httpd.conf中的目录设置.
>更改权限以允许CGI执行.

安装和配置软件

sudo yum updatesudo yum install httpdsudo yum install perl perl-CGIsudo systemctl start httpd.servicesudo systemctl enable httpd.service

创建测试CGI文件

即使完全遵循这些步骤,我也从来没有在/ var / www / cgi-bin中加载CGI脚本而无需修改httpd.conf中的Web根目录.相反,我决定只在另一个目录中激活CGI.

在我的服务器上,我希望web root HTML保存我的CGI文件.这是/var/www/HTML/hello.cgi

#!/usr/bin/perlprint "Content-type: text/HTML\n\n"; # This is mandatory.print "<h2>Hello World!</h2>";

确保已加载CGI模块.在httpd.conf里面

您可以通过命令轻松检查.

grep -n "LoadModule" /etc/httpd/conf/httpd.conf

我可以看到没有指定CGI模块,我通过以下方式确认它们存在于modules文件夹中:

find /etc/httpd/modules/ -iname "*cgi*"

这是我追求的那个:

/etc/httpd/modules/mod_cgi.so

让我们将它添加到/etc/httpd/conf/httpd.conf文件中:

LoadModule cgi_module modules/mod_cgi.so

我相信你需要加载module in a different way in Ubuntu,记住这一点.

更改httpd.conf中的目录设置

在重新启动httpd之前,我们必须在/etc/httpd/conf/httpd.conf中更改一件事:

<Directory "var/www/HTML">    Options +ExecCGI    AddHandler cgi-script .cgi .pl</Directory>

根据许多Google搜索,您可能还必须修改httpd.conf文件的这一部分,使其指向上面“var / www / HTML”所在的目录:

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

我没有修改我的,它似乎没有什么区别.

更改权限以允许CGI执行

这个让我陷入了困境!别忽略这个!

您需要告诉您的服务器允许这些CGI脚本作为程序执行.

chmod 705 *.cgi

或者您可以定位单个CGI脚本.

chmod 705 hello.cgi

(有些人在internet上说chmod 755和777也可能有效.)

现在重启httpd如下:

sudo systemctl restart httpd.service

此时,我的CGI脚本正确地呈现为HTML.

它们是从Web根目录提供的,如下所示:http://< IP> /hello.cgi

请随意添加可能有助于他人的更多信息.

总结

以上是内存溢出为你收集整理的linux – 使用Apache / Httpd在CentOS 7上运行Perl CGI脚本全部内容,希望文章能够帮你解决linux – 使用Apache / Httpd在CentOS 7上运行Perl CGI脚本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1040367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存