apache脚本别名cgi-bin目录

q5iwbnjs  于 2022-11-16  发布在  Apache
关注(0)|答案(2)|浏览(147)

这已经是我的一个问题好几天了,我还没能解决它。
我正在使用Apache/2.2.17(Unix)开发fedora 14
文档根是/var/www,它在我的httpd.conf中配置良好
我在/var/www中有几个文件夹,其中包含需要运行CGI的perl文件,有时perl文件作为下载提供,有时出现错误500
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请以root@localhost的方式与服务器管理员联系,并将错误发生的时间以及您所执行的任何可能导致该错误的操作告知他们。
有关此错误的详细信息,请参阅服务器错误日志。
cgi_module正在加载,即使我使用ScriptAlias和目录标记,文件仍然没有运行脚本。
我甚至试着创建一个虚拟主机,但它不起作用。
例如,如果我想要一个名为“pyl”的目录位于apache根目录(/var/www)中,那么httpd.conf的行是什么?

wfauudbj

wfauudbj1#

确实,检查错误日志(/var/log/apache2/error.log?),检查您的文件和目录权限。
此外,请确保正确更新了ScriptAlias指令。
因此,请查看您的站点配置文件(即sites-available/default)并更改此内容:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">

..到这个:

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">

..并重新加载apache2。

yrdbyhpb

yrdbyhpb2#

此解决方案适用于Apache2.4.51版本或其他版本。目录结构可能随版本而变化。
1.更改下面的默认CGI配置文件:

nano /etc/apache2/conf-available/serve-cgi-bin.conf

变更:

ScriptAlias /cgi/ /home/user/your-folder
             <Directory "/home/user/your-folder">

1.将*.cgi*.py*.sh等文件移动到您的文件夹中
1.将chmod 755应用于您的文件夹:

chmod 755 /your-folder

1.重新启动apache2:

systemctl restart apache2

可以运行的pyhton示例代码:

nano /home/user/your-folder/pythonapp.py

编码:

#!/usr/bin/python3
print("Content-type:text/html")
print()
print("""
        <!doctype html>
        <html><head></head><title>CGI-Python</title>
        <body> Python App </body>
        </html>
        """)

保存并运行您的URL:

server-ip-or-host/cgi/pythonapp.py

相关问题