TWiki DakarRelease安装备忘
上周和建硕聊天的时候,我提到了新年打算不再花太多时间写BLOG,blog毕竟只是一些碎片,而更有意义的是将这些碎片整理起来。我尝试了很多方法,发现还是使用wiki这种方式比较好。
Wiki的发布工具去年年底有2个比较重要的发布:都显示了各种wiki系统的成熟
MediaWiki(Wikipedia的后台): 1.5版本发布
TWiki 的后台平台是用:Perl写的,TWiki从2001年的发布版本开始:使用城市的名字作为版本命名,每次重大的版本相隔1年左右
2001年叫雅典(Athens),
2003年的北京(Beijing),
2004年的开罗(Cairo):也是目前用的最多的稳定发布版
2005年底发布Beta测试版的达喀尔(Dakar):已经是稳定版了。这个版本的优势在于:
1 国际化:重构的框架使得本地化的界面更加方便,我已经完整翻译了中文界面
2 更方便的安装:有了一个全局变量的configure界面是web方式管理的。但是实际上仍然比较麻烦,因为需要了解很多的apache的配置,如果对 .htaccess配置不熟悉,还是比较麻烦的;
3 子目录的支持等;
4 可视化的编辑器:WSYIWSG的编辑TWIKI 对于TWiki语法的高门槛来说,可视化编辑是非常重要的改进;
2月1日:
TWiki如期发布了4.0
以下就是我的安装手记:
下载最新版本并解包:
注意,一定将 TWiki-4.0.0.tgz复制到某个目录下,比如:twiki后再解包
cp /home/apache/chedong.com/twiki ;
cd /home/apache/chedong.com/twiki;
tar zxf TWiki-4.0.0.tgz
网站的规划
说明以下TWiki应用的发布格式
http://www.EXAMPLE.COM/TWIKI_DIR/BIN/ACTION/WEB/TopicEntry
EXAMPLE.COM: 主机名称
TWIKI_DIR:安装目录;
BIN: twiki的程序目录;
ACTION: 操作名称,wiki所有的输出都是通过脚本格式化以后,所以全部是动态发布,包括在线的编辑(edit) 修改(change) 查看(view)等,后台的存储结构是纯文本,不需要任何数据库的支持;
WEB: twiki上的内容是可以分目录(web)管理的,缺省的有Main(用户) TWiki(系统配置和参考文档) Sandbox(测试),自己网站的内容最好不要和以上内容混放在一起,最好规划到另外的目录下:比如Tech Project等;
TopinEntry: 条目,就是具体内容了,TWiki要求所有条目都使用WikiWord(有交替大小写出现,像骆驼的驼峰,所有也叫CamelWord)
将目录下的文件设置为apache的运行用户可写入,比如:服务器上使用apache帐号
sudo chown -R apache *
规划twiki程序和数据的安装目录
程序在服务器上的物理目录是: /home/apache/chedong.com/twiki
设计发布目录在: http://www.chedong.com/twiki/bin/view
以下是apache的一段config样例:
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>
本地应用配置
创建/bin/LocalLib.cfg,在bin哪柯技下缺省有一个/bin/LocalLib.cfg.txt
设置其中的目录指向lib目录
$twikiLibPath = '/home/apache/chedong.com/twiki/lib';
设置lib目录下的LocalSite.cfg
将lib目录下的LocalSite.cfg.txt命名成LocalSite.cfg,
sudo mv LocalSite.cfg.txt LocalSite.cfg
sudo chmod +w LocalSite.cfg
并修改:
diff LocalSite.cfg /home/chedong/downloads/twiki/lib/LocalSite.cfg.txt
26c26
< $cfg{DefaultUrlHost} = 'http://www.chedong.com';
---
> $cfg{DefaultUrlHost} = 'http://your.domain.com';
36c36
< $cfg{PubDir} = '/home/apache/chedong.com/twiki/pub';
---
> $cfg{PubDir} = '/home/httpd/twiki/pub';
44c44
< $cfg{TemplateDir} = '/home/apache/chedong.com/twiki/templates';
---
> $cfg{TemplateDir} = '/home/httpd/twiki/templates';
49c49
< $cfg{DataDir} = '/home/apache/chedong.com/twiki/data';
---
> $cfg{DataDir} = '/home/httpd/twiki/data';
55,68d54
将LocalSite.cfg文件设置为apache用户可以写入
chmod +w LocalSite.cfg
通过Web界面进入 http://www.example.com/twiki/bin/configure 界面:
按照以上设置后,完整的LocalSite.cfg还会加入:
$cfg{LogDir} = $cfg{DataDir};
$TWiki::cfg{Languages}{fr}{Enabled} = 0;
$TWiki::cfg{LoginManager} = 'TWiki::Client::TemplateLogin';
$TWiki::cfg{Languages}{es}{Enabled} = 0;
$TWiki::cfg{Password} = 'EOoq/24gtkWtw';
$TWiki::cfg{Languages}{pt}{Enabled} = 0;
$TWiki::cfg{Site}{Lang} = 'zh';
$TWiki::cfg{DisplayTimeValues} = 'servertime';
$TWiki::cfg{LocalesDir} = '/home/apache/chedong.com/twiki/locale';
$TWiki::cfg{Languages}{da}{Enabled} = 0;
$TWiki::cfg{Languages}{de}{Enabled} = 0;
$TWiki::cfg{Languages}{nl}{Enabled} = 0;
$TWiki::cfg{Site}{FullLang} = 'zh-cn';
$TWiki::cfg{UserInterfaceInternationalisation} = 1;
$TWiki::cfg{Site}{CharSet} = 'UTF-8';
$TWiki::cfg{Site}{Locale} = 'zh_CN.UTF-8';
$TWiki::cfg{Plugins}{WysiwygPlugin}{Enabled} = 1;
这样一个基本的TWIKI就搭建完成了,其中可视化编辑器是通过{WysiwygPlugin}{Enabled}选项启用的。
TWiki的用户认证设置
缺省的TWIKI是没有认证的:如果要求全局的编辑/上传附件等操作要求有用户认证需要加入全局apache认证,缺省的认证是基于 .htpasswd的apache HTTP认证
可以先开放注册上几个用户:然后再将相应用户加入TWikiAdminGroup
http://www.example.com/twiki/bin/view/TWiki/TWikiRegistration
注册后,会发现新用户的密码已经在 twiki/data目录下的 .htpasswd文件中生成了
设置网站级别认证
如果要设置编辑,创建等操作必须是认证后的注册用户:
在 bin目录下将缺省的.htaccess.txt命名成.htaccess文件
diff .htaccess .htaccess.txt
27c27
< AuthUserFile /home/apache/chedong.com/twiki/data/.htpasswd
---
> AuthUserFile {DataDir}/.htpasswd
64c64 设置configure必须
< require user "CheDong"
---
> require user "{Administrators}"
这样:所有的edit/changes/,全局配置等等变更操作就都需要认证了。
之后所有网站/目录/页面级别的认证和设置都是在TWIKI界面中通过编辑TWiki条目完成了,这点和很多其他应用非常不同;
组/用户设置
先找到管理员组,将注释掉的设置加上管理员的名称,比如我设置了CheDong到TWikiAdminGroup组中
* Set GROUP = CheDong
* Set ALLOWTOPICCHANGE = TWikiAdminGroup
设置站点级别的配置:
修改TWiki/TWikiPreferences 包括网站名称和网站LOGO等,这个主题需要设置为只允许管理员(或管理员组)修改;
设置目录级别(Web Level)的配置和认证:
目录级别配置都在Webname/WebPreferences条目中:例如Sandbox/WebPreferences
* Set DENYWEBVIEW = < comma-delimited list of Users and Groups >
* Set ALLOWWEBVIEW = < comma-delimited list of Users and Groups >
* Set DENYWEBCHANGE = < comma-delimited list of Users and Groups >
* Set ALLOWWEBCHANGE = < comma-delimited list of Users and Groups >
* Set DENYWEBRENAME = < comma-delimited list of Users and Groups >
* Set ALLOWWEBRENAME = < comma-delimited list of Users and Groups >
例如:
* Set ALLOWWEBCHANGE = CheDong
设置页面级别(Topic Level)的认证:
可以在相应条目中设置直接加入设置:
* Set DENYTOPICVIEW = < comma-delimited list of Users and Groups >
* Set ALLOWTOPICVIEW = < comma-delimited list of Users and Groups >
* Set DENYTOPICCHANGE = < comma-delimited list of Users and Groups >
* Set ALLOWTOPICCHANGE = < comma-delimited list of Users and Groups >
* Set DENYTOPICRENAME = < comma-delimited list of Users and Groups >
* Set ALLOWTOPICRENAME = < comma-delimited list of Users and Groups >
例如:
* Set ALLOWTOPICCHANGE = TWikiAdminGroup
设置页面左栏:
编辑每个目录的WebLeftBar条目(没错:这个模板就是在每个条目中都被包含的左栏样式)
创建新的目录:
TWiki缺省的几个目录都是有一定用途的:TWiki用于设置网站级别的属性,用户都在Main目录下,Sandbox目录用于测试等。所以建议将网站自身具体内容页面创建新目录实现。比如我将需要归档的内容放到Tech目录下,尽量避免和缺省的Main目录放在一起,也方面以后的文档管理。
我使用TWiki最大的感受:
TWiki本身是一个非常好的“模板语言”,通过TWiki模板,结合一些扩展甚至可以开发出很多应用,如:记录会议既要,生成项目报表等;更多功能有待挖掘。以后类似的安装备忘,就要用twiki来书写了……
常用的一些模板:
加留言 %COMMENT%
版权声明:可以转载,转载时请务必以超链接形式标明文章 TWiki DakarRelease安装备忘 的原始出处和作者信息及本版权声明。
http://www.chedong.com/blog/archives/001108.html