python配置cgi_Python+Apache+CGI完全配置

(1).Apache安装

首先要安装APR、APR-Util和PCRE。安装之前,来看下怎么下载它们。先来看下APR与APR-Util的下载,大家可以去http://apr.apache.org进行下载,看下面两张图:

再来看下怎么下载PCRE。大家可以去http://www.pcre.org进行下载,看下面四张图:

将下载的3个压缩包上传到你的Linux系统中去。我上传到了我Linux系统下/mysoft目录中。进入这个目录:cd  /mysoft。我们先解包APR,并查看/mysoft目录下的文件,依次执行命令:

gzip  -d  apr-1.5.2.tar.gz

tar  -xf  apr-1.5.2.tar

ls  -l

可以看到/mysoft目录下多了一个目录apr-1.5.2。

进入apr-1.5.2目录:cd  ./apr-1.5.2/。然后,进行APR的源码安装,依次执行命令:

./configure

make

make install

安装完成后,我们可以在make install过程中看到如下图所示信息,我们可以看到APR的安装路径/usr/local/apr。当然,你也可以使用  --prefix=目录  选项来指定一个安装目录。

接着,我们来解包APR-Util,并查看/mysoft目录下的文件,依次执行命令:

gzip  -d  apr-util-1.5.4.tar.gz

tar  -xf  apr-util-1.5.4.tar

ls  -l

可以看到/mysoft目录下多了一个目录apr-util-1.5.4。

进入apr-util-1.5.4目录:cd  ./apr-util-1.5.4/。然后,进行APR-Util的源码安装,依次执行命令:

./configure  --with-apr=/usr/local/apr

make

make install

在安装APR-Util时,需要指定APR的安装路径,所以需要带上选项--with-apr=/usr/local/apr,如果你不带上这个选项,在configure的时候会看到下图的错误提示。

下面,我们来安装PCRE。首先,解包PCRE,并查看/mysoft目录下的文件,依次执行命令:

gzip  -d  pcre-8.36.tar.gz

tar  -xf  pcre-8.36.tar

ls  -l

可以看到/mysoft目录下多了一个目录pcre-8.36。

进入pcre-8.36目录:cd  ./pcre-8.36/。然后,进行pcre-8.36源码安装,但是,当你在执行./configure时,会看到下图所示提示:

configure: error: You need a C++ compiler for C++ support

不用担心,yum又派上用场了,执行命令:yum  install  -y  gcc  gcc-c++ 。

gcc-c++安装完成后,我们继续我们的pcre-8.36源码安装,依次执行命令:

./configure

make

make  install

至此,准备工作就绪,开始准备安装Apache Server2.4,首先,来看下怎么下载Apache2.4,我们可以去http://httpd.apache.org进行下载,看下图。

解包httpd,并查看/mysoft目录下的文件,依次执行命令:

gzip  -d  httpd-2.4.17.tar.gz

tar  -xf  httpd-2.4.17.tar

ls  -l

可以看到/mysoft目录下多了一个目录httpd-2.4.17。

进入httpd-2.4.17目录:cd  ./httpd-2.4.17/。然后,进行Apache源码安装,依次执行命令:

./configure  --enable-mods-shared=all

make

make  install

Apache默认安装在/usr/local/apache2目录下。同样,这里你也可以使用

--prefix=目录名

来指定一个安装目录,例如:

./configure  --prefix=/usr/mydir  --enable-mods-shared=all

Apache已经安装成功,现在启动httpd服务。执行命令:

/usr/local/apache2/bin/apachectl  -k  start。

大家会发现,httpd服务并没有启动,而是出现了一条如下图所示的错误信息:

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

出现上述错误信息,是因为配置文件httpd.conf中的ServerName没有修改。

我们用Vim打开httpd.conf配置文件,执行命令:

vi  /usr/local/apache2/conf/httpd.conf

设置Vim在执行搜索时不区分大小写,执行命令:

:set ic

搜索"servername"字符串,执行命令:

/servername

找到servername后,按A键进行编辑。将ServerName前的#号去掉,将ServerName后面的字符串改为:localhost:80,如下图所示。

修改完成后,按Esc键由编辑模式切换到命令模式,然后执行保存退出命令:

:wq

在启动httpd之前,我们先为其创建一个软链接(相当于windows下的快捷方式),否则每次重启Apache都要输那么一长串,很费劲。

为httpd创建软链接,并查看一下软链接是否创建成功,依次执行命令:

ln  -s  /usr/local/apache2/bin/apachectl  /mylinks/httpd。

ls  -l  /mylinks

来吧,启动httpd服务,执行命令:/mylinks/httpd  -k  start

在测试Apache是否已经正常工作之前,我们先看下防火墙的状态:

systemctl  status  firewalld

如果处于running运行状态,就把它关掉:

systemctl  stop  firewalld

然后,查看一下防火墙是否已经关掉:

systemctl  status  firewalld

如果处于dead状态,就说明已经关掉了。

如果你希望每次系统启动的时候都不要启动防火墙,可以执行命令:

systemctl  disable  firewalld

同样,如果你希望每次系统启动的时候都启动防火墙,可以执行命令:

systemctl  enable  firewalld

防火墙关闭后,接着来看下你系统的IP地址:ifconfig  -a。可以看到我的IP是192.168.0.104。

打开浏览器,在地址栏中输入:192.168.0.104,回车。可以看到It  works!

(2)、CGI配置

Apache支持CGI配置,下面就来详细说明配置的过程。

找到安装Apache的目录/usr/local/apache2/conf,并对httpd.conf配置文件进行修改,如下面的说明:

(1)加载cgi模块

大概在httpd.conf的137行:

去掉注释:

(2)设置cgi脚本文件路径

大概在httpd.conf的329行:

可以看到apache将"/usr/local/apache2/cgi-bin/"映射为/cgi-bin/,即当你通过浏览器访问/cgi-bin/目录时,实际上就是访问"/usr/local/apache2/cgi-bin/"目录,为了方便,我将其设置为如下:

注意这里路径末尾一定要加/,否则apache是无法打到该路径下的文件的。

(3)设置cgi路径的访问权限

大概在httpd.conf195行:

将上面的内容全部修改为下面的内容:

注意这里的目录是修改为前面我们改的:/home/xpleaf/Source_Code/cgi_for_py/

这样的修改是有原因的,如果没有在这里设置权限,当你在浏览器中访问你的cgi脚本文件时,得到的可能是这样的提示:

Forbidden

You don't have permission to access /cgi-bin/hello.py on this server.

(4)设置apache可解释python的cgi脚本文件

大概在httpd.conf的386行:

去掉注释,将其修改为:

加上.py后,就可以解释python的脚本文件了,如果你需要解释shell的脚本文件,可以添加.pl,其它的类似。

OK,完成上面的4步之后,CGI配置就算完成了。不过在配置完成之后,我们需要重启一下Apache服务:

(3)、添加CGI脚本文件

(1)创建cgi脚本文件

在/home/xpleaf/Source_Code/cgi_for_py/目录下添加下面一个文件,并命名为hello.py:

注意#!/usr/bin/env python一定要加上,否则会出现500错误提示。

(2)设置cgi脚本文件的文件权限为755

此步非常非常重要,如果忘记这步,无论你怎么找配置文件也找不出错误,就算看代码也不会发现有错误,然后通过浏览器访问时会一直显示500错误,所以一定要记得该步操作!

(4)、通过浏览器访问cgi脚本文件

浏览器中输入 服务器地址/cgi-bin/hello.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值