CGI环境配置(Ubuntu)

1. 更新apt

执行命令:sudo apt-get update

2. 安装Apache2

执行命令:sudo apt install apache2

3. 修改Apache2配置

执行命令:sudo vim /etc/apache2/sites-enabled/000-default.conf,将标注行取消注释,并更新保存

执行命令:sudo vim /etc/apache2/conf-available/serve-cgi-bin.conf,将蓝色标注处的代码修改成下述这样,即将 /usr/lib/cgi-bin/ 替换成 /var/www/html/cgi-bin/ ,插入红色标注行代码 AddHandler cgi-script cgi ,并更新保存

执行命令:sudo vim /etc/apache2/mods-available/cgid.load,插入红色标注代码 AddHandler cgi-script .cgi .pl .py .sh ,并更新保存

执行命令: sudo ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/cgid.load

4. 重启Apache2

执行命令:sudo /etc/init.d/apache2 restart

5. 新建cgi-bin文件夹

执行命令:sudo mkdir /var/www/html/cgi-bin/

6. 创建CGI测试程序

(1). 进入cgi-bin目录:cd /var/www/html/cgi-bin/

(2). 新建一个文件 helloworld.c , 并输入下述内容


#include 
int main()
{
   printf("Content-Type: text/html\n\n");
   printf("Hello World!\n");
   return 0;
}

更新保存

(3). 编译源文件,执行命令:sudo gcc /var/www/html/cgi-bin/helloworld.c -o /var/www/html/cgi-bin/helloworld.cgi

(4). 修改文件权限,执行命令:sudo chmod 755 /var/www/html/cgi-bin/helloworld.cgi

7. 测试

浏览器输入网址:http://localhost/cgi-bin/helloworld.cgi ,(localhost可替换成服务器的IP) 在页面可以看到如下内容,表明CGI环境配置成功

注:如果通过非root用户启动apache2, 执行 /var/www/html/cgi-bin 目录下的sh文件失败,则修改 envvars 文件,执行命令:sudo vim /etc/apache2/envvars, 将原标记处 www-data 修改为当前执行的用户及其对应的用户组,保存后,执行命令:/etc/init.d/apache2 restart , 重启apache2。重启成功后,再去浏览器输入地址访问即可。

posted @ 2021-01-14 10:37  paopaolx  阅读(684)  评论(0编辑  收藏  举报