著名的Twiki,相信很多人都用过吧。
Twiki的安装方法在这里我不再累述,安装参考资料如下:
- Twiki安装向导
- Twiki安装FAQ
- 文德的 如何安装TWiki(中文TWiki 4.0安装)
这里我只重点讲讲迁移Twiki数据前期工作以及迁移数据过程中所遇到的一些问题。
1,首先在 B 站点安装twiki,假设 B 站点的安装绝对路径为
/u/twiki/ ,Url 地址为
http://www.B.com/twiki 。
注意:
对于虚拟主机可以使用 /bin/.htaccess 文件来配置其参数,运行cgi的条件以及运行 /bin/configure 的权限,如果独立主机,可以更改 httpd.conf 或者 vhost.conf 或者 /twiki.httpd.conf 对子目录的可以使用 /subdir-htaccess.conf 以及设置 /root-htaccess。
2,设置权限
* 首先设置所有目录权限为
0755:
(1)在
Unix主机上可以这样设置:
chmod +R 0755 /u/twiki
(2)虚拟主机上一般使用
ftp自行设置,重点是
twiki 下面的目录
/bin /data /pub /template /locale /lib,如果临时目录
/tmp/twiki 因为不是独立主机,所以最好设置为
/u/twiki/tmp/twiki,并且属性为
0755;
(3)如果是Windows主机,一般不需要特别的权限设置;
* 接着设置
/bin/.htaccess 或者
/twiki.httpd.conf 文件,文件中要素有几个点:
(1)保证
CGI 运行的条件,如果
Apache 用得比较熟悉的话,相信这个不是一个问题;
(2)替换相对应的
{xxx} 变量,改成实际的路径;
(3)设置最低权限,保证下面的安装可以不费事的进行,即不要
httpd 的认证方式,不要对
configure 文件进行权限配置。
我的文件范文如下:
BrowserMatchNoCase ^$ anonymous_spider
Order Allow,Deny
Allow from all
Deny from env=anonymous_spider
SetHandler cgi-script
#AuthUserFile /u/twiki/data/.htpasswd
#AuthName 'Enter your WikiName: (First name and last name, no space, no dots, capitalized, e.g. JohnSmith). Cancel to register if you do not have one.'
#AuthType Basic
ErrorDocument 401 /view/TWiki/TWikiRegistration
Options ExecCGI FollowSymLinks
<FilesMatch "configure.*">
SetHandler cgi-script
Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1, 192.168.1.10
# Require user CnAngel
# Satisfy Any
</FilesMatch>
<FilesMatch "(attach|edit|manage|rename|save|upload|mail|logon|.*auth).*">
# require valid-user
</FilesMatch>
3,建立用户并恢复权限
(1)首先运行
/bin/configure 文件,在
Settings 选项中设置
Security setup,把
{LoginManager} 选项设置为
none ,把
{ScriptSuffix} 设置为你想要运行
CGI 文件的后缀(扩展名),这里我没有填写,即后缀为空,然后保存,这样做的结果是让初始用户拥有编辑
twiki 页面的权限。
注意:有些虚拟主机用户可能因为限制使用不了 RCS 工具,可以使用 Perl 相关模块来代替,只需要将 {StoreImpl} 设置为 RcsLite选项即可解决问题。
(2)接着打开地址
http://www.B.com/twiki/bin/view/TWiki/TWikiRegistration 页面进行注册,比如注册成功的用户名称为
CnAngel ,打开地址
http://www.B.com/twiki/bin/view/Main/TWikiAdminGroup编辑
Set GROUP = CnAngel
Set ALLOWTOPICCHANGE = TWikiAdminGroup
注意: 默认 Set ALLOWTOPICCHANGE 前面的 "#" 需要去掉
(3)打开地址
http://www.B.com/twiki/bin/configure 设置
{LoginManager} 为你想验证的方式,一般独立主机使用
ApacheLogin 方式,一般虚拟主机最好采用
TemplateLogin,这些看名字就知道是什么意思了
(4)再次设置
/bin/.htaccess 或者
/twiki.httpd.conf 文件,依照范文将前面的"#"都去掉。
目前用户
CnAngel 可以访问
http://www.B.com/twiki/bin/login 正常的登陆并发表
Twiki 了。
4,转移数据
把 A 站点
/home/twiki/ 的数据转移到 B 站点
/u/twiki/需要几个简单步骤:
(1)将
/u/twiki/data 、
/u/twiki/pub 、
/u/twiki/templates分别改名为
/u/twiki/data_bak 、
/u/twiki/pub_bak 、
/u/twiki/templates_bak,这样做的目的是为了防止误操作导致数据丢失;
(2)如果不需要日志,删除
/home/twiki/data 里面的日志记录,防止打包的时候包会很大,对上传有影响;
(3)如果是独立主机,将
/home/twiki/data 、
/home/twiki/pub 、
/home/twiki/templates tar 成一个包,然后上传到新空间的独立主机上,直接解压到
/u/twiki/;如果是都是虚拟主机,需要采用写脚本上传方式去压缩刚才提到的三个文件夹,然后又利用写脚本上传的方式上传到
/u/twiki/;
(4)将
/u/twiki/data/.htpasswd 备份,并将
/u/twiki/data_bak/.htpasswd 文件复制到
/u/twiki/data/ 目录,如果需要以前的用户名,只需要将备份的
.htpasswd 文件内容合并到目前的
/u/twiki/data/.htpasswd 文件里就可以了。
注意:上传新的目录保证目录的权限仍然为 0755
至此,所有的
Twiki 数据转移完成,如果有任何问题或者疑惑的地方,请联系
join("@", ('cnangel', '126.com'))。
--
CnAngel - 06 Aug 2007