MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
MediaWikiの設定 - 移行のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
MediaWikiの設定 - 移行
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== MochiuWikiの移行 == MochiuWiki(MediaWiki)のデータ移行をここに記載する。<br> <br><br> == 前準備 == MediaWikiディレクトリにあるimagesディレクトリのパーミッションと所有者および所有グループを以下のように変更する。<br> sudo chmod 777 images images/temp images/thumb images/archive sudo chown -R <ユーザ名>:<ユーザグループ名> images/ または sudo chmod 777 images images/temp images/thumb images/archive sudo usermod -aG www-data "$USER" sudo chown -R <ユーザ名>:www-data images/ <br> 次に、imagesディレクトリに存在する.htaccessファイルを以下のように編集する。<br> # 修正前 <IfModule rewrite_module> RewriteEngine On RewriteOptions inherit RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase] RewriteRule . - [forbidden] # Fix for bug T64289 Options +FollowSymLinks </IfModule> # 修正後 <IfModule rewrite_module> RewriteEngine On RewriteOptions inherit RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase] RewriteRule . - [forbidden] # Fix for bug T64289 # Options +FollowSymLinks </IfModule> <br><br> == MySQLのmysqldumpコマンドでバックアップする方法 == ===== バックアップの取得 ===== MySQLが同じバージョンかつ文字コード等が同じ設定のMySQLのみ復元できる可能性がある。<br> また、違うバージョンのMediaWikiでは復元できない可能性がある。<br> <br> コマンドラインからmysqldumpコマンドを使い手動でバックアップする。<br> 特殊な文字が存在する場合の欠落を防ぐため、--hex-blobオプションでバイナリデータを16進数表記文字列に変換して出力する。<br> 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 <br> もし、cronを使用して定期的にバックアップを取る場合、以下のように設定する。<br> 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 <br> ===== バックアップのインポート ===== 上記でバックアップしたデータベースを、既存の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 <br><br> == dumpBackup.phpツールでバックアップする方法 == ===== バックアップの取得 ===== maintenanceディレクトリで以下のコマンドを実行する。<br> 履歴も含めてすべてのページをxmlで取得できる。<br> php maintenance/dumpBackup.php --full --uploads > MochiuWiki_backup_20200101.xml // ページのエクスポート または php dumpBackup.php --current > MochiuWiki_backup_20200101.xml // ページのエクスポート <br> ===== バックアップのインポート ===== 新しいサーバ側で作業する。<br> maintenanceディレクトリで以下のコマンドを実行する。<br> すべてのページをインポートできる。<br> php maintenance/importDump.php < MochiuWiki_backup_20200101.xml <br><br> == 画像をバックアップする方法 == ===== バックアップの取得 ===== imagesディレクトリを圧縮するだけでよい。<br> tar -zcf /<出力するディレクトリ名>/MochiuWiki_images_backup_20200101.tar.gz /<MediaWikiのディレクトリ名>/images // 添付ファイルのアーカイブ <br> ===== バックアップのインポート ===== 画像やその他のアップロードされたファイルを復元する。<br> なお、PHPがセーフモードの場合、importImages.phpが実行できないので注意する。<br> 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 <br> imagesディレクトリ下にあるファイルを単一のディレクトリにコピーする。 cd ../ mkdir tmpimages cp tmp/images/*/*/* tmpimages <br> 画像やその他のアップロードされたファイルをインポートする。 php maintenance/importImages.php --overwrite tmpimages/ <br> レンタルサーバであるバリューサーバでは、以下のコマンドを実行する。<br> phpcli maintenance/importImages.php --overwrite tmpimages/ <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/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 <br><br> == 文字列の置換 == ==== 方法 1 (推奨) ==== まず、ReplaceTextの拡張ディレクトリに移動する。<br> cd /<Mediawikiのディレクトリ>/extensions/ReplaceText/maintenance <br> 次に、replaceAll.phpファイルを実行する。<br> phpcli replaceAll.php "置換前の文字列" "置換後の文字列" --user <Wikiユーザ名> # 試験実行することも可能 phpcli replaceAll.php "置換前の文字列" "置換後の文字列" --dry-run --user <Wikiユーザ名> # <code>--debug</code>オプションを付加して、実行時の詳細を表示することも可能 phpcli replaceAll.php "置換前の文字列" "置換後の文字列" --dry-run --user <Wikiユーザ名> --debug <br> EmbedVideoの拡張が存在する場合、以下に示すような警告 / エラーが出力される場合がある。<br> PHP Deprecated: Premature access to service container <br> この時、以下に示すように修正する。<br> # ファイルのバックアップ mv /<Mediawikiのディレクトリ>/extensions/EmbedVideo/EmbedVideo.hooks.php \ /<Mediawikiのディレクトリ>/extensions/EmbedVideo/EmbedVideo.hooks_org.php <br> [https://gitlab.com/jmnote/EmbedVideo/-/blob/master/EmbedVideo.hooks.php EmbedVideoのGitLab]にアクセスして、修正済みのファイルをダウンロードする。<br> ダウンロードしたファイルをEmbedVideoの拡張ディレクトリにアップロードする。<br> mv EmbedVideo.hooks.php /<Mediawikiのディレクトリ>/extensions/EmbedVideo/ <br> ==== 方法 2 (非推奨) ==== Mediawikiのトップページから、[特別ページ] - [文字列の置換]にアクセスして、文字列を置換する。<br> <br> Replace Textは、MediaWikiのジョブとして構成されており、ユーザが同時に多くのアクションを実行する場合があるため、システムに負荷が掛からないようになっている。<br> これは、大規模な置換はすぐには行われず、完了までに数分、数時間、あるいはそれ以上掛かることを意味する。<br> <br> ジョブはMediaWikiでページが閲覧されるたびに起動されるが、処理を速める(あるいは遅らせる)ために、ページが閲覧されたときに実行されるジョブの数を変更することができる。<br> したがって、優先順位の高い新しいジョブが無い場合、Replace Textは開始後すぐに停止する可能性がある。<br> 全てのジョブをすぐに実行するには、maintenance/runJobs.phpファイルを実行する。<br> chmod u+x maintenance/runJobs.php php74cli maintenance/runJobs.php <br><br> == sitemap.xmlの生成 == sitemap.xmlを生成する。<br> php<バージョン>cli maintenance/generateSitemap.php \ --fspath=<sitemap.xmlファイルを保存するディレクトリの相対パス> \ # このディレクトリは、オンラインで閲覧可能である必要がある --identifier=<データベース名> \ # LocalSettings.phpファイルにある$wgDBnameの値 --urlpath=/sitemap/ \ # --fspathオプションの値を指し示すドメインの相対URL (/sitemap/を指定する時、サイトマップインデックス内のファイル名の先頭に置かれる) --server=<MediaWikiのホームページのURL> \ --compress=no \ # 圧縮しない場合 --skip-redirects # リダイレクトしない場合 # 例 (PHP 8.1を使用している場合) php81cli maintenance/generateSitemap.php \ --fspath=sitemap/ \ # sitemap.xmlファイルを保存するディレクトリの相対パス (このディレクトリは、オンラインで閲覧可能である必要がある) --identifier=<データベース名> \ # LocalSettings.phpファイルにある$wgDBnameの値 --urlpath=/sitemap/ \ # --fspathオプションの値を指し示すドメインの相対URL (/sitemap/を指定する時、サイトマップインデックス内のファイル名の先頭に置かれる) --server=<nowiki>http://mochiuwiki.e2.valueserver.jp</nowiki> \ # MediaWikiのホームページのURL --compress=no \ # 圧縮しない場合 --skip-redirects # リダイレクトしない場合 <br> MediaWikiのトップディレクトリにsitemap.xmlのシンボリックリンクを作成する。<br> ln -fs sitemap/sitemap-index-<サイト名>.xml sitemap.xml <br><br> __FORCETOC__ [[カテゴリ:MochiuWikiの設定]]
MediaWikiの設定 - 移行
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse