「MediaWikiの設定 - 移行」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
3行目: 3行目:
<br><br>
<br><br>


== MySQLをフルバックアップする方法 ==
== MySQLのmysqldumpコマンドでバックアップする方法 ==
===== MySQLのバックアップ =====
===== バックアップの取得 =====
MySQLが同じバージョンかつ文字コード等が同じ設定のMySQLのみ復元できる可能性がある。<br>
MySQLが同じバージョンかつ文字コード等が同じ設定のMySQLのみ復元できる可能性がある。<br>
また、違うバージョンのMediaWikiでは復元できない可能性がある。<br>
また、違うバージョンのMediaWikiでは復元できない可能性がある。<br>
18行目: 18行目:
  0 0 1 * * mysqldump -Q --host=$MYSQL_SERVER --user=$MYSQL_USER --password=$MYSQL_PASSWD --default-character-set=binary --hex-blob $MYSQL_DB_NAME > MochiuWiki_DB_backup_20200101.sql
  0 0 1 * * mysqldump -Q --host=$MYSQL_SERVER --user=$MYSQL_USER --password=$MYSQL_PASSWD --default-character-set=binary --hex-blob $MYSQL_DB_NAME > MochiuWiki_DB_backup_20200101.sql
<br>
<br>
===== MySQLの復元 =====
===== バックアップのインポート =====
上記でバックアップしたデータベースを、既存のMySQLに復元する。
上記でバックアップしたデータベースを、既存のMySQLに復元する。
  mysql -h $MYSQL_SERVER -u $MYSQL_USER -p$MYSQL_PASSWD $MYSQL_DB_NAME < MochiuWiki_DB_backup_20200101.sql
  mysql -h $MYSQL_SERVER -u $MYSQL_USER -p$MYSQL_PASSWD $MYSQL_DB_NAME < MochiuWiki_DB_backup_20200101.sql
28行目: 28行目:
履歴も含めてすべてのページをxmlで取得できる。<br>
履歴も含めてすべてのページをxmlで取得できる。<br>
  php maintenance/dumpBackup.php --full --uploads > MochiuWiki_backup.xml  // ページのエクスポート
  php maintenance/dumpBackup.php --full --uploads > MochiuWiki_backup.xml  // ページのエクスポート
tar -zcf MochiuWiki_images_backup.tar.gz images/                        // 添付ファイルのアーカイブ
  または
  または
  php dumpBackup.php --current > MochiuWiki_backup.xml  // ページのエクスポート
  php dumpBackup.php --current > MochiuWiki_backup.xml  // ページのエクスポート
tar -zcf MochiuWiki_images_backup.tar.gz images/      // 添付ファイルのアーカイブ
<br>
<br><br>
===== バックアップのインポート =====
 
===== ページのバックアップのインポート =====
新しいサーバ側で作業する。<br>
新しいサーバ側で作業する。<br>
maintenanceディレクトリで以下のコマンドを実行する。<br>
maintenanceディレクトリで以下のコマンドを実行する。<br>
41行目: 38行目:
<br><br>
<br><br>


===== 画像のバックアップのインポート =====
== 画像をバックアップする方法 ==
画像やその他のアップロードされたファイルを復元する。
===== バックアップの取得 =====
imagesディレクトリを圧縮するだけでよい。<br>
tar -zcf MochiuWiki_images_backup_20200101.tar.gz images/  // 添付ファイルのアーカイブ
<br>
===== バックアップのインポート =====
画像やその他のアップロードされたファイルを復元する。<br>
なお、PHPがセーフモードの場合、importImages.phpが実行できないので注意する。<be>
  mkdir tmp
  mkdir tmp
  mv MochiuWiki_images_backup.tar.gz tmp
  mv MochiuWiki_images_backup.tar.gz tmp
55行目: 58行目:
画像やその他のアップロードされたファイルをインポートする。
画像やその他のアップロードされたファイルをインポートする。
  php maintenance/importImages.php tmpimages/
  php maintenance/importImages.php tmpimages/
<br><br>
<br>
サーバの移行でない(ディレクトリの移行)であれば、以下のコマンドを実行すれば画像をインポートできる。<br>
サーバの移行でない(ディレクトリの移行)であれば、以下のコマンドを実行すれば画像をインポートできる。<br>
  php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/0
  php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/0

2020年1月22日 (水) 03:48時点における版

MochiuWikiの移行

MochiuWiki(MediaWiki)のデータ移行をここに記載する。


MySQLのmysqldumpコマンドでバックアップする方法

バックアップの取得

MySQLが同じバージョンかつ文字コード等が同じ設定のMySQLのみ復元できる可能性がある。
また、違うバージョンのMediaWikiでは復元できない可能性がある。

コマンドラインからmysqldumpコマンドを使い手動でバックアップする。
特殊な文字が存在する場合の欠落を防ぐため、--hex-blobオプションでバイナリデータを16進数表記文字列に変換して出力する。

mysqldump -Q --host=$MYSQL_SERVER --user=$MYSQL_USER --password=$MYSQL_PASSWD --default-character-set=binary --hex-blob $MYSQL_DB_NAME > MochiuWiki_DB_backup_20200101.sql


もし、cronを使用して定期的にバックアップを取る場合、以下のように設定する。

crontab -e   # sudoは不要

# 毎月1日0時にバックアップを取得する
0 0 1 * * mysqldump -Q --host=$MYSQL_SERVER --user=$MYSQL_USER --password=$MYSQL_PASSWD --default-character-set=binary --hex-blob $MYSQL_DB_NAME > MochiuWiki_DB_backup_20200101.sql


バックアップのインポート

上記でバックアップしたデータベースを、既存のMySQLに復元する。

mysql -h $MYSQL_SERVER -u $MYSQL_USER -p$MYSQL_PASSWD $MYSQL_DB_NAME < MochiuWiki_DB_backup_20200101.sql



dumpBackup.phpツールでバックアップする方法

バックアップの取得

maintenanceディレクトリで以下のコマンドを実行する。
履歴も含めてすべてのページをxmlで取得できる。

php maintenance/dumpBackup.php --full --uploads > MochiuWiki_backup.xml  // ページのエクスポート
または
php dumpBackup.php --current > MochiuWiki_backup.xml  // ページのエクスポート


バックアップのインポート

新しいサーバ側で作業する。
maintenanceディレクトリで以下のコマンドを実行する。
すべてのページをインポートできる。

php maintenance/importDump.php < MochiuWiki_backup.xml



画像をバックアップする方法

バックアップの取得

imagesディレクトリを圧縮するだけでよい。

tar -zcf MochiuWiki_images_backup_20200101.tar.gz images/   // 添付ファイルのアーカイブ


バックアップのインポート

画像やその他のアップロードされたファイルを復元する。
なお、PHPがセーフモードの場合、importImages.phpが実行できないので注意する。<be>

mkdir tmp
mv MochiuWiki_images_backup.tar.gz tmp
cd tmp
tar -zxf MochiuWiki_images_backup.tar.gz


imagesディレクトリ下にあるファイルを単一のディレクトリにコピーする。

cd ../
mkdir tmpimages
cp tmp/images/*/*/* tmpimages


画像やその他のアップロードされたファイルをインポートする。

php maintenance/importImages.php tmpimages/


サーバの移行でない(ディレクトリの移行)であれば、以下のコマンドを実行すれば画像をインポートできる。

php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/0
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/1
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/2
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/3
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/4
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/5
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/6
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/7
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/8
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/9
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/a
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/b
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/c
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/d
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/e
php importImages.php --search-recursively --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/f


更に、.htaccessファイルを以下のようにに編集する。

【修正前】
# Protect against bug T30235
<IfModule rewrite_module>
       RewriteEngine On
       RewriteOptions inherit
       RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
       RewriteRule . - [forbidden]
       # Fix for bug T64289
       Options +FollowSymLinks
</IfModule>

【修正後】
# Protect against bug T30235
<IfModule rewrite_module>
       RewriteEngine On
       RewriteOptions inherit
       RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
       RewriteRule . - [forbidden]
       # Fix for bug T64289
       # Options +FollowSymLinks
</IfModule>