MediaWikiのデータ移行と、エラー対処方法
Wikipediaでも利用されているWikiエンジンのMediaWiki。XML形式で出力することで、データのエクスポートやインポートが簡単にできるのも特徴です。
動作環境
MediaWikiのデータ移行方法
データのエクスポート
http://MediaWikiのURL/index.php/特別:データ書き出し
にアクセス- 古いMediaWikiの場合は
http://MediaWikiのURL/index.php/特別:Export
- 古いMediaWikiの場合は
- エクスポートするページ名を1行に1ページずつ記入して「書き出し」ボタンをクリック
- 全ページを出力する場合は、
http://MediaWikiのURL/index.php/特別:ページ一覧
をコピペすると便利
- 全ページを出力する場合は、
- 生成されたXMLファイルをダウンロード
データのインポート
http://MediaWikiのURL/index.php/特別:データ取り込み
にアクセス(管理者権限が必要)- 先ほど出力したXMLファイルを選択して「ファイルをアップロード」をクリック
- ファイルサイズがそれほど大きくなければ、インポートが完了するはず
データのインポートに失敗する場合
僕は30MBくらいのXMLファイルをインポートしようとしたのですが、「取り込みに失敗しました: セッションデータを損失しました。 もう一度試してください。」というエラーが表示されてインポートができませんでした。
これは、PHPの設定で、POSTもしくはアップロードの最大サイズが制限されているためです。
PHPの設定変更
php.ini
で以下の行の数値を変更してください。
$ sudo vi /etc/php5/apache2/php.ini
max_execution_time = 300 ; 処理をするのに十分な秒数を設定 max_input_time = 60 ; 処理をするのに十分な秒数を設定 memory_limit = 128M ; PHPが利用可能なメモリ量を十分な量に設定 file_uploads = On ; ファイルのアップロードを許可 post_max_size = 80M ; ファイルのアップロードに十分なサイズを指定 upload_max_filesize = 80M ; ファイルのアップロードに十分なサイズを指定
$ sudo service apache2 reload
僕の環境では、これで無事データのインポートに成功しました。
データのインポートが完了した後は、php.ini
をもとの設定に戻しておくことを推奨します。