[转帖]在ubuntu下配置apache运行cgi-python脚本

软件和网站开发以及相关技术探讨
回复
cgwh
帖子: 18
注册时间: 2005-12-10 20:27

[转帖]在ubuntu下配置apache运行cgi-python脚本

#1

帖子 cgwh » 2008-08-29 23:39

常用的简单命令
sudo apt-get remove --purge apache apache2 (彻底删除)

sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 stop

sudo makedir /home/htdocs
sudo chmod 777 /home/htdocs 生成网站目录,并修改权限

ubuntu下apache的配置文件一般放在/etc/apache2/这个目录下,与windows不同的是在这里配置文件被分成几部分,主要有apache2.conf, httpd.conf, sites-available/default几个
----------------------------------------------------------
主配置文件 apache2.conf,基本不用修改,
在该文件中我们可以看到有这么一行内容: Include /etc/apache2/sites-enabled/[^.#]*
这行的意思表明该文件包含了 /etc/apache2/sites-enabled/ 目录中文件名不含 "." 或 "#" 这两个字符的所有文件。而当我们列出该目录的文件时,发现只有一个 000-default 的软链接文件,实际连接的是 /etc/apache2/sites-available 目录中的 default 文件,不难看出该文件的文件名中并不包含 "." 或 "#"。所以这个文件当然是要被配置文件 apache2.conf 所包含的了。打开该文件,发现它其实是一个虚拟主机的配置文件,不过由于该文件中的虚拟主机为 *,所以它实际上是一个通用配置文件。

sites-available/default:
* NameVirtualHost *:表示我们要做的是一个基于名称的虚拟主机
* <VirtualHost *> 和 </VirtualHost>:表示在其中的是一个虚拟主机的配置
* ServerName :设置虚拟主机的域名
* ServerAdmin webmaster@gmail.com:设置该虚拟主机网管员的邮件
* DocumentRoot /var/www/:设置该虚拟主机的主目录路径
* ErrorLog /var/log/apache2/error.log:设置该虚拟主机的出错信息
* CustomLog /var/log/apache2/access.log combined:设置该虚拟主机的访问信息

httpd.conf 用户的配置
添加

代码: 全选

DirectoryIndex index.html index.html.var index.htm
AddType text/html .htm .html .py 
AddHandler cgi-script .cgi .py
测试配置成功与否

保存一个如下内容的文件,比如命名为 helloworld.py 文件到定义的cgi文件夹中。

代码:

代码: 全选

#!/usr/bin/python
print "Content-type: text/html\n\n"
print "Hello, World."
然后赋予可执行权限

代码:

代码: 全选

sudo chmod a+x helloworld.py

最后重启一下apache2

代码:

代码: 全选

sudo /etc/init.d/apache2 restart

在浏览器地址栏里输入:http://localhost/cgi-bin/helloworld.py
,看到了Hello,World. 至此我们大功告成。
回复