Ubuntu Gnome 17.04 配置Apache+CGI

来源:互联网 发布:网吧知乎 编辑:程序博客网 时间:2024/06/05 16:41

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

需要在Ubuntu下安装Apache

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

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


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

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

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


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

配置:sudo ./configure

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

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

配置成功

编译:sudo make

编译成功


安装:sudo make install

安装成功!


安装成功之后,启动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文件

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

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

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

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

如果提示没有安装rpm,输入:apt install rpm 安装完成后,再下载即可


第二步更新:apt-get update


更新完成后,第三步安装

输入:apt-get install ia32-libs

安装完成后,再次启动Apache

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

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


完成之后开始CGI的 配置

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


使用nano编辑httpd.conf

输入:nano /usr/local/apache2/conf/httpd.conf


启用CGI模块,在140行左右

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

开启rewrite模式,在149行左右

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

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

直接添加:ServerName 127.0.0.1

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

原本的内容为

<Directory />    AllowOverride none    Require all denied</Directory>

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

<Directory "/home/cbc/var/www/cgi-bin/">   AllowOverride All   Options +ExecCGI   Order allow,deny   Allow from all</Directory>

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

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

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

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


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

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

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


配置完成,保存退出即可

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

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


创建CGI脚本文件

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


test.py代码为:

设置文件权限为755

输入:chmod 755 test.py

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


浏览器中输入localhost/cgi-bin/test.py或127.0.0.1/cgi-bin/test.py就可以访问


PS:

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

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


PPS:

nano 显示行号

编辑nanorc: nano /etc/nanorc

找到 #set const

把前面的#注释去掉

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




完成!






原创粉丝点击