Sunday, December 28, 2008

架了一个本地wikipedia镜像

1.前提
安装LAMP,安装wikidia。系统中要有可以实际运行的一个wikipedia。安装Java的
jre,
2.下载
下载镜像文件4G,
$wget http://download.wikimedia.org/enwiki/20081008/enwiki-20081008-pages-articles.xml.bz2
或者下载中文文件在120M(可以看出中文与英文的内容区别了吧):
$wget http://download.wikimedia.org/zhwikisource/20081223/zhwikisource-20081223-pages-articles.xml.bz2
下载转换工具
$wget http://download.wikimedia.org/tools/mwdumper.jar
3.转换前准备工作
(1)删除数据库中无用的表
$mysql -p wikidb
Password: ******
mysql> delete from page;
mysql> delete from revision;
mysql> delete from text;
(2)设置MySQL
sudo /etc/mysql/my.cnf
加如下内容:
[mysqld]
max_allowed_packet = 128M
innodb_log_file_size = 100M
[mysql]
max_allowed_packet = 128M
然后重启mysql,使设置生效
$/etc/init.d/mysql restart
4.导入数据
将转换工具与数据放入同一个目录,在该目录中运行如下命令:
$sudo java -Xmx600M -server -jar mwdumper.jar --format=sql:1.5 enwiki-20061130-pages-articles.xml.bz2 | mysql -u westnorth -p wikidb
会提示输入密码,要分别输入系统用户的密码及数据库的密码
5.善后工作
清理日志文件
$ mysql -u root reset master;
修复数据库
$ mysql -p wikidb
mysql> repair table pagelinks extended;
mysql> repair table page extended;
mysql> repair table templatelinks extended;
6.正常显示内容
现在,很多页面打开还不正常,需要扩展(Extension).在安装前需要知道wiki的
版本号.在站点名后加上"/index.php/Special:Version",得到wikipedia的版本号。
如44056。设wiki安装在"~/www/wiki"
$ mkdir ~/extensions
$ svn co -r 44056 http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions ~/extensions
安装扩展
$ cd ~/extensions
$ mkdir ~/www/wiki/extensions/ParserFunctions
$ cd ParserFunctions
$ cp * ~/www/wiki/extensions/ParserFunctions
$ cd ..
$ cd Cite
$ cp * ~/www/wiki/extensions/
$ cd ..
$ cp -a CategoryTree/ ~/www/wiki/extensions/
$ cp -a wikihiero ~/www/wiki/extensions/
然后编辑配置文件~/www/wiki/LocalSettings.php,添加以下内容
require_once("$IP/extensions/ParserFunctions
/ParserFunctions.php");
$wgUseTidy=true;
require_once("$IP/extensions/Cite.php");
$wgUseAjax = true;
require_once("$IP/extensions/CategoryTree
/CategoryTree.php");
require_once("$IP/extensions/wikihiero/wikihiero.php");
这时应该可以正常显示大部分的Wikipedia页面了。
如果要显示数学公式,需要安装Latex、ghostscript、imagemagick、
mediawiki-math
编辑配置文件~/www/wiki/LocalSettings.php,追加以下内容:
$wgUseTeX=true
这时所有的数学公式应该都可以正常显示了。
资料基本是参考
http://www.surftastic.info/index.php?q=uggc%3A%2F%2Fjjj.kkyvahk.pbz%2Fyvahk%2Fnegvpyr%2Fargjbex%2Ffreire%2F20070904%2F9623.ugzy
至于最原始的内容出自哪儿,就不得而知了

No comments:

Post a Comment