在Windows下本身下載應用過Apache,在Linux下也用到了服務器,就選擇了Apache。Apache的安裝在Ubuntu下異常簡單。html
1. 上網下載自動包安裝web
sudo apt-get install apache2
2. 訪問網址嘗試安裝是否成功apache
www.127.0.0.1 or http://localhost
成功的話將會出現Apache的歡迎頁面vim
3. 啓動Apache瀏覽器
/etc/init.d/apache2 start
4. 重啓Apache服務器
/etc/init.d/apache2 restart
5. 中止Apacheide
/etc/init.d/apache2 stop
好了,服務器搭好了接下來就能夠跑程序了~測試
6. Web文檔的根目錄ui
在/etc/apache2/sites-available/000-default.conf有說明spa
ServerAdmin webmaster@localhost DocumentRoot /var/www/html
/var/www
7. 配置CGI
在Web文檔的根目錄下新建cgi-bin目錄,即/var/www/cgi-bin/。cgi代碼均放置於該目錄下。
固然該目錄也能夠本身定義,不得不說的是,CGI的配置參考了不少資料確實坑道了本身,因爲如今Ubuntu的版本和Apache的版本,變化是有點的。
apache2.conf conf-enabled magic mods-enabled sites-available
conf-available envvars mods-available ports.conf sites-enabled
這是/etc/apache2目錄下的全部文件和文件夾。其中較爲關注的主要有available和enabled,其中咱們配置的CGI並無被包含在enabled內,並且enabled中的
文件均爲avaliable中的連接。
1 ls -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load 2 ls -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/cgid.load
打開這兩個文件實際上是導入了
1 LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so 2 LoadModule cgid_module /usr/lib/apache2/modules/mod_cgid.so
一樣地,在/etc/apache2/sites-enabled中打開的連接也是available中的sites-available的000-defalut.conf。
主要的配置都在/etc/apache2/conf-enabled中,該目錄以下所示。
charset.conf other-vhosts-access-log.conf serve-cgi-bin.conf
localized-error-pages.conf security.conf
能夠看到CGI的配置就在serve-cgi-bin.conf這個文件中。
打開該文件,即可以看到
1 <IfModule mod_alias.c> 2 <IfModule mod_cgi.c> 3 Define ENABLE_USR_LIB_CGI_BIN 4 </IfModule> 5 6 <IfModule mod_cgid.c> 7 Define ENABLE_USR_LIB_CGI_BIN 8 </IfModule> 9 10 <IfDefine ENABLE_USR_LIB_CGI_BIN> 11 ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 12 <Directory "/var/www/cgi-bin"> 13 AllowOverride None 14 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 15 Require all granted 16 AddHandler cgi-script .cgi .pl 17 </Directory> 18 </IfDefine> 19 </IfModule> 20 21 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
其中/var/www/cgi-bin能夠改成本身的cgi-bin路徑名,其中Module mod_cgid.c和Module mod_cgi.c正是咱們以前導入cgi.load和cgid.load的緣由。
其實避免錯誤的話,能夠將全部的available文件導入至enabled文件夾中~~~。
8. 配置這個完了,就該嘗試一下了吧>.<
8.1 在/var/www/cgi-bin中新建文件HelloWorld.c
鍵入以下代碼:
1 /** 2 * CGI測試程序 3 */ 4 5 #include "stdio.h" 6 7 int main(int argc, char* argv[]) 8 { 9 printf("Context-Type:text/html\n\n"); //這個必須得有 10 printf("Hello,World!\n"); 11 return 0; 12 }
8.2 編譯源文件
1 sudo gcc -o HelloWorld.cgi HelloWorld.c
8.3 打開瀏覽器測試輸出
http://localhost/cgi-bin/HelloWorld.cgi
終於出現了!!!
Hello,World!
結束了,寫在博客上,防止之後忘記。