日期:2014-05-17  浏览次数:20799 次

Ubuntu下的apache2 + fastcgi配置

Ubuntu下的apache2 + fastcgi配置

最近一直在研究unix环境下的编程,而且决定用C写几个fastcgi程序,争取以后能够利用c语言实现通过浏览器来访问嵌入式设备、PDA等小玩意~一定会很有趣

现将在ubuntu中的fastcgi环境配置记录如下:

ubuntu最吸引人的就是其方便的包管理工具apt,通过apt这个强有力的工具,我们可以方便地查找和安装所需的软件包。

在命令行中输入

sudo apt-get install apache2

安装好apache2

然后输入

sudo apt-get install libapache2-mod-fastcgi

apt会自动的下载和安装apache和fastcgi的模块
然后重启下apache或者,在/etc/init.d里有apache的启动脚本,如果想禁止apache的自动启动,可以把/etc/下的 rcX.d 中的apache的符号链接删除 ( X是0 - 6 的数字,分别代表不同的启动级别,具体含义可以查阅参考手册 )

非常简单,但是这还不能算结束

如果打算开发fastcgi程序最好再安装fastcgi的开发组件

sudo apt-get install libfcgi-dev

然后还需要修改配置文件,不然在执行cgi程序的时候会有大麻烦....
403错误 权限不够
研究了很久最终比较好的解决办法是:
修改 /etc/sites-available/default

<Directory /> 和
<Directory /var/www/>块中分别加入

Options +ExecCGI

这样就能获得执行权限了

到此基本上fastcgi平台已经搭建好了。
我们可以编译个程序实验下
把开发套件中的example/echo.c弄出来.....

gcc -I/usr/local/include/fastcgi -c echo.c

gcc -o echo.fcgi echo.o -L/usr/local/lib -lfcgi

需要说明的是,在ubuntu或者debian中,apache的配置文件很“分散”

在/etc/apache2 中有n多个文件,其实这些文件是将原有的httpd.conf按功能拆分了比如
ports.conf里只有一行
listen 80
知道是干什么的了吧~~呵呵

apache2.conf是主配置文件,里面书写了原来大部分httpd.conf的内容,包括服务器的各种参数

模块管理被放置于 /etc/apache2/mods-enable
包括我们可爱的fcgi

其他的配置文件也不难推断出其作用~仔细看一下就行~

基本介绍到这,希望对需要的朋友有所帮助.