apache 編寫cgi指令碼

2021-08-28 05:04:05 字數 2424 閱讀 5591

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...