作者phterry (小風)
看板LinuxDev
標題Re: [問題]我在linux底下架了web server 問題如下
時間Tue Jul 1 15:30:26 2008
※ 引述《onelove (我是消防員)》之銘言:
: 請問可以講的更仔細一點或是POST一些小例子出來...
: 聽你一說..我記得曾經我有這樣寫過..就是在HTML ACTION連結CGI
: 然後在ROUTER底層用C語言去寫連結CGI
: 但現在全忘了怎麼寫...希望可以有大大...可以寫出一些例子喚醒我的記憶
: thank
我想你是想寫一些設定頁面吧
我可以給你一些方向
最簡單的就是先寫一個可以看 MAC Address 的CGI
由於CGI可以由各種語言寫成,我以Shell script做為例子
1. 先試試看我們要取得的資訊
我們在Linux底下,如果我們要看 MAC Address,只要打以下指令
ifconfig eth0 | grep HWaddr | tr -s ' ' ' ' | cut -d' ' -f5
會印出類似 12:34:56:78:90:ab
2. 寫底層,編成執行檔(但本例為SCRIPT不用編譯)
把上述的命令寫成shell script, 內容如下
檔名為readmac.cgi
-------------------------------------------------------------
#!/bin/sh
ifconfig eth0 | grep HWaddr | tr -s ' ' ' ' | cut -d' ' -f5
-------------------------------------------------------------
打 chmod +x readmac.cgi 把它變成可執行
3. 放到CGI可執行的資料夾,通常在/usr/lib/cgi-bin
cp -a readmac.cgi /usr/lib/cgi-bin
chmod www-data.www-data /usr/lib/cgi-bin/readmac.cgi
(這行是為了避免有時你的設定只限www-data執行CGI)
4. 測試
打開本機的Browser用以下的網址測試
http://127.0.0.1/cgi-bin/readmac.cgi
如果你的LINUX沒裝X-Window,要用別台PC來測的話,請把127.0.0.1改成LINUX PC的IP
5. 結果
如果你的BROWSER有顯示MAC Address,就表示成功了
不過當然,其中也可能因為Apache等等設定不良而失敗的
到時遇到再討論
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.139.161.63
→ kenlo1980:cgi不是這樣寫的,晚點有時間我再寫一篇 how-to。 07/15 15:36
→ kenlo1980:只要知道原理, 用 C 或 bash 都能寫 cgi 07/15 15:37