激动啊,经过昨晚几个小时和今早一个小时的努力,离线版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_Page或http://zh.wikipedia.org/
本帖只测试了英文wiki,中文的道理应该是一样,但由于字符集差异,不保证能正常处理。对我来说,英文wiki内容更多,呵呵。
youminbuluo
2009年10月28日 @ 12:55
最近折腾touch上的离线wiki
可惜wiki文件不好找~~~~~~~
admin
2009年10月28日 @ 21:19
英文的http://download.wikimedia.org/enwiki/,进去找pages-articles.xml.bz2即可
中文的就把上面en改成zh