我无法设置cgi服务器,但可以访问/var/www/html/index.html等常规页面。我是设置Web服务器和使用系统设置的新手,所以可能是我缺少一些基本的东西。 我正在关注apache's tutorial和this教程。我认为问题是因为LoadModule cgi_module modules / mod_cgi.so。但我不确定。 我正在编写我所做的配置更改。
在文件/etc/apache2/apache.conf中,我添加了以下行:
Include /etc/apache2/httpd.conf
然后这就是/etc/apache2/httpd.conf的样子:
<Directory /var/www/html/cgi>
Options ExecCGI
SetHandler cgi-script
</Directory>
<Directory /var/www/html>
Options +ExecCGI
AddHandler cgi-script .cgi .py
</Directory>
#LoadModule cgi_module modules/mod_cgi.so
然后我执行:
sudo a2enmod cgi
如果我使用httpd.conf(LoadModule ..)的最后一行取消注释,我会收到以下错误:
apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 12 of /etc/apache2/httpd.conf: Cannot load modules/mod_cgi.so into server: /etc/apache2/modules/mod_cgi.so: cannot open shared object file: No such file or directory
Your MPM seems to be threaded. Selecting cgid instead of cgi.
Module cgid already enabled
我看了this回答。我确实查看了启用了mods的目录,但在那里找不到cgi.load,尽管那里有cgid.load。
在httpd.conf中的LoadModule行注释时,我在执行sudo a2enmod cgi时得到以下消息:
Your MPM seems to be threaded. Selecting cgid instead of cgi.
Module cgid already enabled
但是,在我尝试从浏览器打开test.py文件的两种情况下,我都会
500 Internal Server Error
我不认为test.py有问题。但它只有这一行:
print "Hello World"
任何帮助都将不胜感激。