笔记 by 车东

TWiki的安装,配置和用户管理

· 应用安装|AppInstall

TWiki是一套基于Perl的wiki实现(为什么又是perl?):功能强大,速度很快,核心存储使用纯文本实现,不需要数据库的支持,因此非常适合企业级的大规模应用:在很多公司都有成功的应用案例

Wik应用路径相对传统内容发布系统比较固定和扁平, 内容之间的连接也非常多 充分体现了Well referenced with easy navigation…. http://www.chedong.com/twiki/bin/view/TWiki/TWikiPreferences http://www.chedong.com/主目录/程序目录/动作/子库名/页面

TWiki本身的配置分成3级 网站级别: 站点级别的配置都在TWiki/目录下TWikiPreferences ChangePassword ResetPassword等 目录级别: 每个目录下的WebPreferences文件中设置 比如 Main/WebPreferences 页面级别: 每个页面可以设置一些访问参数

搭建使用TWiki的时候, 会发现TWiki中很多的配置居然也是用WIKI页面管理的: 真正将模板技术用到了及至。具体的配置位于TWiki/TWikiPreferences TWiki语法本身就是一个非常完整的模板语言, 而网站的很多设置都可以使用 Set PARAMETNAME = value 这样的语法进行设置

以下是我在安装时的备忘:(不断更新中)

2006-1-1更新: 1 增加了认证和用户分组方面的配置说明; 2 增加了文德的参考文档;

从TWiki.org下载最新稳定版本: Wiki20040902.tar.gz那个版本有安全漏洞,我最近下载到的是 TWiki20040904.tar.gz

将twiki解压缩后移动到/home/apache/twiki目录下:将目录下的文件设置为apache服务可以读写, 比如apache实用nobody 用户运行, 那么twiki目录下也要设置为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
每个目录下:就是一个“库” 一个文件 + 一个版本文件
WebHome.txt WebHome.txt,v

编辑时还会有临时:锁定文件 WebHome.lock

如果不改动模板:

chmod a-w templates chmod g-w templates

Apache的配置修改:

ScriptAlias /twiki/bin/ "/home/apache/chedong.com/twiki/bin/" Alias /twiki/ "/home/apache/chedong.com/twiki/" Options +ExecCGI SetHandler cgi-script Allow from all Options FollowSymLinks +Includes AllowOverride None Allow from all deny from all deny from all

修改TWiki.cfg 到相应的目录和配置下:大部分是缺省路径修改

diff TWiki.cfg /home/apache/chedong.com/twiki/lib/TWiki.cfg 62c62 < $defaultUrlHost = "http://your.domain.com"; --- > $defaultUrlHost = "http://www.chedong.com"; 72c72 < $pubDir = "/home/httpd/twiki/pub"; --- > $pubDir = "/home/apache/chedong.com/twiki/pub"; 74c74 < $templateDir = "/home/httpd/twiki/templates"; --- > $templateDir = "/home/apache/chedong.com/twiki/templates"; 76c76 < $dataDir = "/home/httpd/twiki/data"; --- > $dataDir = "/home/apache/chedong.com/twiki/data"; 227c227 以下部分是为了将字符集设置为UTF-8(缺省是英文en_US.ISO-8859-1) < $useLocale = 0; --- > $useLocale = 1; 244c244 < $siteLocale = "en_US.ISO-8859-1"; --- > $siteLocale = "zh_CN.UTF-8";
1 请注意参考:[IANA字符集命名定义](http://www.iana.org/assignments/character-sets) 2 twiki上缺省的显示时间为GMT时间, 可以改lib/TWiki.cfg设置成servertime servertime还是和本地工作时间比较相似

修改:bin/setlib.cfg 虽然缺省不改也能运行,但是很多plugins可能没有那么智能,最好改成绝对路径 diff ../bin/setlib.cfg /home/apache/twiki/bin/setlib.cfg 40c40 < $twikiLibPath = ‘/home/apache/twiki/lib’;

$twikiLibPath = ‘../lib’;

如何设置twiki编辑/上传文件需要认证?

首先设置用户名和密码:
在data目录下缺省有一个 .htpasswd文件,缺省里面只有TWikiGuest一个账号, 密码是guest(是加密的) 要注册的新用户的密码也是在这里

TWiki本身有2种级别的新用户注册机制: 一种是公开注册: 可以直接获得初始化密码; 一种是内部注册: 不可以设置初始化密码, 注册完成后需要将通知邮件转发给后台管理员,然后请管理员在后台手工在.htpasswd文件中加入相应账号的名称和密码;

具体选择那种注册模式, 就看网站的性质了,在注册之前,最好在bin/view/TWiki/TWikiPreferences中将管理员的邮件设置好(目前这个页面是TWikiGuest也能修改的) 同时还可以设置好的还有WIKILOGOIMG 等信息 Set WIKIWEBMASTER = chedong AT chedong.com

如何启用认证和设置对那些操作启用认证:

认证的启用需要设置.htaccess文件, twiki在程序目录下缺省有一个文件: /bin/.htaccess.txt 重命名成 .htaccess 将其中的!FILE_path_to_TWiki!和!URL_path_to_TWiki! 替换成twiki的后台物理路径和网站路径设置就好了,如果修改完成后没有启作用, 可能是httpd.conf配置文件中设置了 AllowOverride None 改称 AllowOverride All .htaccess就启用了.

这样设置后: 用户设置访问edit/attach等写入操作时候会需要经过data/.htpasswd中的用户名

设置了认证启用后: 再设置认证用户之间的分组和管理关系 先设置谁能进入TWikiAdminGroup组 Main/TWikiAdminGroup 这个页面缺省是任何人都可以编辑的

设置好Set GROUP = UserAndy UserBob 这样的配置后 再将当前页面的 Set ALLOWTOPICCHANGE = TWikiAdminGroup 前面的#注释去掉, UserAndy就被设置为管理员了,而且管理员文件也只有管理员组可以修改, 如果改坏了, 就只能让系统管理员改 Main/TWikiAdminGroup.txt 源文件了.

更多参考文档: 来自文德 如何安装TWiki TWiki 使用入门 TWiki语法

💬 历史评论

以下 5 条评论从旧版 Movable Type 博客迁移而来。 原始评论时间:2002–2016 年。

deli · 2005-06-12 19:07

有程序可以下载吗?要试一下


david · 2006-04-11 16:23

装了之后,发现对utf-8的支持有问题,叶面的编码不是utf8的,rss不能正常显示。wikiword不能用中文。 http://twiki.org/cgi-bin/view/Codev.ProposedUTF8SupportForI18N 好像utf-8的支持还在开发中。


光催化 · 2006-08-15 16:17

我安装的twiki4.0按照你的说明进行用户配置,但是用户edit的时候不能进行验证,没有要求验证用具就可以编辑页面


leon · 2006-11-15 13:55

大家好,我现在已经搭建完成TWiki,中文也可以显示,但是效果不是很理想,还有,我想将公司不同部门划分为不同的页面,并且有相应的权限,不知道该怎么处理? 希望和大家多多交流,再次谢谢chedong!^_^ 我的msn:fuqiang_leon@hotmail.com


bianbian · 2007-04-08 09:13

可惜是CGI的。要是是FastCGI俺就装这个了。这个的页面还是比较好看的,导航也清楚,关键是基于文件的。俺其实不喜欢数据库。