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


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/"
<Directory "/home/apache/chedong.com/twiki/bin">
Options +ExecCGI
SetHandler cgi-script
Allow from all
</Directory>
<Directory "/home/apache/chedong.com/twiki/pub">
Options FollowSymLinks +Includes
AllowOverride None
Allow from all
</Directory>
<Directory "/home/apache/chedong.com/twiki/data">
deny from all
</Directory>
<Directory "/home/apache/chedong.com/twiki/templates">
deny from all
</Directory>

修改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字符集命名定义
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语法

作者:车东 发表于:2005-06-12 09:06 最后更新于:2007-08-15 17:08
版权声明:可以转载,转载时请务必以超链接形式标明文章 的原始出处和作者信息及本版权声明

Comments

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

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

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

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

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

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)

相关文章

关于

此页面包含了发表于2005年06月12日 上午09时46分的 Blog 上的单篇日记。

此 Blog 的前一篇日记是 GNU工具箱:充分用命令行代替SQL

此 Blog 的后一篇日记是 AJAX = Asynchronous + JAvascript + Xml via http

更多信息可在 主索引 页和 归档 页看到。

Creative Commons License
此 Blog 中的日记遵循以下授权 Creative Commons(创作共用)授权.
Powered by
Movable Type 3.36