Ubuntu配置Apache CGI程序
首先apt-get一个最新的Apache2.4,从说明文档中可以看到,ubuntu提供的Apache配置目录和普通的版本是不同的,他们提供了一种更加强调模块灵活性的配置方法,整个目录看上去非常清晰~
开启CGI你需要做的事情是两步:
- 进入/etc/apache2/conf-enabled/, 编辑serve-cgi-bin.conf,修改配置:
<Directory "/var/www/***"> #星号处改成你存放CGI程序的目录
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
AddHandler cgi-script .py
</Directoty>
进入/etc/apache2/mods-enabled/, 添加cgi模块,ln -s ../mods-available/cgi.load cgi.load
大功告成!
下面你要做的就是编写你自己的CGI文件了,比如我有一个hello.py
#!/usr/bin/env python3
#coding:utf-8
print('Content-type: text/plain;charset = utf-8') #显示中文 charset = utf-8
print()<span style="white-space:pre"> </span>#这里记得换一行,不然会报错
print('Hello,world!')
python3是我的系统中python3.4的别名,当然其他的都可以,3.0版本以下的记得print是没有括号的哦~
然后再网页链接到http://127.0.0.1/cgi-bin/hello.cgi,就会显示
CGI Script Output
This page was generated by a Python CGI script.
注:如果网址输入的是http://127.0.0.1/cgi-bin/,那么是无法访问的,因为cgi必须制定对应的文件,否则会显示permission 的错误