Site hosted by Angelfire.com: Build your free website today!

unico diary system 架設說明書

for Ver.2.1.0 (1998/04/13 首次發表. 2002/05/31 最後更新. 2002/08/02 中文化完成.)

特色

目錄

u_diary.cgi 的設定

如果您看到一些不明白的設定,最好不要修改它,只要保留為預設值就好。

建議您使用如 EmEditorEditPlus 等的純文字編輯器來修改原始碼內容。

#!/usr/bin/perl

Perl 路徑的設定。
不同的伺服器可能會有不同的路徑,請向您的主機提供者查詢這個設定值。
然而,一般的 Perl 路徑都是位於「/usr/bin/perl」或「/usr/local/bin/perl」。

必須設定的項目

$script = './u_diary.cgi';
主執行檔的名稱。
$css = './unico.css';
管理模式等地方使用的 CSS 樣式表。
$logfile = './u_diary.dat';
儲存記事內容的記錄檔。
$template = './template.html';
顯示記事內容專用的樣板。

以上的路徑設定均可使用絕對路徑或相對路徑。

$password = 'hamchans';
管理者專用密碼。進入管理模式(以進行記事內容的新增、編輯及刪除動作)的時候,必須輸入這個管理者密碼。第一次執行時必須修改這個設定值。

個人喜好設定

$d_max = 10;
設定每一頁可顯示多少件記事。
$max = 50;
設定記錄檔可保留記事內容之最大件數。只要記事內容的數目超過這個數值,最舊的記事內容便會自動刪除。
$link = 'on';
如果記事內容包含網址或電子郵件位址,您可以在這裡設為 on 即可進行自動連結,方便瀏覽者點選位址。設為 off 可關掉這個功能。
$target = ' target="_blank"';
使用自動連結時,設定連結的目標框架,一般為 _blank (開新視窗)。
$link_max = 40;
如果您在記事內容輸入了一些比較長的網址,您可以在這裡設定一個數值用來限制網址顯示出來的長度。
以上述的 $link_max = 40; $target = ' target="_blank"'; 為例子:
http://www.azworks.org/xxx/yyy/zzz.cgi?parame=data
將會轉換成↓
<a href="http://www.azworks.org/xxx/yyy/zzz.cgi?parame=data" target="_blank">http://www.azworks.org/xxx/yyy/zzz.cgi?p...</a>
這個比較短的模樣。

日期及時間的顯示方式

$date ='%Y/%n/%j (%D)';

您可以參考以下這個表格列出來的參數,根據個人喜好修改日期及時間格式:

參數格式例子
%Y4位數字2002
%y2位數字02
%M文字形式(使用 @month 設定)Jul
%m2位數字07
%n省略前置零位7
%d2位數字06
%j省略前置零位6
%D星期幾文字形式(使用 @week 設定)星期六
%a上/下午文字形式(使用 @m 設定)AM
%h數字(12小時制)02
%H數字(24小時制)17
%g省略前置零位(12小時制)2
%G省略前置零位(24小時制)17
%I數字03
%i省略前置零位3
%S數字07
%s省略前置零位7

@month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
月(%M)。順次序設定1∼12月的文字形式。
@week = ('星期日','星期一','星期二','星期三','星期四','星期五','星期六');
星期幾(%D)。順次序設定星期日∼六的文字形式。
@m = ('AM','PM');
上午/下午(%a)

安全性設定

@tag = ('b','br','font','img','span');
設定可用的 HTML 語法,以「'」括起來,以「,」分隔,不要加入 < 或 > 記號。完全禁止 HTML 語法可以這樣設: @tag = ();
$style = 'off';
可以使用樣式設定的 HTML 語法如 style,class,id 嗎?(on/off)
$jscript = 'off';
可以使用 JavaScript 的語法(例如 onClick)嗎?(on/off)
$max_length = 65535;
記事內容可以輸入位元組(Byte)的最大值,設成 0 就表示不限制。

其他設定

$method = 'post';
表單送出方式(FORM METHOD)的屬性設定(通常為 POST)
$form_html = './form.txt';
管理模式專用的外掛表單檔案。不同面板可能會使用不同的外掛表單。關於外掛表單的詳細內容請參考 樣板文件格式 這個檔案。
$tz = 8;
時區設定(例:台灣=8 日本=9)

返回目錄

檔案上傳注意事項

緊記使用 FTP 程式上傳文字檔案(如 .cgi,.dat,.html)的時候,必須使用ASCII(純文字)模式上傳,同時也需要根據不同檔案類型而設定不同的檔案權限值。以下就是每個主要檔案的權限值的建議設法,但這些設定值不一定每個伺服器主機都合用,您可能需要自行修改為符合該個伺服器主機的設定值:

返回目錄

管理模式使用方法

您可以在瀏覽器的網址列直接輸入「 http://程式資料夾/unico.cgi?action=admin 」這個網址,然後在提示框輸入管理者密碼($password),就可以進入下圖所示的管理模式:


管理模式畫面


您可以把當天的日記或記事內容寫在頁面最上方的文字輸入框。如果要對過去的記事內容作出修改,只要在下方找出您想要修改的記事內容部份,在「記事內容」的文字輸入框編輯內容,然後在這個表格下面的下拉清單中選擇「編輯此筆記錄」再按下去「執行」按鈕,即可完成編輯記事內容的程序;如果您在下拉清單中選擇「刪除此筆記錄」,就可以刪除這段記事內容,但要注意的是刪除記事內容之前要仔細考慮清楚,因為刪除了的記事內容是無法復原的。

返回目錄

常見問答集

當您設好了所有檔案的權限值之後,請測試一下程式是否能夠安全無誤地執行,先嘗試寫一些東西進去,然後看一看出來的結果。

如果您看完了這個問答集,仍然找不到您想要的答案,您可以寫信給原作者 (azuna@azworks.org) 或中文化作者 (kxxk@so-net.com.hk),亦可以連到我們的網站 az* (日文/原作者) 或 天真的驚直 (繁體中文/中文化作者),在程式支援留言板或相關討論區提出。惟因為來信及留言實在太多,我們可能無法對每一個問題都作出即時的回應。

CGI 跟一般的網頁檔案有何分別?是否需要上傳到支援 CGI 程式執行的伺服器主機才能夠執行?

CGI 是 Perl 語言的一種,有別於一般的 HTML 檔案,它需要一個 Perl 編繹器和一些程式庫來運作,只有存放在支援 CGI 程式執行的伺服器主機才能夠正常執行。HyperMart, Virtual Avenue, Netfirms, tok2 和亞卓市等等,這些都是支援 CGI 程式執行的伺服器主機提供者。

上傳的時候,請確保程式所需的檔案都包括在內,如 u_diary.cgi, u_diary.dat, template.html,缺一不可。但是其他的檔案如 unico.css, form.txt 與及所有圖檔,可能會因應不同面板的設計而有所差異。在套用面板的時候,請檢查一下 template.html 裡面所呼叫的所有檔案是否都已經包含在上傳清單之列。

頁面的圖檔為何顯示不出來?

因為隨壓縮檔附上的範例圖檔都是 PNG (Portable Network Graphics) 格式,並不是所有版本的瀏覽器都有支援及能夠正常顯示這種格式的圖檔,建議您更新瀏覽器的版本。

此外,有些伺服器主機如 Netfirms,基於安全理由而對於 CGI 的架設作出一些限制,就是除了執行檔(.cgi)和讀寫檔(.dat)以外的其他檔案(例如圖檔),一概不能夠存放在 cgi-bin 這個資料夾,只可以存放在 cgi-bin 以外的地方,同時亦需要對主執行檔關於圖檔路徑的所有設定作出適當修改,這樣圖檔才能夠正常地顯示。

記事內容的文字為何不能自動換行?頁面的美感都給破壞了!

如果您使用隨壓縮檔附上的樣板文件 template.html 來顯示記事內容,所有的全形中文字(或其他雙字節字元),在段落內換行方面應該沒有問題;除非您的瀏覽器版本太舊,對於雙字節字元的兼容性不太好,您就需要在每個全形字元之間加入一個半形的空白,但還是建議您盡快升級瀏覽器。如果您輸入了一個很長的英文單字,長度比頁面所能容納的還要長,那麼在顯示記事內容時就當然無法換行啦!

然而,如果您輸入的是一個很長的網址,卻沒有在主執行檔內設定網址的長度上限 ($link_max),由於網址是一串相連在一起的字元所組成,中間是不能夠插入換行碼的,這一點就要特別注意。

為何安裝程式後卻出現如「500 Server Error」、「找不到網頁」之類的錯誤訊息?

這些都是 CGI 無法執行的訊息,出現的原因有很多,但一般來說,您可以在下面點選內容而找到答案:

存放檔案的地方並不支援 CGI 程式執行。
您已經了解存放檔案的伺服器主機是否真的支援 CGI 程式執行嗎?請先向您的伺服器主機提供者查詢一下。
Perl 路徑設定不正確。
一般的伺服器主機都可以使用預設的 Perl 路徑 (/usr/bin/perl) 來執行程式。但是這個設定並不一定適用於所有伺服器,您可以嘗試把主執行檔第一行的 Perl 路徑設定改為「#!/usr/local/bin/perl」。同時亦要留意在路徑前面是否已經加上「#!」。
Perl 路徑所指定的版本太舊了。
一般而言,這個程式可以在普通支援 Perl 程式執行的環境下運作,但也可能有例外的,譬如您的伺服器主機採用更新版本的 Perl5 作為編繹器。您可以嘗試把 Perl 路徑設定改為「#!/usr/local/bin/perl5」。
檔案權限值還沒有設定妥當。
請細讀一下 檔案上傳注意事項 來針對每一個檔案修改檔案權限值。
樣板文件的設定有問題。
如果您使用預設的樣板文件 (template.html) 來顯示記事內容就應該沒有問題。自行製作樣板來改變版面設計者,請參考 樣板文件格式 來設定 template.html 這個檔案的內容。
上傳檔案的時候沒有使用 ASCII(純文字) 模式。
除非您是利用 ASCII(純文字) 模式來上傳副檔名為 .cgi 的主執行檔,否則程式很可能就是無法正常執行。因為如果您用 Binary(二進位) 模式來上傳的話,原始檔的換行碼是會被轉換過。不同的 FTP 軟體對於 ASCII 文件的定義也有差異,請仔細驗證一下。

為何在套用某些面板後不能進入管理模式?

這可能是因為面板的設計所需,並未把進入管理模式的連結加進去樣板文件裡面。您可以在瀏覽器的網址列直接輸入「 http://程式資料夾/u_diary.cgi?action=admin 」這個網址後按一下 ENTER,然後將這個網址加到「我的最愛」,這樣以後要進入管理模式便方便得多了。

返回目錄