Tags:
create new tag
, view all tags

twiki数据的迁移

著名的Twiki,相信很多人都用过吧。 Twiki的安装方法在这里我不再累述,安装参考资料如下:

  1. Twiki安装向导
  2. Twiki安装FAQ
  3. 文德的 如何安装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,这些看名字就知道是什么意思了 smile

(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

Topic revision: r4 - 2011-04-11 - CnAngel
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback 京ICP备05049167号