在自己机器上做测试尝试使用 mediawiki和bugzilla, 试用一段之后想迁移到服务器上投入公用, 这时候数据已经积累一些了, 经过在vmware里做试验, 证明这一套搭配方案都是可以通过COPY的方法迁移的, 不过有一些地方需要手工修改.
准备工作: 关闭apache, Mysql
因为接下来的迁移很朴素: 直接复制所有涉案的文件.
net stop apache2
net stop mysql
顺序应该是先apache后mysql, 因为apache使用 mysql而非相反.
Apache
一开始默认安装在了 [C:\Program Files\Apache Group] 目录下, 迁移后还保持这个目录, 因为复制这个目录之外还需要更改 httpd.conf文件, 这里文件里面很多地方记着 [C:\Program Files\Apache Group]这个位置, 如果改变了这个目录, 要更改的地方可就多了. 下面是httpd.conf中重点要更改的地方:
其实只是要保证引用了路径的地方要指向正确, 仅此而已, 如果恰好你保持原来各个组件的路径不变, 那就没必要修改. ServerName一般空着, 所以也不需要更改IP.
COPY之后的apache要安装为自动运行的服务, 可以通过下面的命令手工安装:
上图连mysql的迁移也一块稍带了.
安装后的服务已经是自动启动了:
MySQL
一个小小的难题是, 如果你运行了有一阵子mysql, 而它没出过错, 很可能会跟我一样不知道安装到什么位置了, 数据文件都在哪里. 一个办法是查看系统的服务, 找到mysql那一项服务, 看它的命令行是
mysqld-nt.exe --defaults-file="xxxxx\my.ini"
这个my.ini就是数据库的配置文件, 顺藤摸瓜就找到了.
my.ini里也要更改两项反映路径的:
PHP
其实是使用apache和mediawiki的伴生物, 单独安装了一个目录, 一般是 C:\PHP
Mediawiki, bugzilla, phpadmin
这些在初次试用时都已经正确归置到apache的目录下并且经过了一段磨合期, 会随apache一起被copy.
ActivePerl
bugzilla后台可是用的perl, 所以一定要有个perl解释器, 不必安装新的了, 不过把另一台机器下安装后的目录整个copy过来就想使用要有一点额外的工作:
关联 .cgi和.pl文件到复制后的perl.exe
这个直接用regedit编辑也可以, 最经济的办法是在原来的机器上导出 HKEY_CLASSES_ROOT\.cgi和.pl两个目录项, 在新机器上双击即可导入, 导入之后再手工编辑的就只是 perl.exe的具体路径而已.
注意对于.cgi是一个简单的关联, 对于.pl不是, 它通过一个active perl安装上的中间项间接找到命令解释器, 可以把它强制做成跟.cgi一样是直接关联的. 因为bugzilla的源文件绝大多数都是.cgi后辍, 所以我没特别设置这个也没出错.
注意这一项如果没做访问时浏览器会显示 500 Internal Error, apache日志显示是不能产生子进程.
阅读(1412) | 评论(0) | 转发(0) |