`
joei4cm
  • 浏览: 12020 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

mediawiki的备份、升级与恢复

 
阅读更多
开始之前介绍一下环境信息:
web访问的根目录在/usr/local/apache2/htdocs
wiki安装路径/usr/local/apache2/htdocs/wiki
wiki的名字:XiangWiki
wiki使用的数据库名:rswiki
数据库用户:wiki


第一步:备份数据

在升级之前,我们还是做一下备份,以防不测。这里涉及到wiki使用的数据库和wiki程序文件两部分的备份。wiki使用的数据库里存放了用户信息、发表文章的内容等信息。wiki程序文件里则保留了用户上传的图片,表情等信息。官方网站说没有必要备份所有的wiki程序文件,只需要备份LocalSetting.php文件,extension、image、skin目录及手动修改过的文件即可,但是反正也不是很大,干脆全部备份。:)

备份数据库:
mysqldump -u wiki -ppassword -h localhost --opt rswiki > rswiki-backup.sql
--opt:把读出的数据立即写入磁盘

备份程序文件:
tar czpvf mediawiki-1.5.3-backup.tar.gz /usr/local/apache2/htdocs/wiki

单独运行以上两条命令,备份工作也就做完了。写了脚本来完成备份工作(比较烂),可以加入crontab里,方便以后:

#!/bin/sh

LogFile=/ext/backup/backup.log                #指定日志的名字
BakDir=/ext/backup                            #备份文件存放的路径

#create backup directory

if [ -d $BakDir ]
then
    cd $BakDir
    touch $LogFile
else
    mkdir -p $BakDir
    cd $BakDir
    touch $LogFile
fi


#backup wiki

datadump=`which mysqldump`
wikidb="rswiki"                                   #wiki数据库的名字
wikipath=/usr/local/apache2/htdocs/wiki         #wiki程序文件的位置
mysqluser="wiki"                              #数据库的用户名
userpass="password"                             #用户密码

if $datadump -u $mysqluser --password=$userpass -h localhost --opt $wikidb > $wikidb.`date +%Y%m%d`.sql 2>&1
then
    echo " backup $wikidb success" >> $LogFile
else
    echo " backup $wikidb error" >> $LogFile
    exit 1
fi

if tar czpf mediawiki.`date +%Y%m%d`.tar.gz $wikipath $wikidb.`date +%Y%m%d`.sql >/dev/null 2>&1
then
    echo " backup mediawiki success" >> $LogFile
    rm -f $wikidb.`date +%Y%m%d`.sql
else
    echo " backup mediawiki error" >> $LogFile
    exit 1
fi


好了,备份工作已经完成了,现在要开始升级了。

第二步、升级

1.我的wiki安装在/usr/local/apache2/htdocs目录下,首先把旧的wiki目录改名,先不要删除

#cd /usr/local/apache2/htdocs
#mv wiki wiki-1.5.3

2.把下载的mediawiki-1.9.3.zip解压,然后把解压出来的目录改名为wiki并挪到/usr/local/apache2/htdocs目录下

#unzip mediawiki-1.9.3.zip
#mv mediawiki-1.9.3 wiki
#mv wiki /usr/local/apache2/htdocs

3.把旧wiki目录里的LocalSetting.php拷到新的wiki目录里,并改名为LocalSetting.php.old

#cd /usr/local/apache2/htdocs
#cp wiki-1.5.3/LocalSetting.php wiki/LocalSetting.php.old

4.进入wiki目录,更改AdminiSettings.sample,并改名为AdminiSettings.php

由于前面我们已经进入/usr/local/apache2/htdocs目录,现在执行:

#cd wiki


更改AdminiSettings.sample里的
$wgDBadminuser = 'wiki'; #数据库的用户
$wgDBadminpassword ='password'; #用户的密码

改完后,执行
#mv AdminiSettings.sample AdminiSettings.php

5.更改config目录的权限,

#chmod a+w config

6.重新安装
现在可以在浏览器里输入  http://server ip/wiki/config/index.php,开始进行重新安装。
这里的步骤和安装一样,但是注意你填入的信息和旧版本安装时必需一样(主要是wiki名字,数据库名字,数据库用户名,数据库密码,数据库前缀)。
例如我们之前wiki的信息:
名字:XiangWiki
数据库名字:rswiki
数据库用户:wiki
数据库密码:password
数据库前缀:rs_
那么这次安装时我们还填入一样的信息。

安装成功,你可以从页面上看到一大堆建立新表的信息。

7.收尾工作

#chmod a-w config
#mv LocalSetting.php.old LocalSetting.php
#pwd
/usr/local/apache2/htdocs/wiki

#cp ../wiki-1.5.3/extensions/* extensions/


注:这里我们并没有把config目录里新生成的LocalSetting.php移到外面来,而是继续使用旧版本里的LocalSetting.php。
把旧版本里的插件移到新的wiki的extensions目录下。相应的,如果你有图片、皮肤什么的也要拷过来。
拷贝完成以后,wiki-1.5.3这个目录已经可以删除了。

8.更改wiki目录权限
上面的操作我都用的root用户,wiki目录的所有者和组都是root,所以操作完后,记得要把wiki目录的属主改为其它的用户(这一步并不是必须)

#chown -R hrwang:rocket wiki

9.验证
好了,现在打开浏览器,输入 http://server ip/wiki 就可以访问了,我们点击”special pages”页面下的version查看版本,已经是1.9.3了,:)

注:升级里忽略了mysql数据库及php的升级,原因是我的RHEL3-U3里,php和mysql的版本已经满足安装mediawiki1.9.3的需求。

三、恢复

我们现在假设一种情况,例如有一天,服务器坏掉了,需要在一台新的服务器上重新搭建wiki。那么之前备份的数据就派上用场了。

1.将备份的文件解压,把wiki目录改名为media(可以不改),并放到http可访问的路径下

例如我用自己的脚本备份好的文件为mediawiki-1.9.3-20071107.tar.gz
[root@rocketcnvm test]#tar zxvf mediawiki-1.9.3-20071107.tar.gz
[root@rocketcnvm test]# ls
mediawiki-1.9.3-20071107.tar.gz rswiki.20071107.sql usr
[root@rocketcnvm test]#mv usr/local/apache2/htdocs/wiki /var/www/html/
[root@rocketcnvm test]#cd /var/www/html
[root@rocketcnvm test]#mv wiki media
注:新环境里,http的访问根目录是/var/www/html

2.做重新安装的准备

[root@rocketcnvm html]#cd media
[root@rocketcnvm media]# chmod a+w config
[root@rocketcnvm media]# mv LocalSetting.php LocalSetting.php.old
注:如果config目录下有以前的LocalSetting.php,删除它。

3.重新安装

在浏览器里输入 http://serverip/media/config/index.php 开始重新安装,安装过程中填入的信息也要和以前备份的时候一样(主要是wiki名,wiki数据库名,数据库用户,数据库用户密码,数据库前缀)。这么做是为了保持和以前备份的数据库一致。
例如我们这里填入的信息:
wiki名字:XiangWiki
wiki数据库库:rswiki
数据库用户: wiki
数据库密码:password
数据库前缀: rs_

安装完成后,新的数据库就生成了。

4.更改配置文件

[root@rocketcnvm media]# chmod a-w config
[root@rocketcnvm media]# mv config/LocalSetting.php ./
然后根据我们保存的LocalSetting.php.old来更改新的LocalSetting.php(就是把原来的一些设置再重新添加到新生成的LocalSetting.php里)。由于我们这个目录里是以前备份的,所以像插件,图片什么的都已经存在了,无需再做额外操作。

5.导入数据库

回到保存数据库备份的目录,执行:
[root@rocketcnvm test]#mysql rswiki < rswiki.20071107.sql

6.验证

在浏览器里输入 http://serverip/media , 看到了吗?和以前的一样。
分享到:
评论

相关推荐

    mediawiki开源

    ### Mediawiki开源:Linux Mediawiki文档...具体来说,包括数据库的备份与恢复、Web服务器的路径配置、MediaWiki核心功能的定制等。这些配置确保了MediaWiki能够高效稳定地提供服务,同时也满足了不同应用场景的需求。

    mediawiki-1.13.0.tar.gz

    升级过程涉及下载新版本,解压,备份现有的`LocalSettings.php`,然后将新版本覆盖旧版本,最后恢复配置文件。 MediaWiki 1.13.0 版本可能不支持最新的PHP和MySQL版本,因此在实际部署时需要考虑兼容性问题。此外,...

    mediawiki-1.31.14.tar.gz

    - **备份与恢复**:定期备份数据库和文件,确保数据安全;当需要时,可以通过MediaWiki的导入导出功能恢复数据。 综上所述,MediaWiki 1.31.14是一个强大的协作平台,提供了丰富的功能和高度的可定制性。通过正确...

    MediaWiki Info

    7. **API接口**:MediaWiki提供了丰富的应用程序编程接口(API),开发者可以通过API与其他系统集成或构建工具。 8. **搜索引擎优化**:MediaWiki支持元数据和自定义URL结构,有助于搜索引擎的索引和排名。 学习...

    MediaWiki部署安装包

    10. **备份与维护**:定期备份数据库和MediaWiki文件,以防数据丢失。监控服务器日志,及时发现并解决可能出现的问题。 通过以上步骤,您应该能够成功地部署并运行MediaWiki。记住,MediaWiki是一个强大的协作工具...

    mediaWiki1.23.6版本

    MediaWiki 1.23.6 是一...总之,MediaWiki 1.23.6是一个强大且灵活的wiki解决方案,与WAMP结合,让非技术用户也能轻松搭建自己的知识库。通过不断的更新和扩展,MediaWiki能够满足各种组织和个人的知识管理和共享需求。

    MediaWiki1.16.4

    升级过程通常涉及备份当前版本,下载新版本,然后替换核心文件,更新配置文件和数据库结构。 10. **社区支持**:MediaWiki拥有庞大的开发者和用户社区,可以在官方论坛、邮件列表和维基上找到各种文档、教程和问题...

    MediaWiKi linux Install package

    10. **更新与维护**:为了保持MediaWiki的安全性和功能,定期检查新的版本发布并按照上述步骤更新。 以上就是MediaWiki 1.18.1在Linux环境中的安装过程。安装后,你可以自定义外观、安装扩展、导入数据,并开始创建...

    Red Hat Linux 7.6 部署 MediaWiki 1.32.1.pdf

    MediaWiki的安装分为下载MediaWiki源码包并验证其完整性,然后运行MediaWiki安装程序,并创建与MySQL相关的数据库。这一步骤包括配置数据库连接,并填写必要的一些网站设置信息。 配置MediaWiki网页的步骤涉及设置...

    MediaWiki语法.pdf

    MediaWiki是维基媒体基金会所使用的一套开源维基软件,它允许创建内容丰富的在线协作百科网站。MediaWiki提供了丰富的语法和功能,使得用户能够便捷地编辑和格式化文本内容,从而创建结构化的文档。以下内容将详细...

    MediaWiki中文使用手册

    MediaWiki是由PHP开发的免费开源的维基程序,运行于...MediaWiki适合建立大型的百科网站,也有很多网站利用MediaWiki建立知识库系统,例如著名的Blog程序WordPress的官方网站的知识库体系就是基于MediaWiki搭建的。

    mediawiki-1.33.1.tar

    6. **maintenance** 文件夹 - 提供了一些管理脚本,用于执行数据库维护、升级、备份等任务。 7. **includes** 和 **languages** 文件夹 - 包含了MediaWiki的源代码和多语言支持。 8. **htdocs** 文件夹 - 通常包含...

    MediaWiki v1.23.0.zip

    MediaWiki更新说明: 添加好多新特性, 修复已知bug。   MediaWiki是全球最著名的wiki程序,运行于PHP MySQL环境。MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。目前...

    mediawiki-1.42资源包

    mediawiki-1.42资源包 MediaWiki是一个最初为维基百科量身打造的自由开源的wiki套件,用PHP语言写成。现在,非营利的维基媒体基金会下辖的所有wiki项目、互联网上的众多其他wiki网站以及MediaWiki主页都建基于此套...

    mediawiki环境搭建

    **MediaWiki环境搭建指南** MediaWiki是一款开源的、基于PHP的维基系统,最著名的应用是支持维基百科。它提供了强大的编辑工具和丰富的社区功能,使得创建和维护百科全书或其他协作项目变得简单易行。本文将详细...

    WYSIWYG_v1.20.2_MediaWiki_V1.21.*

    MediaWiki是一款开源的、强大的维基引擎,常用于构建类似维基百科的在线协作平台。它的灵活性和可扩展性使得用户可以根据...对于那些希望提高用户参与度和满意度的MediaWiki管理员来说,这是一个值得考虑的升级选项。

    mediawiki-1.9.3cn.zip

    《MediaWiki 1.9.3cn:解决SQL默认值问题与安装指南》 MediaWiki是一个强大、开源的维基引擎,广泛用于构建各种在线协作平台,如维基百科。在MediaWiki 1.9.3cn这个版本中,特别针对1.8版本存在的SQL创建表时设置...

    UCenter_MediaWiki_Discuz X2.rar

    《UCenter、MediaWiki与Discuz X2的整合与单点登录实现》 在互联网社区建设中,统一用户管理、信息共享以及多平台间的无缝切换是提升用户体验的关键。UCenter、MediaWiki和Discuz X2这三款软件各自在用户管理、百科...

    mediawiki-1.33.0部署程序.zip

    Mediawiki是一个强大的开源维基引擎,常用于创建和维护百科全书式网站,比如知名的Wikipedia就是基于Mediawiki构建的。本教程将详细讲解如何使用"mediawiki-1.33.0部署程序.zip"进行简单且直接的部署。 首先,我们...

Global site tag (gtag.js) - Google Analytics