1、裝載相關模組(可寫在/etc/httpd/conf/httpd.conf 裡也可寫在虛擬主機配置檔案裡)
loadmodulecgi_modulemodules/mod_cgi.so #cgi相關模組
loadmodulealias_modulemodules/mod_alias.so #別名相關模組
2、虛擬主機配置檔案加以下cgi和別名部分內容。
說明:別名/cgi-bin/只在當前站點有效,目錄不一定要在站點目錄下
#授權站點目錄
options none
allowoverride none
require all granted
#-----------cgi指令碼-(重點)--------
allowoverride none
sethandler cgi-script #必寫
options execcgi #必寫
require all granted #授權所有人能訪問
#給指令碼目錄乙個別名
scriptalias /cgi-bin/ "/var/www/cgi-bin/"
3、在 /var/www/cgi-bin/下建立cgi指令碼 :vim /var/www/cgi-bin/a.html
#!/bin/sh
echo content-type:text/plain
#以上為固定字段,必寫,下面為你的shell指令
netstat -ntl
4、賦予指令碼執行許可權。( 確保該檔案必須允許apache 使用者來執行)
chmod +x /var/www/cgi-bin/a.html
5、重新裝載服務 配置檔案。
6、客戶端瀏覽器測試:
訪問:
實驗總結:
主要用到虛擬主機配置、cgi指令碼配置與編寫、站點下目錄別名配置
在上個實驗基礎上完成
1、站點目錄下建立abc.html
顯示當前的埠資訊
2、在cgi指令碼目錄下建立新指令碼search.html(
編寫完記得授予執行許可權)
vim /var/www/cgi-bin/search.html
#!/bin/bash
echo content-type:text/plain
echo
user=`echo "$request_uri" | awk -f "=|&" ''`
passd=`echo "$request_uri" | awk -f "=|&" ''`
echo "賬號:$user"
echo "密碼:$passd"
echo ""
echo ""
echo "**********====還可以通過 env 命令 當前其餘的 apache 提供的其它的 環境變數列表: ********************==="
env
3、檢測結果:
實驗總結:
在上個實驗基礎上,從乙個介面get請求到乙個cgi指令碼,cgi指令碼可用env變數得到請求的一些列引數,包含表單資訊
Apache 通過CGI執行指令碼
1.配置伺服器,開啟注釋 告訴伺服器cgi和pl字尾的檔案都是cgi指令碼 編寫python指令碼,並放入 var www cgi bin 目錄下 usr bin python coding utf 8 print content type text plain print hello,world ...
如何編寫CGI程式
cgi的工作原理介紹 cgi mon gateway inte ce 是乙個web伺服器提供資訊服務的標準介面,通過這樣乙個介面,web伺服器能夠執行程式,並將程式輸出的資訊返回給瀏覽器。因為在web網上的資料都是靜態的,通過cgi程式能夠動態的處理瀏覽者的請求,如儲存使用者輸入的資訊,根據使用者資...
perl編寫CGI 嘗試
一直覺得perl寫網頁是一件很原始的事情,編寫cgi 使用perl的書剛借來就弄丟了。後來幫群裡的小朋友討論到cgi,覺得有點意思,就嘗試學了一下,編寫了乙個簡單的,儲存郵件列表,和現實郵件列表的就簡單cgi,如下 opt lampp bin perl use cgi use data dumper...