perl的版本資訊
----------------------------------------------------------------------
This is perl, v5.8.8 built for i386-linux-thread-multi
Copyright 1987-2006, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
==========================================================================================
RHEL CentOS 5.3 cgi設定方法
yum install yum-priorities #先裝yum的plugin。
yum -y update ##先更新套件,套件太舊無法啟動。
yum install perl #安裝perl的套件
perl -v #看一下你的perl版本
rpm -ql perl|grep CGI #可以看一下你的perl和cgi關系
yum install mod_perl #這段是當你的os沒有load入perl 模組時打的
yum install mod_cgi #這段也是在灌cgi進os內
#接著就是到httpd底下去修改hhtpd.conf的檔設定成可以執行cgi
cd /etc/httpd/conf #先打入
vim httpd.conf #開vim修改
####接下來修改內容httpd可
####約在httpd.conf的830行將「#AddHandler cgi-script .cgi .pl 」前面的註解拿掉讓server可以讀.cgi和.pl的檔案
##接下來就是加入以下的字串代表指定一個網站的資料夾
<Directory "/var/www/html/cgi"> #你要指定的虛擬資料夾
options +indexes +ExecCGI
AllowOverride None
Order allow, deny
Allow from all
</Directory>
##以上內容的參數由以下說明
# Options:
表示這個目錄內能夠進行的動作,亦即是權限設定啦!主要的設定值:
* Indexes:
如果在此目錄下找不到『首頁檔案』時, 就顯示整個目錄下的檔案名稱,
『首頁檔案』與 DirectoryIndex 設定值有關。
* FollowSymLinks:
讓在此目錄下的連結檔可以連結出此目錄外。
一般來說被 chroot 的程式將無法離開其目錄,也就是說預設的情況下,
你在 /var/www/html 底下的連結檔只要連結到非此目錄的其他地方,則該連結檔預設是失效的。
但使用此設定即可讓連結檔有效的離開本目錄。
* ExecCGI:
讓此目錄具有執行 CGI 程式的權限,非常重要!舉例來說,目前常見的 OpenWebMail 使用了很多的 perl 的程式, 你要讓 openwebmail 可以執行,就得要在 openwebmail 程式所在目錄 擁有 ExecCGI 的權限。注意,不要讓所有目錄均可使用 ExecCGI !
* Includes:
讓一些 Server-Side Include 程式可以運作。建議可以加上去!
* MultiViews:
這玩意兒有點像是多國語言的支持,與語系資料 (LanguagePriority) 有關。最常見在錯誤訊息的回報內容,在同一部主機當中, 可以依據用戶端的語系而給予不同的語言顯示呢!預設在錯誤回報訊息當中存在, 你可以檢查一下 /var/www/error/ 目錄下的資料喔!
##接著就是存檔離開了。(esc、ctrl+q、wq)
##重新啟動一下httpd
service httpd restart
##接著到/var/www/html/cgi裡用vim寫一支cgi的程式碼
#接著超~~~~重要的是,修改成可執行檔。(我就是忘了要做變更的動作,至少又讓我多苦腦了兩個小時左右→早上的時間就不見了!XD)
chmod 755 hello.cgi
註1:Perl-cgi的每份文件的第一行一定要有一行指定perl編譯檔的所在位置,而CentOS 5.3的perl目錄是在/usr/bin/perl中。所以一定要加入#!/usr/bin/perl 這行指令
註2:perl-cgi編譯檔一定要套用html-style的格式,要加上<header>不然無法辨識。
註3:我在/var/www/html/cgi底下有放一些範例檔在裡面可以在網址:http://10.0.0.14/cgi/eg/index.html。看範例。但是範例檔的perl路行是在/usr/bin/local/perl下記得改成centos系統預設的(也正好可以看一下source code是怎麼寫的)
註4:記得在windows寫完cgi的檔用ftp傳到server上時要注意編碼,不能為binary的不然結尾會有/m;伺服器無法辨識。要用ASCⅡ去傳比較保險。
參考:
鳥哥:http://linux.vbird.org/
google:www.google.com
CPAN:http://www.cpan.org/scripts/index.html
RPM:http://rpm.pbone.net/index.php3/stat/4/idpl/12380364/dir/centos_5/com/mod_perl-2.0.4-6.el5.i386.rpm.html
初學者cgi教學網址:
http://neural.cs.nthu.edu.tw/jang/books/perl/
- Aug 30 Tue 2011 20:56
Perl - CGI 設定
close
文章標籤
全站熱搜
留言列表