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。重启成功后,再去浏览器输入地址访问即可。