Hatena::Diary

Mizuguchiの日記

2009-11-19

Wikipediaインストール-mediawikiインストール、データ追加

20:57

mediawikiインストール

# cd /path-to-install
# svn co -r58524 http://svn.wikimedia.org/svnroot/mediawiki/branches/wmf-deployment
# cd wmf-deployment
# chmod 777 config
Apacheを設定
# vi /etc/httpd/conf.d/wikipedia.conf

##### Settings for wikipedia
Alias /wikipedia/ "/path/to/mediawiki/"

# /etc/init.d/httpd restart
mediawiki設定

http://localhost/wikipedia/を参照し、設定。

DataBase設定で、Mysql 4.1 5.0 utf8 を選択。

# cp config/LocalSettings.php ./
# chmod 700 config
# rm config/LocalSettings.php

データ追加

http://meta.wikimedia.org/wiki/Data_dumps を参照。

mwdumperで page, revision, text のSQL生成

http://download.wikimedia.org/tools/ から mwdumper をダウンロード

gccjavaで以下を実行。

$ java -Xmx512m -Xms128m -XX:NewSize=32m -XX:MaxNewSize=64m -XX:SurvivorRatio=6 -XX:+UseParallelGC -XX:GCTimeRatio=9 -XX:AdaptiveSizeDecrementScaleFactor=1 -server -jar mwdumper.jar --output=gzip:pages_full_1.5.sql.gz --format=sql:1.5 jawiki-20091102-pages-articles.xml.bz2
(1時間くらい)
データを追加
$ mysql -u wikiuser -p wikidb < maintenance/tables.sql
$ mysql -u wikiuser -p wikidb
mysql> truncate table page;
mysql> truncate table revision;
mysql> truncate table text;
mysql> quit
$ for i in `ls jawiki-*.sql.gz`; do echo $i; zcat $i | mysql -u wikiuser -ppasswd wikidb; done >log 2>&1
(4時間くらい)
$ cat log
...
jawiki-20091102-protected_titles.sql.gz
ERROR 1062 (23000) at line 39: Duplicate entry '0-' for key 1
...

ということでエラーなので、SQLを分割して入れてみる。mysqlの-fオプションでエラーSQLを無視して実行してくれる。

$ zcat jawiki-20091102-protected_titles.sql.gz | perl -ne 's/\),\(/\);\nINSERT INTO protected_titles VALUES\(/g; print' | mysql -f -u wikiuser -p wikidb

次はpage,text,revisionを入れる

$ zcat pages_full_1.5.sql.gz | mysql -u wikiuser -p wikidb
(12時間くらい)

で、必要に応じて、最後に、maintenance/update.phpを実行。

$ php maintenance/update.php
(24時間?)

参考

http://meta.wikimedia.org/wiki/%E3%83%98%E3%83%AB%E3%83%97:MediaWiki%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

http://meta.wikimedia.org/wiki/Data_dumps

2009-11-11

Wikipediaインストール-データダウンロード、Mysql5.1セットアップ、PHP5.2.xセットアップ

20:14

メモ:

環境は、Centos5.4。

1、データダウンロード

http://download.wikimedia.org/jawiki/20091102/

jawiki-20091102-category.sql.gz
jawiki-20091102-categorylinks.sql.gz
jawiki-20091102-externallinks.sql.gz
jawiki-20091102-image.sql.gz
jawiki-20091102-imagelinks.sql.gz
jawiki-20091102-interwiki.sql.gz
jawiki-20091102-langlinks.sql.gz
jawiki-20091102-oldimage.sql.gz
jawiki-20091102-page.sql.gz
jawiki-20091102-pagelinks.sql.gz
jawiki-20091102-page_props.sql.gz
jawiki-20091102-page_restrictions.sql.gz
jawiki-20091102-protected_titles.sql.gz
jawiki-20091102-redirect.sql.gz
jawiki-20091102-site_stats.sql.gz
jawiki-20091102-templatelinks.sql.gz
jawiki-20091102-user_groups.sql.gz
jawiki-20091102-pages-articles.xml.bz2

2、wikipediaが使っているMYSQLPHPのバージョン

http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1

MediaWiki 1.16alpha-wmf (r58524)

PHP 5.2.4-2ubuntu5.7wm1 (apache2handler)

MySQL 4.0.40-wikimedia-log

3、MYSQL 5.1.x セットアップ

# yum -y groupinstall "MYSQL Database"
# vi /etc/my.cnf
[mysqld]
default-character-set=utf8
character_set_server=utf8
skip-character-set-client-handshake
[mysql]
default-character-set=utf8
# /etc/init.d/mysqld start
# chkconfig --list mysqld
# chkconfig mysqld on
# mysqladmin -u root password 'password'
# mysqladmin -u root -ppassword create wikidb
# mysql -u root -ppassword
mysql> grant all on wikidb.* to wikiuser identified by 'password';
mysql> grant all on wikidb.* to wikiuser@localhost identified by 'password';

4、PHP 5.2.xセットアップ

Centos5のデフォルトでは php 5.1.x なので、違うところからとってくる。

PHPのサイトに行くと http://iuscommunity.org/ に誘導されるので、これを使いましょ。

# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-2.ius.el5.noarch.rpm
# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
# rpm -Uvh ius-release*.rpm epel-release*.rpm
# vi /etc/yum.repos.d/epel.repo 
enabled=0
# vi /etc/yum.repos.d/ius.repo 
enabled=0
# rpm -qa | grep php

ここでインストールされている php モジュールがあれば、削除。

僕の場合は無いので、そのまま次へ

# yum --enablerepo=ius --enablerepo=epel install php52-gd php52-cli php52-odbc php52-mbstring php52-pdo php52 php52-xml php52-common php52-ldap php52-mysql php52-imap
# php -v
PHP 5.2.11 (cli) (built: Oct 27 2009 13:59:31) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
# httpd -t
Syntax OK
# /etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

参考:

  1. http://ja.wikipedia.org/wiki/Wikipedia:%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89
  2. http://wiki.iuscommunity.org/Doc/ClientUsageGuide

Centos5インストールメモ

18:57

VMware player 3 上に、Centosインストール中。

VMwareで、仮想ハードディスクを20G一本作成。

これをSCSIとしてCentos5.4_64を入れる。

1、通常にインストール

2、とりあえず、お約束

# yum update
# vi /etc/inittab
起動時のモードを3に変更

3、VMwareメニュー - [VM] - [VMwareToolsインストール]

# tar xvfz /media/VMWare Tools.tar.gz
# cd vmware-tools-distrib/
# ./vmware-install.pl

4、vncserver設定

$ vncserver
$ vncserver -kill :1
$ vi ~/.vnc/xstartup
unset SESSION_MANAGER
vncconfig -iconic &
exec /etc/X11/xinit/xinitrc

# vi /etc/sysconfig/vncserver
# chkconfig vncserver on
# reboot

5、追加インストール

# yum -y groupinstall Emacs
# yum -y groupinstall "Development Tools"
# yum -y groupinstall "Development Lib*"
# yum -y groupinstall "MYSQL Database"

MYSQL GUI TOOLS をインストール

http://dev.mysql.com/downloads/gui-tools/5.0.html からLinux binaryを取得。

# cd /opt/
# tar xvfz path-to/mysql-gui-tools-5.0r12-linux-x86_64.tar.gz  
$ cp /opt/mysql-gui-tools-5.0/MySQLAdministrator.desktop Desktop/
$ cp /opt/mysql-gui-tools-5.0/MySQLQueryBrowser.desktop Desktop/

ということでした。

参考

http://www.linuxmania.jp/mysql_01.html

2009-07-20

CiNiiのウェブAPIコンテスト

13:03

今日からはてなダイアリーをはじめることにしてみました。

研究を進めていると、これに関連する論文を簡単に取得したい!

とかって、すぐ思うものです。

だいたい、Googleで論文検索してサーベイとかを見ながら、参考文献をたどって、、、。

などとやっています。

が、もっと簡単にできないかなぁと日ごろから思うわけです。

キーワード検索→参考文献で参照数上位→キーワード抽出

→キーワード検索→、、、

または、

キーワード検索→参考文献で参照数上位→さらに参考文献参照数上位

→、、、

とか。

せっかくだから欲しいものを自分で作ってみるかなと思い立ち少しずつ調べることにしました。

で、前に公開されて少し気になっていたCiNiiウェブAPIコンテストを少し調べてみました。

実施要領はここ。

http://ci.nii.ac.jp/info/ja/web_api_contest_2009.html

定義されているAPIは以下。

・OpenURL 受信機能(http://ci.nii.ac.jp/info/ja/if_link_receive.html

URLを指定して検索結果ページを表示する。

HTTP GetのAPIが公開されている感じでしょう。

・OpenURL 送信機能(http://ci.nii.ac.jp/info/ja/if_linksetting.html

特定IDでログインしているユーザに対し、特定サービスへのリンクを設定するためのAPI。

これはあまり関係ないかな。

・OpenSearch (http://ci.nii.ac.jp/info/ja/if_opensearch.html

URLを指定して検索結果を得るAPI。

結果をRSS1.0かATOM1.0で受け取れる。

・RDF表示機能 (http://ci.nii.ac.jp/info/ja/if_rdf.html

詳細検索結果ページをRDFで受け取れるAPI。

最後のRDF表示機能で、「参考文献」取得できれば結構いい感じと思っていたら、

取得できないようですね。

#注:まだ試していないのでわかりません。少なくとも説明ページにはなかった。

ただ、「キーワード」はあるようです。

うーん、いまいち。