TWiki是一套基于Perl的wiki實(shí)現(xiàn)(為什么又是perl?):功能強(qiáng)大,速度很快,核心存儲(chǔ)使用純文本實(shí)現(xiàn),不需要數(shù)據(jù)庫(kù)的支持,因此非常適合企業(yè)級(jí)的大規(guī)模應(yīng)用:在很多公司都有成功的應(yīng)用案例。
Wik應(yīng)用路徑相對(duì)傳統(tǒng)內(nèi)容發(fā)布系統(tǒng)比較固定和扁平, 內(nèi)容之間的連接也非常多 充分體現(xiàn)了Well referenced with easy navigation....
http://www./twiki/bin/view/TWiki/TWikiPreferences
http://www./主目錄/程序目錄/動(dòng)作/子庫(kù)名/頁(yè)面
TWiki本身的配置分成3級(jí)
網(wǎng)站級(jí)別: 站點(diǎn)級(jí)別的配置都在TWiki/目錄下TWikiPreferences ChangePassword ResetPassword等
目錄級(jí)別: 每個(gè)目錄下的WebPreferences文件中設(shè)置 比如 Main/WebPreferences
頁(yè)面級(jí)別: 每個(gè)頁(yè)面可以設(shè)置一些訪問參數(shù)
搭建使用TWiki的時(shí)候, 會(huì)發(fā)現(xiàn)TWiki中很多的配置居然也是用WIKI頁(yè)面管理的: 真正將模板技術(shù)用到了及至。具體的配置位于TWiki/TWikiPreferences
TWiki語(yǔ)法本身就是一個(gè)非常完整的模板語(yǔ)言, 而網(wǎng)站的很多設(shè)置都可以使用
Set PARAMETNAME = value
這樣的語(yǔ)法進(jìn)行設(shè)置
以下是我在安裝時(shí)的備忘:(不斷更新中)
2006-1-1更新:
1 增加了認(rèn)證和用戶分組方面的配置說(shuō)明;
2 增加了文德的參考文檔;
從TWiki.org下載最新穩(wěn)定版本:
Wiki20040902.tar.gz那個(gè)版本有安全漏洞,我最近下載到的是 TWiki20040904.tar.gz
將twiki解壓縮后移動(dòng)到/home/apache/twiki目錄下:將目錄下的文件設(shè)置為apache服務(wù)可以讀寫, 比如apache實(shí)用nobody 用戶運(yùn)行, 那么twiki目錄下也要設(shè)置為nobody讀寫.
目錄下的列表分布:
bin <== scripts
data <== data: the all meta: structure data and un-structure data
index.html <== default page
lib <== support libary
license.txt <== License
pub <== the public data
pub-htaccess.txt <== pub
readme.txt <== README
robots.txt <== robots.txt: crawler scripts
root-htaccess.txt <== example of root .htaccess file
subdir-htaccess.txt <== example of .htaccess file in sub directory
templates <== default templates
TWikiDocumentation.html <== TWiki documents
TWikiHistory.html <== TWiki history
UpgradeTwiki <== Upgrade scripts
缺省的 data 目錄下:
debug.txt <== debug log
_default <== default templates wiki page
log200501.txt <== monthly logs
log200503.txt <== monthly logs
log200504.txt <== monthly logs
log200505.txt <== monthly logs
Main <== package Main(default)
mime.types <== apache configure
Sandbox <== package Sandbox(testing / trail)
Trash <== package Trash bin
TWiki <== package Twiki: admin porpose
warning.txt <== warning log
每個(gè)目錄下:就是一個(gè)“庫(kù)”
一個(gè)文件 + 一個(gè)版本文件
WebHome.txt
WebHome.txt,v
編輯時(shí)還會(huì)有臨時(shí):鎖定文件
WebHome.lock
如果不改動(dòng)模板:
chmod a-w templates
chmod g-w templates
Apache的配置修改:
ScriptAlias /twiki/bin/ "/home/apache//twiki/bin/"
Alias /twiki/ "/home/apache//twiki/"
<Directory "/home/apache//twiki/bin">
Options +ExecCGI
SetHandler cgi-script
Allow from all
</Directory>
<Directory "/home/apache//twiki/pub">
Options FollowSymLinks +Includes
AllowOverride None
Allow from all
</Directory>
<Directory "/home/apache//twiki/data">
deny from all
</Directory>
<Directory "/home/apache//twiki/templates">
deny from all
</Directory>
修改TWiki.cfg 到相應(yīng)的目錄和配置下:大部分是缺省路徑修改
diff TWiki.cfg /home/apache//twiki/lib/TWiki.cfg
62c62
< $defaultUrlHost = "http://your.";
---
> $defaultUrlHost = "http://www.";
72c72
< $pubDir = "/home/httpd/twiki/pub";
---
> $pubDir = "/home/apache//twiki/pub";
74c74
< $templateDir = "/home/httpd/twiki/templates";
---
> $templateDir = "/home/apache//twiki/templates";
76c76
< $dataDir = "/home/httpd/twiki/data";
---
> $dataDir = "/home/apache//twiki/data";
227c227 以下部分是為了將字符集設(shè)置為UTF-8(缺省是英文en_US.ISO-8859-1)
< $useLocale = 0;
---
> $useLocale = 1;
244c244
< $siteLocale = "en_US.ISO-8859-1";
---
> $siteLocale = "zh_CN.UTF-8";
1 請(qǐng)注意參考:IANA字符集命名定義
2 twiki上缺省的顯示時(shí)間為GMT時(shí)間, 可以改lib/TWiki.cfg設(shè)置成servertime servertime還是和本地工作時(shí)間比較相似
修改:bin/setlib.cfg 雖然缺省不改也能運(yùn)行,但是很多plugins可能沒有那么智能,最好改成絕對(duì)路徑
diff ../bin/setlib.cfg /home/apache/twiki/bin/setlib.cfg
40c40
< $twikiLibPath = ‘/home/apache/twiki/lib‘;
---
> $twikiLibPath = ‘../lib‘;
如何設(shè)置twiki編輯/上傳文件需要認(rèn)證?
首先設(shè)置用戶名和密碼:
在data目錄下缺省有一個(gè) .htpasswd文件,缺省里面只有TWikiGuest一個(gè)賬號(hào), 密碼是guest(是加密的) 要注冊(cè)的新用戶的密碼也是在這里
TWiki本身有2種級(jí)別的新用戶注冊(cè)機(jī)制:
一種是公開注冊(cè): 可以直接獲得初始化密碼;
一種是內(nèi)部注冊(cè): 不可以設(shè)置初始化密碼, 注冊(cè)完成后需要將通知郵件轉(zhuǎn)發(fā)給后臺(tái)管理員,然后請(qǐng)管理員在后臺(tái)手工在.htpasswd文件中加入相應(yīng)賬號(hào)的名稱和密碼;
具體選擇那種注冊(cè)模式, 就看
在注冊(cè)之前,最好在bin/view/TWiki/TWikiPreferences中將管理員的郵件設(shè)置好(目前這個(gè)頁(yè)面是TWikiGuest也能修改的) 同時(shí)還可以設(shè)置好的還有WIKILOGOIMG 等信息
Set WIKIWEBMASTER = chedong AT
如何啟用認(rèn)證和設(shè)置對(duì)那些操作啟用認(rèn)證:
認(rèn)證的啟用需要設(shè)置.htaccess文件, twiki在程序目錄下缺省有一個(gè)文件: /bin/.htaccess.txt 重命名成 .htaccess 將其中的!FILE_path_to_TWiki!和!URL_path_to_TWiki! 替換成twiki的后臺(tái)物理路徑和網(wǎng)站路徑設(shè)置就好了,如果修改完成后沒有啟作用, 可能是httpd.conf配置文件中設(shè)置了 AllowOverride None
改稱 AllowOverride All .htaccess就啟用了.
這樣設(shè)置后: 用戶設(shè)置訪問edit/attach等寫入操作時(shí)候會(huì)需要經(jīng)過(guò)data/.htpasswd中的用戶名
設(shè)置了認(rèn)證啟用后: 再設(shè)置認(rèn)證用戶之間的分組和管理關(guān)系
先設(shè)置誰(shuí)能進(jìn)入TWikiAdminGroup組
Main/TWikiAdminGroup
這個(gè)頁(yè)面缺省是任何人都可以編輯的
設(shè)置好Set GROUP = UserAndy UserBob 這樣的配置后
再將當(dāng)前頁(yè)面的 Set ALLOWTOPICCHANGE = TWikiAdminGroup 前面的#注釋去掉, UserAndy就被設(shè)置為管理員了,而且管理員文件也只有管理員組可以修改, 如果改壞了, 就只能讓系統(tǒng)管理員改 Main/TWikiAdminGroup.txt 源文件了.
更多參考文檔: 來(lái)自文德
如何安裝TWiki
TWiki 使用入門
TWiki語(yǔ)法