Ubuntu Gnome 17.04 配置Apache+CGI

自己学到Python CGI编程,在进行CGI编程前,确保已经支持CGI及已经配置了CGI的处理程序。

需要在Ubuntu下安装Apache

在Apache的官网下载,现在最新版本为httpd-2.4.26,然后直接点击httpd-2.4.26.tar.gz下载

地址为http://httpd.apache.org/download.cgi

Ubuntu Gnome 17.04 配置Apache+CGI_第1张图片

下载完成后,文件在下载目录下

Ubuntu Gnome 17.04 配置Apache+CGI_第2张图片

直接解压文件,点击右,提取到此处

Ubuntu Gnome 17.04 配置Apache+CGI_第3张图片

提取完成后,会有一个对应的httpd-2.4.26目录,直接右键—在终端打开

Ubuntu Gnome 17.04 配置Apache+CGI_第4张图片


源码的安装一般分为3个步骤:配置(configure)、编译(make)、安装(make install)

配置:sudo ./configure

如果出现配置错误:APR not found

这是因为缺少APR依赖包,解决办法请看《Apache安装错误 APR not found解决方法》,这里就不再做说明了。

Ubuntu Gnome 17.04 配置Apache+CGI_第5张图片

配置成功

Ubuntu Gnome 17.04 配置Apache+CGI_第6张图片

编译:sudo make
Ubuntu Gnome 17.04 配置Apache+CGI_第7张图片

编译成功

Ubuntu Gnome 17.04 配置Apache+CGI_第8张图片

安装:sudo make install

Ubuntu Gnome 17.04 配置Apache+CGI_第9张图片

安装成功!
Ubuntu Gnome 17.04 配置Apache+CGI_第10张图片


安装成功之后,启动Apache,注意要切换到root用户,否则会提示没有权限

启动Apache:/usr/local/apache2/bin/apachectl start

停止Apache:/usr/local/apache2/bin/apachectl stop

重启Apache:/usr/local/apache2/bin/apachectl restart

注意Apache安装的默认位置为/usr/local/apache2


出现错误,意思是缺少libpcre.so.0文件

Ubuntu Gnome 17.04 配置Apache+CGI_第11张图片

百度了一下,需要下载和安装

地址为:https://pclinuxos.pkgs.org/rolling/pclinuxos-x86_64/ia32-libs-2016-1pclos2016.x86_64.rpm.html

找到对应linux版本64的,按照下面的步骤进行下载安装

Ubuntu Gnome 17.04 配置Apache+CGI_第12张图片

第一步下载:rpm http://ftp.nluug.nl/pub/os/Linux/distr/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64

如果提示没有安装rpm,输入:apt install rpm 安装完成后,再下载即可
Ubuntu Gnome 17.04 配置Apache+CGI_第13张图片


第二步更新:apt-get update


更新完成后,第三步安装

输入:apt-get install ia32-libs

Ubuntu Gnome 17.04 配置Apache+CGI_第14张图片

安装完成后,再次启动Apache

这里会提示没有配置“ServerName”服务器名称,我们先忽略掉

Ubuntu Gnome 17.04 配置Apache+CGI_第15张图片

打开浏览器,在输入http://localhost 查看

Ubuntu Gnome 17.04 配置Apache+CGI_第16张图片


完成之后开始CGI的 配置

对httpd.conf配置文件进行修改,路径为/usr/local/apache2/conf/httpd.conf


使用nano编辑httpd.conf

输入:nano /usr/local/apache2/conf/httpd.conf
Ubuntu Gnome 17.04 配置Apache+CGI_第17张图片


启用CGI模块,在140行左右

直接去掉前面的#注释即可

Ubuntu Gnome 17.04 配置Apache+CGI_第18张图片

开启rewrite模式,在149行左右

直接去掉前面的#注释即可

Ubuntu Gnome 17.04 配置Apache+CGI_第19张图片

设置服务器名称,在191行左右

直接添加:ServerName 127.0.0.1

Ubuntu Gnome 17.04 配置Apache+CGI_第20张图片

设置CGI路径的访问权限,在199行左右

原本的内容为


    AllowOverride none
    Require all denied

删掉或注释掉,修改为下面的内容


   AllowOverride All
   Options +ExecCGI
   Order allow,deny
   Allow from all

注意,所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。所以这里修改的目录为“/home/cbc/var/www/cgi-bin/”,这里我写的是全路径,所以前面加/home/用户名/

Ubuntu Gnome 17.04 配置Apache+CGI_第21张图片

设置CGI脚本文件路径,在339行左右

后面的路径修改为“/home/cbc/var/www/cgi-bin/”,跟上一步一样

这里的意思是将"/home/cbc/var/www/cgi-bin/"映射为/cgi-bin/,当通过浏览器访问/cgi-bin/目录时,实际上就是访问"/home/cbc/var/www/cgi-bin/"目录

Ubuntu Gnome 17.04 配置Apache+CGI_第22张图片


AddHandler中添加.py后缀,在403行左右

这样我们就可以访问.py结尾的Python脚本文件

先去掉前面的#注释,再在后面加上.py就行了,注意用空格隔开

Ubuntu Gnome 17.04 配置Apache+CGI_第23张图片


配置完成,保存退出即可

重启Apache:/usr/local/apache2/bin/apachectl restart

注意每次修改httpd.conf后,都要重启Apache才有效


创建CGI脚本文件

在home目录下创建var/www/cgi-bin目录,再创建一个.py文件

Ubuntu Gnome 17.04 配置Apache+CGI_第24张图片


test.py代码为:

Ubuntu Gnome 17.04 配置Apache+CGI_第25张图片

设置文件权限为755

输入:chmod 755 test.py

注意,如果没有加权限的话,访问会报500错误

Ubuntu Gnome 17.04 配置Apache+CGI_第26张图片


浏览器中输入localhost/cgi-bin/test.py或127.0.0.1/cgi-bin/test.py就可以访问
Ubuntu Gnome 17.04 配置Apache+CGI_第27张图片


PS:

如果出现500或其他错误,具体可查看日志

命令为:cat /usr/local/apache2/logs/error_log


PPS:

nano 显示行号

编辑nanorc: nano /etc/nanorc

找到 #set const

把前面的#注释去掉

如果没有找到,就找一行添加set const即可

Ubuntu Gnome 17.04 配置Apache+CGI_第28张图片


完成!






你可能感兴趣的:(Linux,Python)