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
其他的配置文件也不难推断出其作用~仔细看一下就行~
基本介绍到这,希望对需要的朋友有所帮助.