CGI(Common Gateway Interface,通用網關接口)是網絡服務器能夠將查詢傳遞到專門的程序中而且在網頁上顯示結果的標準機制。Apache等服務器默認是支持CGI的,只須要修改一下配置文件,有時甚至不須要修改,只須要查看下配置文件中CGI程序被放置在何處,而後只須要在對應的CGI目錄中放入你要執行的CGI程序就能夠啦。apache
默認的狀況下,也就說你的機器的80端口沒有被佔用的狀況下,其實你須要修改的東西特別少,甚至幾乎是不須要動Apache的配置文件的。這樣分兩種狀況來講明配置是如何進行的:瀏覽器
cd /etc/apache2
進入到Apache的配置文件夾下,會看到site-available目錄,這下面存放的是關於本機上配置的虛擬主機的配置信息,之前貌似不少信息都是配置在httpd文件裏面的,可是如今好像主要是將這些配置信息配置到site-available目錄下的文件裏,打開下面的default文件,會看到ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory>
相似下面的配置,配置所示,你的CGI程序應該放到/usr/lib/cgi-bin目錄下,固然,不一樣的機器安裝apache的目錄可能不同,這裏也就未必都是相同的,根據本身的機器的具體狀況而定。這個信息若是有的話,其實,整個Apache支持CGI的配置就完成啦。服務器
/etc/apache2/ports.conf
文件中,將裏面的80修改成其餘的你的主機未被佔用的端口便可。而後須要修改下/etc/apache2/sites-available
下面的default文件中的端口號,這樣修改完成後,作和上面的1相同的操做便可。重啓一下Apache,使得配置生效。可使用service apache2 restart
或者/etc/init.d/apache2 restart
來從新啓動Apache服務器。網絡
以後只須要在你的cgi-bin目錄下添加可執行的腳本文就能夠啦,固然用C語言寫的可執行文件也是能夠的,好比你能夠用一下cgic來試驗一下。ide
當寫完本身的cgi程序後,打開一個瀏覽器訪問 http://你的服務器地址:端口號/cgi-bin/你的cgi程序 就能夠啦,若是出錯,能夠查看下錯誤日誌,錯誤日誌的存放地點能夠到/etc/apache2/envvars
中查看。通常主要是兩個錯誤:1.權限問題 2.你的代碼確實有問題。rest
基本確保了這兩個問題不存在啦,就能夠順利的執行你的CGI程序啦!日誌