前文有介绍,发现bitnami这个大套件后,就顺手搭了三个系统:
- 用于代码管理的gitlab
- 用于工作管理的redmine
- 用于知识共享的dokuwiki
bitnami的好处之前已经提过,一键式安装,所有组件都子提供一份。但缺点也很明显,扩展、升级、备份略微蛋疼...
原因
迁移的原因很简单,之前对于服务器分区,将/var用作存储数据,将/usr用作存储软件,故在安装bitnami的时候,下意识的就将三个平台放到/usr上了,后来一查看空间,/usr总共才分了30G,对于dokuwiki时肯定不够的,故决定迁移;
这个问题也说明了业务数据和逻辑实现分离的重要性,同时也是bitnami的弊端,给懒人安装上的便利,同时带来维护上的麻烦;
解决思路
这算是总结之后的思路:
- 去bitnami的官方网站和bbs查看是否有迁移的方法;查到了备份和还原的方法;以及查看到了bitnami平台的文件结构,至少需要备份./XXX/apps/中的内容,这一般就是特定系统的文件。对于dokuwiki使用文本进行保存,就不需要备份数据库了,否则需要将数据库中的内容备份;
- 在新的位置重新安装一遍dokuwik;因为只是迁移,故只要修改为正确的路径即可,其他的与原系统的相同;停止新的dokuwiki服务;
停止方法是进入到bitnami系统的目录,运行./ctlscript.sh stop。该脚本就是负责整个bitnami系统的启停;
停止老的dokuwiki系统(当然在安装新的dokuwiki时就应该停止老系统了);将老的dokuwiki中的./apps/dokuwiki中的内容全部都覆盖到新的对应的位置,要保留文件权限,同时强制复制:
TIPS:由于CentOS在启动脚本中已将alias cp=cp -i,故遇到重复的文件,会强制询问你,所以可以先unalias cp,否则会询问很多次;
cp -rfvp dokuwiki/ /var/opt/dokuwiki-20140929d-0/apps/
替换更新后的文件中的路径参数;因为dokuwiki中有许多配置文件会涉及到文件系统路径的问题,故需要更新路径;
TIPS:最开始想到使用sed替换,但是sed遇到需要转义的字符就会嗝屁;最后敲定使用rpl工具,需要自己下载,但是功能很强大;
rpl -vR "usr/dokuwiki-20140929-0" "var/opt/dokuwiki-20140929d-0" ./dokuwiki/
启动新的dokuwiki系统,查看是否有问题。运行./ctlscript.sh start;(如果之前复制没有使用相同的权限,则启动可能无法写缓存)
之前绕了很大一圈:最初的思路是直接将整个系统复制过来,再对所有文件全部进行路径配置替换,但是系统会报错,故作罢。还是不能像绿色软件那样移动自如;
Comments
comments powered by Disqus