通过浏览器或QT访问Apache2服务器的CGI程序

Ubuntu下载APache2
sudo apt install apache2 
测试是否安装成功
方法一:查看/var/www/html目录  方法二:浏览器中输入Ubuntu的IP地址  这是我的IP地址
  安装成功
导入CGI模块,使Apache2支持CGI程序
cd /etc/apache2 进入Apache目录   进入配置cgi文件 

写一个CGI程序进行测试
hello.c
#include<stdio.h>
int main(){
printf("Content-type:text/html;charset:utf-8\r\n");
printf("\r\n");
printf("<h1>hello world</h1>\r\n");
return 0;
}
在上面修改的目录进行编译  浏览器访问CGI程序  出现错误,意思就是这个地址没有在服务器中找到;原因就是我们还没在Apache2中导入CGI的模块
导入CGI模块
cd /etc/apache2/mods-enabled 进入到模块使用目录,发现全是软链接,且没有指向我们cgi系列模块文件 的软链接 
因此,解决方案就是将cgi系列的模块文件拷贝到mod-enabled目录或同样创建一个软链接指向我们的cgi程序
这里就与服务器的内容一致,创建软链接吧 sudo ln -s ../mods-available/cgi.load cgi.load sudo ln -s ../mods-available/cgid.conf cgid.conf sudo ln -s ../mods-available/cgid.load cgid.load  
重启Apache2服务器
sudo apachectl restart  出现错误
修改Apache配置文件 sudo vim apache2.conf
在顶部添加ServerName 127.0.0.1  再次重启 sudo apachectl restart 
再次访问CGI程序
 出现错误,再次修改 修改配置文件 sudo vi 000-default.conf 设置HTML文件在指定目录  修改配置文件sudo vi apache2.conf 
测试
测试网页
  成功
测试CGI程序
 
成功,与源码对应
Apache2服务器的错误日志与访问日志
 使用 sudo cat /dev/null > error.log sudo cat /dev/null > access.log 来清空这两个文件
Apache2服务器停止与启动
这里通过源码下载的方式得到的apache2服务器是自启动的,我又懒得再去设置不自启,所以不想用就直接使用命令关掉 停止:sudo /etc/init.d/apache2 stop 
启动:sudo /etc/init.d/apache2 start 
|