1. 环境系统: centos7 虚拟机环境准备 安装软件环境httpd
2.安装httpd:
安装:yum install -y httpd 测试安装是否成功 httpd -v 如看到下图,则表示httpd安装成功
3. 修改cgi-bin文件夹:默认在/var/www 目录下有两个同级文件夹 html 和 cgi-bin,将cgi-bin 目录通过命令移动到 html 目录下
4. 修改配置:
执行命令:vi /etc/httpd/conf/httpd.conf
默认的启动端口为80端口,因为我机器的80端口nginx已经再用了,所以改成8250端口
修改后保存。
重启httpd: systemctl restart httpd
重启后浏览器访问地址: http://192.168.1.250:8250/ 如看到页面,证明启动运行正常
重启后如果出现报错: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:8250 (SELinux限制了Apache的端口设置)
解决办法: 使用semanage添加apache侦听的端口
//安装semanage
yum provides /usr/sbin/semanage
yum -y install policycoreutils-python
//查看默认允许的端口
semanage port -l | grep -w http_port_t
// http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
//使用semanage添加apache侦听的端口
semanage port -a -t http_port_t -p tcp 8250
//再次重新启动apache
systemctl start httpd
5. 测试CGI环境
在 /var/www/html/cgi-bin 目录下创建test.c文件,文件内容为:
创建成功后,依次执行命令:gcc -g -Wall -c test.c
, gcc -o test.cgi test.o
,如果编译失败,则切换到root用户下执行。
浏览器输入地址:http://localhost/cgi-bin/test.cgi (localhost也可换成服务器的IP)如果看到如下内容,表明CGI环境配置成功。
6. 使用Python创建第一个CGI程序,文件名为hello.py,文件位于/var/www/html/cgi-bin目录中