自前ウィキペディア日本語版

提供: ディーズガレージ wiki
移動先: 案内検索

自前ウィキペディア日本語版を作成してみます。
何かを落としてます。完全に再現できていません。

環境

ESXiにUbuntu16.04LTSを設定
Unityデスクトップ環境嫌いなのでGNOME Classicに変更

$ sudo apt-get install gnome
デフォルトのディスプレイマネージャー LightDM

ログアウトし再ログイン時にUbuntuアイコンからClassic選択
appstreamcliエラーが出るので対処
参考: Ubuntu 16.04のapt updateでappstreamcliが固まりアップデートができない問題

IP固定

ネットワークカード名確認

$ ifconfig

enp0s3

$ sudo gedit /etc/network/interfaces

末尾に追記

auto enp0s3
iface enp0s3 inet static
address 192.168.1.191
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1

再起動

$ sudo reboot

遠隔操作

VNCがうまく設定できないのでESXiのコンソール画面を使用

下調べ

参考: Wikipedia:データベースダウンロード
参考: Data dumps/xml2sql

xml2sqlはXMLダンプをインポートする推奨方法ではありません。
概要についてはmw:Manual:Importing XML dumpsを参照してください。

参考: Manual:Importing XML dumps

importDump.phpは一般的な使用には推奨されていますが非常に大きなデータセットでは遅いです。
大規模なWikipediaのダンプなど非常に大量のデータの場合はMWDumperを使用しリンクテーブルを個別のSQLダンプとしてインポートします。

参考: Manual:MWDumper

もう少し調べてみると
参考: Data dumps
参考: Data dumps/Tools for importing

  • mwdumper - Javaツール。ここでダウンロードしマニュアルも参照してください。
  • mwxml2sql - *nixプラットフォーム用Cプログラム。
  • mwimport - Perlスクリプト。英語以外のプロジェクトの手作業による編集が必要。ソース
  • mwdum.py - これまでのところメモリ占有量が少なく普通の速度のPythonツール。"parentid"(これはmwdumperではやっていないと思われる)を含みこれまでのところユニコード問題はありません。

LAMPのインストール

参考: Manual:Running MediaWiki on Debian or Ubuntu

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php php-xml php-mbstring
$ sudo apt-get install php-apcu php-intl imagemagick php-cli phpmyadmin
$ sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/phpmyadmin.conf
$ sudo service apache2 restart

確認

http://192.168.1.191
http://192.168.1.191/phpmyadmin

MediaWikiのインストール

$ wget https://releases.wikimedia.org/mediawiki/1.29/mediawiki-1.29.1.tar.gz
$ tar -xvzf mediawiki-*.tar.gz
$ sudo mkdir /var/lib/mediawiki
$ sudo mv mediawiki-*/* /var/lib/mediawiki

PHPの設定

$ sudo gedit /etc/php/7.0/apache2/php.ini
変更箇所
upload_max_filesize = 20M
memory_limit = 128M
既に128M以上に設定されている場合はそのまま

MediaWikiの設定

$ cd /var/www/html
$ sudo ln -s /var/lib/mediawiki mediawiki

確認

http://192.168.1.191/mediawiki

set up the wiki

言語
あなたの言語:ja - 日本語
ウィキの言語:ja - 日本語

続行→

MediaWiki へようこそ! 

続行→

データベースに接続
データベースの種類:MySQL(または互換製品)
データベースのホスト:localhost
データベース名:mediawiki
データベース テーブルの接頭辞:(空白)
データベースのユーザー名:root
データベースのパスワード:********

続行→

データベースの設定
☑インストール作業と同じアカウントを使用する 
ストレージ エンジン:InnoDB
データベースの文字セット:UTF-8

続行→

MediaWiki 1.29.1 のインストール
ウィキ名:Wikipedia
プロジェクト名前空間:ウィキ名と同じ: Wikipedia
利用者名:********
パスワード:********
パスワードの再入力:********
メールアドレス:*********@gmail.com
☑私にもっと質問してください。

続行→

オプション
利用者権限のプロファイル:承認された編集者のみ
著作権とライセンス:ライセンスのフッターを付けない
メール送信を有効にする 無効
外装  Vector この外装をデフォルトとして使う
拡張機能 全部有効
☑ファイルのアップロードを有効にする
削除されたファイルのためのディレクトリ:/var/lib/mediawiki/images/deleted
ロゴ のURL:$wgResourceBasePath/resources/assets/wiki.png
Instant Commons 機能を有効にする 無効
オブジェクトのキャッシュの設定:PHPオブジェクトキャッシュ (APC、APCu、XCache、WinCache のいずれか)

続行→

インストール

続行→
続行→

完了!

LocalSettings.phpをダウンロード
LocalSettings.phpのファイルがダウンロードされるので、Ubuntuの/var/lib/mediawikiに入れる
管理者権限でエラー出るのでホームディレクトリに置いて

$ cd ~
$ sudo mv LocalSettings.php /var/lib/mediawiki/

確認

http://192.168.1.191/mediawiki

MySQLの設定

ログイン

$ mysql -u root -p

確認

$ show variables like "chara%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

終了

$ exit

全てutf8でないと文字化けが発生するようなので修正

$ sudo gedit /etc/mysql/my.cnf

追記

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8

mysqlの再起動

$ sudo service mysql restart

ログイン

$ mysql -u root -p

確認

$ show variables like "chara%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

データベースのインポート

ダウンロード

$ gedit download.lst

コピーペースト

https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-category.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-categorylinks.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-change_tag.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-externallinks.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-geo_tags.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-image.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-imagelinks.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-iwlinks.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-langlinks.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-page.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-page_props.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-page_restrictions.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pagelinks.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-protected_titles.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-redirect.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-site_stats.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-sites.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-templatelinks.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-user_groups.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-wbc_entity_usage.sql.gz
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2
https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-md5sums.txt

実行

$ wget -i download.lst

jawiki-latest-md5sums.txt修正

$ gedit jawiki-latest-md5sums.txt

latestが日付になってしまってるので全てlatestに置換
以下はダウンロードしてないので一覧から削除

jawiki-latest-stub-meta-history1.xml.gz
jawiki-latest-stub-meta-history2.xml.gz
jawiki-latest-stub-meta-history3.xml.gz
jawiki-latest-stub-meta-history4.xml.gz
jawiki-latest-stub-meta-current1.xml.gz
jawiki-latest-stub-meta-current2.xml.gz
jawiki-latest-stub-meta-current3.xml.gz
jawiki-latest-stub-meta-current4.xml.gz
jawiki-latest-stub-articles1.xml.gz
jawiki-latest-stub-articles2.xml.gz
jawiki-latest-stub-articles3.xml.gz
jawiki-latest-stub-articles4.xml.gz
jawiki-latest-stub-meta-history.xml.gz
jawiki-latest-stub-meta-current.xml.gz
jawiki-latest-stub-articles.xml.gz
jawiki-latest-pages-articles1.xml-p1p168815.bz2
jawiki-latest-pages-articles2.xml-p168816p649442.bz2
jawiki-latest-pages-articles3.xml-p649447p1593311.bz2
jawiki-latest-pages-articles4.xml-p1593314p3093314.bz2
jawiki-latest-pages-articles4.xml-p3093314p3698714.bz2
jawiki-latest-pages-meta-current1.xml-p1p168815.bz2
jawiki-latest-pages-meta-current2.xml-p168816p649446.bz2
jawiki-latest-pages-meta-current3.xml-p649447p1593311.bz2
jawiki-latest-pages-meta-current4.xml-p1593314p3093314.bz2
jawiki-latest-pages-meta-current4.xml-p3093314p3698714.bz2
jawiki-latest-pages-meta-current.xml.bz2
jawiki-latest-pages-articles-multistream.xml.bz2
jawiki-latest-pages-articles-multistream-index.txt.bz2

MD5チェックサム比較

$ md5sum -c jawiki-latest-md5sums.txt

テーブル

解凍

$ gzip -d jawiki-latest-category.sql.gz jawiki-latest-categorylinks.sql.gz jawiki-latest-change_tag.sql.gz jawiki-latest-externallinks.sql.gz jawiki-latest-geo_tags.sql.gz jawiki-latest-image.sql.gz jawiki-latest-imagelinks.sql.gz jawiki-latest-iwlinks.sql.gz jawiki-latest-langlinks.sql.gz jawiki-latest-page.sql.gz jawiki-latest-page_props.sql.gz jawiki-latest-page_restrictions.sql.gz jawiki-latest-pagelinks.sql.gz jawiki-latest-protected_titles.sql.gz jawiki-latest-redirect.sql.gz jawiki-latest-site_stats.sql.gz jawiki-latest-sites.sql.gz jawiki-latest-templatelinks.sql.gz jawiki-latest-user_groups.sql.gz jawiki-latest-wbc_entity_usage.sql.gz

インポート
一括でインポートするコマンドが見当たらず

$ mysql -u root -p mediawiki < jawiki-latest-category.sql
$ mysql -u root -p mediawiki < jawiki-latest-categorylinks.sql
$ mysql -u root -p mediawiki < jawiki-latest-change_tag.sql
$ mysql -u root -p mediawiki < jawiki-latest-externallinks.sql
$ mysql -u root -p mediawiki < jawiki-latest-geo_tags.sql
$ mysql -u root -p mediawiki < jawiki-latest-image.sql
$ mysql -u root -p mediawiki < jawiki-latest-imagelinks.sql
$ mysql -u root -p mediawiki < jawiki-latest-iwlinks.sql
$ mysql -u root -p mediawiki < jawiki-latest-langlinks.sql
$ mysql -u root -p mediawiki < jawiki-latest-page.sql
$ mysql -u root -p mediawiki < jawiki-latest-page_props.sql
$ mysql -u root -p mediawiki < jawiki-latest-page_restrictions.sql
$ mysql -u root -p mediawiki < jawiki-latest-pagelinks.sql
$ mysql -u root -p mediawiki < jawiki-latest-protected_titles.sql
$ mysql -u root -p mediawiki < jawiki-latest-redirect.sql
$ mysql -u root -p mediawiki < jawiki-latest-site_stats.sql
$ mysql -u root -p mediawiki < jawiki-latest-sites.sql
$ mysql -u root -p mediawiki < jawiki-latest-templatelinks.sql
$ mysql -u root -p mediawiki < jawiki-latest-user_groups.sql
$ mysql -u root -p mediawiki < jawiki-latest-wbc_entity_usage.sql

ページ

MWDumper使ってみます

$ sudo apt-get update
$ sudo apt-get install maven openjdk-8-jdk
$ git clone https://phabricator.wikimedia.org/diffusion/MWDU/mwdumper.git
$ cd mwdumper
$ mvn compile
$ mvn package
$ cd ~
$ mv mwdumper/target/mwdumper-1.25.jar $HOME
$ mysql -u root -p
mysql> use mediawiki;
mysql> TRUNCATE TABLE page; TRUNCATE TABLE text; TRUNCATE TABLE revision; TRUNCATE TABLE redirect;
mysql> exit
$ java -jar mwdumper-1.25.jar --format=sql:1.25 jawiki-latest-pages-articles.xml.bz2 | sudo mysql -u root -p mediawiki --default-character-set=utf8
$ php /var/www/html/mediawiki/maintenance/rebuildall.php

ERROR 1054 (42S22) at line 62: Unknown column 'page_counter' in 'field list'
format=sql:1.5パラメータを使うとpage_counterが見つからないエラーが出るのでformat=sql:1.25を使用。

メモ

例えば、日本、東京、アメリカ合衆国などが無い
infoBoxなどのテンプレートが一切無いように見える

画像

メモ

初期HDD使用量…7.5GB