Ubuntu下的apache2 + fastcgi配置

Just4life發表於2013-07-22
最近一直在研究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

其他的配置檔案也不難推斷出其作用~仔細看一下就行~

相關文章