「MediaWikiの設定 - 移行」の版間の差分
93行目: | 93行目: | ||
画像やその他のアップロードされたファイルをインポートする。 | 画像やその他のアップロードされたファイルをインポートする。 | ||
php maintenance/importImages.php --overwrite tmpimages/ | php maintenance/importImages.php --overwrite tmpimages/ | ||
<br> | |||
レンタルサーバであるValue Server上では、以下のコマンドを実行する。<br> | |||
# PHP 7.4の場合 | |||
php74cli maintenance/importImages.php --overwrite tmpimages/ | |||
# PHP 8.0の場合 | |||
php80cli maintenance/importImages.php --overwrite tmpimages/ | |||
<br> | <br> | ||
サーバの移行でない(ディレクトリの移行)であれば、以下のコマンドを実行すれば画像をインポートできる。<br> | サーバの移行でない(ディレクトリの移行)であれば、以下のコマンドを実行すれば画像をインポートできる。<br> | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/0 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/0 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/1 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/1 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/2 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/2 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/3 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/3 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/4 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/4 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/5 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/5 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/6 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/6 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/7 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/7 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/8 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/8 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/9 | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/9 | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/a | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/a | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/b | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/b | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/c | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/c | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/d | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/d | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/e | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/e | ||
php importImages.php --search-recursively --overwrite --user= ユーザ名 /var/www/html/旧mediawikiのディレクトリ/images/f | php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/f | ||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:MochiuWikiの設定]] | [[カテゴリ:MochiuWikiの設定]] |
2021年6月3日 (木) 00:30時点における版
MochiuWikiの移行
MochiuWiki(MediaWiki)のデータ移行をここに記載する。
前準備
mediawikiディレクトリにあるimagesディレクトリのパーミッションと所有者および所有グループを以下のように変更する。
sudo chmod 777 images images/temp images/thumb images/archive sudo chown -R <ユーザ名>:<ユーザグループ名> images/
次に、imagesディレクトリに存在する.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>
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 または mysqldump --host=$MYSQL_SERVER --user=$MYSQL_USER -p --default-character-set=utf8mb4 $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 --host=$MYSQL_SERVER --user=$MYSQL_USER --password=$MYSQL_PASSWD $MYSQL_DB_NAME < MochiuWiki_DB_backup_20200101.sql または mysql --host=$MYSQL_SERVER --user=$MYSQL_USER -p $MYSQL_DB_NAME < MochiuWiki_DB_backup_20200101.sql
dumpBackup.phpツールでバックアップする方法
バックアップの取得
maintenanceディレクトリで以下のコマンドを実行する。
履歴も含めてすべてのページをxmlで取得できる。
php maintenance/dumpBackup.php --full --uploads > MochiuWiki_backup_20200101.xml // ページのエクスポート または php dumpBackup.php --current > MochiuWiki_backup_20200101.xml // ページのエクスポート
バックアップのインポート
新しいサーバ側で作業する。
maintenanceディレクトリで以下のコマンドを実行する。
すべてのページをインポートできる。
php maintenance/importDump.php < MochiuWiki_backup_20200101.xml
画像をバックアップする方法
バックアップの取得
imagesディレクトリを圧縮するだけでよい。
tar -zcf /<出力するディレクトリ名>/MochiuWiki_images_backup_20200101.tar.gz /<MediaWikiのディレクトリ名>/images // 添付ファイルのアーカイブ
バックアップのインポート
画像やその他のアップロードされたファイルを復元する。
なお、PHPがセーフモードの場合、importImages.phpが実行できないので注意する。
cd /var/www/html/mediawiki mkdir tmp mv MochiuWiki_images_backup_20200101.tar.gz tmp cd tmp tar -zxf MochiuWiki_images_backup_20200101.tar.gz
imagesディレクトリ下にあるファイルを単一のディレクトリにコピーする。
cd ../ mkdir tmpimages cp tmp/images/*/*/* tmpimages
画像やその他のアップロードされたファイルをインポートする。
php maintenance/importImages.php --overwrite tmpimages/
レンタルサーバであるValue Server上では、以下のコマンドを実行する。
# PHP 7.4の場合 php74cli maintenance/importImages.php --overwrite tmpimages/ # PHP 8.0の場合 php80cli maintenance/importImages.php --overwrite tmpimages/
サーバの移行でない(ディレクトリの移行)であれば、以下のコマンドを実行すれば画像をインポートできる。
php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/0 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/1 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/2 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/3 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/4 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/5 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/6 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/7 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/8 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/9 php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/a php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/b php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/c php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/d php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/e php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/f