MediaWikiの設定 - その他

提供: MochiuWiki : SUSE, EC, PCB

概要



キャッシュの削除

MediaWikiのキャッシュを削除するには、いくつかの方法がある。

推奨される手順を以下に示す。

  • まず、Webインターフェースからの方法を試す。
  • 解決しない場合は、メンテナンススクリプトを使用する。
  • より徹底的な削除が必要な場合は、複数の方法を組み合わせる。


※注意

  • キャッシュクリアは一時的にサイトのパフォーマンスに影響を与える可能性がある。
  • 大規模なコンテンツの場合、キャッシュの再構築に時間が掛かることがある。
  • 本番環境での作業の場合は、メンテナンス時間中に実行することを推奨する。


Webインターフェースから削除 (管理者のみ)

  1. Special:サイト管理 (Special:Version) ページに移動する。
  2. ページ下部にある[キャッシュ]セクションにおいて、[キャッシュを空にする]を選択する。


maintenance scriptの使用

MediaWikiのインストールディレクトリに移動する。

cd <MediaWikiのインストールディレクトリ>


キャッシュ全体を削除する。

# MediaWiki 1.40以降の場合
php maintenance/run.php rebuildall または phpcli maintenance/run.php rebuildall
php maintenance/run.php update     または phpcli maintenance/run.php update

# MediaWiki 1.39以前の場合
php maintenance/rebuildall.php または phpcli maintenance/rebuildall.php
php maintenance/update.php     または phpcli maintenance/update.php


個別のキャッシュを削除する場合

MediaWikiのインストールディレクトリに移動する。

cd <MediaWikiのインストールディレクトリ>


# ローカライゼーションキャッシュの再構築
php maintenance/rebuildLocalisationCache.php または phpcli maintenance/rebuildLocalisationCache.php

# リソースローダーキャッシュの削除
php maintenance/refreshLinks.php または phpcli maintenance/refreshLinks.php


ファイルシステムから直接削除

MediaWikiのインストールディレクトリに移動する。

cd <MediaWikiのインストールディレクトリ>


キャッシュディレクトリの内容を削除する。

rm -rf ./cache/*


LocalSettings.phpで一時的にキャッシュを無効化

vi LocalSettings.php


 // LocalSettings.phpファイル
 
 $wgCacheDirectory    = false;
 $wgEnableParserCache = false;



削除ページの履歴の完全な削除

これは、復元不可能になるため注意が必要である。

全ての削除ページの履歴を完全に削除する場合は、まず、まず削除される件数を確認する。

# MediaWiki 1.40以降の場合
php maintenance/run.php deleteArchivedRevisions または phpcli maintenance/run.php deleteArchivedRevisions

# MediaWiki 1.39以前の場合
php maintenance/deleteArchivedRevisions.php


削除を実行する。
これにより、削除されたリビジョンが保存されているarchiveテーブルが消去されて、削除されたページのテキストも削除される。

# MediaWiki 1.40以降の場合
php maintenance/run.php deleteArchivedRevisions --delete または phpcli maintenance/run.php deleteArchivedRevisions --delete

# MediaWiki 1.39以前の場合
php maintenance/deleteArchivedRevisions.php --delete または phpcli maintenance/deleteArchivedRevisions.php --delete


次に、参照されていないテキストデータも削除するため、テキストデータをクリーンアップする。

# MediaWiki 1.40以降の場合
php maintenance/run.php purgeOldText --purge

# MediaWiki 1.39以前の場合
php maintenance/purgeOldText.php --purge または phpcli maintenance/purgeOldText.php --purge


削除記録を消去する。

  1. MariaDB または MySQLにログインする。
    mysql -u mochiu_wiki -p
  2. MediaWikiが使用しているデータベースを選択する。
    use <データベース名>;
    
  3. 削除記録を消去する。
     -- 全ての削除記録を削除する場合
     DELETE FROM logging WHERE log_type = 'delete';
     
     -- 特定の期間の削除記録を削除する場合
     DELETE FROM logging 
        WHERE log_type = 'delete' 
        AND log_timestamp BETWEEN '20240101000000' AND '20241231235959';
     
     -- 特定のユーザによる削除記録を削除する場合
     DELETE FROM logging 
        WHERE log_type = 'delete' 
        AND log_user = ユーザーID;
    


データベースの設定によっては、リビジョンを削除した後、SQLコマンドOPTIMIZE TABLE text, archiveを実行してアーカイブすることもできる。