首页 > 咬口苹果 > MAC OS X离线版Wikipedia部署教程

MAC OS X离线版Wikipedia部署教程

2009年9月4日 ern 发表评论 阅读评论

激动啊,经过昨晚几个小时和今早一个小时的努力,离线版Wikipedia在我的MacBook上终于实现了!现在,除掉iPhone/iPod Touch上有离线版Wikipedia,咱们的MAC OS X也能离线浏览最新的Wikipedia备份啦!

下面简单说说实现方法。

方法来源:http://users.softlab.ece.ntua.gr/~ttsiod/buildWikipediaOffline.htm。这里的方法原本是面对Linux的,不过我在MAC OS X上同样实现了。所以大家需要移植到其他Linux/UNIX的同样可以借鉴。

说明:以下教程需要较多命令行指令,涉及开发包编译、安装……所以,请大家要么有一定开发或者LINUX/UNIX维护基础,要么心细胆大

实现方面,本帖采用的离线法主要是重新索引和切割Wikipedia的镜像包,通过将文字内容重新格式显示为HTML页面而达到阅读的目的。另一种离线方法是直接镜像Wikipedia,即在本地Apache、MySQL等架站,将镜像包重新倒回到本地数据库。相比较而言,后者功能更全面,你可以修改本地的内容,但是速度非常慢,使用时也需要打开数据库,相对比较麻烦。我这里实现的方法,对查询浏览已经足够了。

我的环境:MAC OS X 10.6(Snow Leopard),必须安装Xcode,和Xcode中包含的UnixDev Tools这个环境

需要的开发包:PHP5(5.2.9-7)、xapian-core-1.0.15、Django-1.1、mediawiki_sa

开发包说明:

1.注意PHP5最新版本是5.3.0,但是采用5.3.0时,会提示错误,从而无法调用mediawiki_sa,Snow Leopard里自带的是PHP 5.3.0,因此需要单独安装;

下面开始安装

一、Django

解压缩文件,打开终端进入解压出来的目录,执行:

sudo python setup.py install

会提示输入密码,输入正确密码后会自动安装,过程很短。

二、PHP5.2.9-7

下载下来是一个pkg文件,双击安装即可。默认是安装到/usr/local/php5里。打开终端,运行:

/usr/local/php5/bin/php -v

反馈是PHP的版本,显示下面信息则代表安装完成:

PHP 5.2.9 (cli) (built: Mar 26 2009 15:16:31)

Copyright (c) 1997-2009 The PHP Group

Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

注意如果直接php -v会自动引用MAC OS X自带的版本。

三、xapian-core-1.0.15

这个比较麻烦,因为针对MAC OS X有个bug,需要手工修正。解压缩下载的文件,然后用文本编辑器(推荐用TextWrangler之类)打开common里的gnu_getopt.h,参考http://trac.xapian.org/changeset/13437,增加61行和66行。记住保存哦。

然后打开终端进入解压缩出来的目录

./configure

make

sudo make install

./configure

make

sudo make install

最后一步同样需要输入密码。make需要的时间比较长,请耐心等待。过程中消耗CPU也比较厉害。最终的结果应该类似:

Making install in tests

make  install-am

make[4]: Nothing to be done for `install-exec-am'.

make[4]: Nothing to be done for `install-data-am'.

四、开始部署

下载主安装包和mediawiki_sa安装包,分别解压缩,并将mediawiki_sa解压出来的目录放到主安装包目录(offline.wikipedia)中。修改主目录中的show.pl,修改第64行为:

system("cd ../mediawiki_sa/ && /usr/local/php5/bin/php testparser.php /var/tmp/result > /var/tmp/result.tmp");

然后修改第一行的文件名为你下载的Wikipedia镜像包文件名,将镜像包放到主目录的wiki-splits目录下。打开终端,进入这个主目录:

make wikipedia

等吧,会依次进行分割、索引、写文件等等,耗时很长的,建议晚上扔那里自己做就行了,最后提示:

To run your local wikipedia, just

cd mywiki

python manage.py runserver

and point your browser to http://localhost:8000/

至此,部署完成!

五、使用

打开终端,进入主目录的mywiki目录,执行

python manage.py runserver

正常将提示:

Validating models...

0 errors found

Django version 1.1, using settings 'mywiki.settings'

Development server is running at http://127.0.0.1:8000/

Quit the server with CONTROL-C.

此时打开Safari,地址栏输入http://127.0.0.1:8000/,回车后就可以看到主页啦。注意不要关闭终端窗口哦。

需要退出时,在刚才那个终端窗口按下Ctrl+C就可以了。以后需要再次启动,只要执行第五步就行了。

最后统一提供下安装包下载位置:

xapian-core-1.0.15: http://xapian.org/download

Django-1.1: http://www.djangoproject.com/download/

php5 5.2.9-7: http://www.entropy.ch/software/macosx/php/

主安装包: http://users.softlab.ece.ntua.gr/~ttsiod/offline.wikipedia.tar.bz2

mediawiki_sa: http://users.softlab.ece.ntua.gr/~ttsiod/mediawiki_sa.tar.7z

英文Wikipedia镜像: http://download.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2

最后,还不知道什么是wikipedia的,请访问:http://en.wikipedia.org/wiki/Main_Pagehttp://zh.wikipedia.org/

本帖只测试了英文wiki,中文的道理应该是一样,但由于字符集差异,不保证能正常处理。对我来说,英文wiki内容更多,呵呵。

  1. youminbuluo
    2009年10月28日12:55 | #1

    最近折腾touch上的离线wiki
    可惜wiki文件不好找~~~~~~~

  2. 2009年10月28日21:19 | #2

    英文的http://download.wikimedia.org/enwiki/,进去找pages-articles.xml.bz2即可
    中文的就把上面en改成zh

  1. 本文目前尚无任何 trackbacks 和 pingbacks.