Manual:Wiki family/ja

以下は、複数のウィキを立ち上げるためにMediaWikiをセットアップする方法の説明です. 同じサーバーにある複数のウィキをウィキファミリーまたはウィキファームと呼びます. 既知のウィキファームの一覧はにあります.

ウィキファーム
以下の手順は、同じバージョンのMediaWikiで複数のウィキを動作させるためのものです.
 * 1) 最初のウィキを通常通りインストールします.  詳細はを参照してください.
 * 2) MediaWikiのインストールをすべてのwikiと共有するために、ウェブサーバを有効にします. 複数の(サブ)ドメインの場合、複数のサーバ名でlistenを使用することができます. 複数のサブディレクトリの場合、書き換えルール、エイリアス、またはシンボリックリンクを使用することができます.
 * 3) 現在のウィキを検出するためのコードを の先頭に追加する.  ドメイン名によるウィキの場合:
 * 4) すべてのウィキで異なる必要がある設定を行う例:
 * 5) ウィキごとのオーバーライドを設定する. これは少なくとも と を含むべきです.  これは、例えば別のファイルから行うことができます:

新しいウィキを作成するには、まずそのデータベースを作成し、設定を追加してから、 を実行します.

設定ファイルの分割
この方法は、完全に独立したWikiを運用しながらも、同じウェブサーバーとMediaWikiのソースコードを共有するためのものです.


 * 1) 最初のウィキを通常通り、ウェブもしくはCLIインストーラ経由でインストールします. データベースをセットアップして、ファイルを生成します.
 * 2) インストール後、生成された ファイルの名前を のようにウィキID（データベース名など）を含むように変更します.
 * 3) 作成したいウィキごとに、上記のステップ1と2を繰り返します.
 * 4) 正しいファイルを読み込む ファイルを新規に作成します.

もしウィキが同じドメインにありながら、異なるパス（例： 、 など）にある場合は、次のような使い方ができます.

Drupalスタイルのサイト
この設定は、ユーザーに対して完全に透明であり、画像ディレクトリの点でもそれなりに安全であるという利点があります.


 * 1) すべてのMediaWikiファイルを格納する基底ディレクトリを作成する. 例:
 * 2) MediaWikiと追加ツールを通常通り、バージョンを宣言するサブディレクトリ(例: )にインストールします.
 * 3) バージョンを宣言するディレクトリをコードディレクトリにリンクする.  例
 * 4) 画像と設定を含むsitesディレクトリを作成:
 * 5) 通常通り「/code」ディレクトリからウィキをセットアップします.
 * 6) インストール成功後に、  をサイトチェック時に適合する /site ディレクトリに移動します.  例えば、 http://example.com/mywiki をキャプチャするために、example.com.mywikiというディレクトリを作成する.  例   これについては、Drupalの ファイルを参照してください.
 * 7) メディアファイルを使用する場合は、サイトディレクトリにimagesディレクトリを作成してください.  例    必要に応じて書き込み可能に設定.
 * 8) Drupal スタイルの   ファイルをメインディレクトリに設置:
 * 9) 各サブサイトの を修正し、適切な場所を指すようにします:
 * 10) まず、 に関するコード（1.15.3の16-20行目）をコメントアウトします. これは、 によってcodeディレクトリに設定されるためです.
 * 11) 次に、画像ファイルにアクセスできるように、次の2行を挿入します. 例:と 変数のリセットを防ぐため、2行の挿入位置は  (1.15.3の25行目)呼び出しより以降にする.
 * 12) 必要に応じて、さらに修正を加えてください.
 * 13) Apache 2のインストールを準備します. サンプルサイト: wiki.example.com
 * 14) 必要であれば、codeディレクトリへのリンクを作成. 例
 * 15) 適切なVHost構成を作成:
 * 11. サイトをローカルに設置する場合は、 ファイルをサイト名に更新してください. これでサイトは正常に動作するはずです.

私の場合、 やデータベースのインストールや更新をするために、そこからコードの別のコピーを作成しました. なお、コマンドラインからメンテナンススクリプトを実行する場合、付属のDrupalコードのは未定義であるため、この解決策では、何らかの修正なしにメンテナンススクリプトを使用することはできません.

Ubuntu用に修正されたDrupalスタイル方式
Ubuntu/Kubuntuで複数のウィキと複数の（あるいはネストした）サブウィキを作成するための簡略な方法は、上記の方法と基本同じであり、以下のサイトに掲載されています.
 * Ubuntuguide.org MediaWiki のコツ

ウィキ間の共有のコツ
アップロードされたメディアファイルをウィキ間で共有するためにを利用することができます. これは、ウィキペディアのためのウィキメディアコモンズに似ています.

例:


 * en.example.org -
 * fr.example.org -
 * de.example.org -
 * pool.example.org - すべてのウィキで共有されるメディアファイル.

データベーステーブルの共有
利用者アカウントに共有データベースを使用することを検討してください. 共有データベーステーブルの設定方法については、を参照してください.

インターウィキ
を利用することで、すべてのウィキ間でウィキ間リンクを作成することができます. ウィキが言語版である場合、インターウィキの接頭辞に正確な言語コードの名前を付けることをお勧めします. 例えば、あなたの家族のドイツ語版ウィキには"de"とします. こうすることで、同じテーマに関するページを言語リンクでつなげることができます.

英語版のメインページに Hauptseite を追加すると、言語サイドバーに「ドイツ語版」というリンクが作成されます. 詳細情報は を参照してください.

ファイル用のセントラルウィキがある場合は、それ用のプレフィックスも作成してください. 例： → https://pool.example.org/wiki/$1 、「転送」チェックボックスを有効にすると、同系列のローカルウィキとして認識されます.

アップロード
pool-wikiの「images」フォルダが書き込み可能であることを確認します.

言語版ウィキの「ファイルのアップロード」リンクを、poolwikiのアップロードサイトに変更するのが便利です. 各言語版ウィキのLocalSettings.phpを開き、以下のコードを追加.

1.17では、赤リンクでpool-wikiにリダイレクトされるように も設定する必要があります.

プールウィキにのみアップロードを許可したい場合は、以下のような使い方をします.

共有ファイルを利用
言語版ウィキで poolwiki のファイルを使用するには、それぞれの言語版ウィキの「LocalSettings.php」を開き、以下の行を追加します.

これで多言語ウィキにおいて pool ディレクトリから複数のファイルを呼び出そうとした時、例えば というメディアに統一できます.

画像の説明
各言語版ウィキで、メッセージMediaWiki:Sharedupload-desc-hereを（管理者として）開いてください.

次のようにテキストを変更します.

このファイルはここでのデータプールに保存されます. 情報と説明については、こちらの説明を参照してください.

(ここで英文の先頭の「:」に注目. これを書くとページ左側のウィキ間リンクの一覧で「pool」を読み込まなくなります. )

共有ディレクトリの poolwiki に保存したメディアの説明文を出力したい場合、それぞれの言語版ウィキの「LocalSettings.php」に以下のコードを追加します:

ウィキファームの拡張機能
1つのコードベースを使って複数のWikiのホスティングを簡素化しようとするMediaWikiの拡張機能がいくつかありますが、現在注目すべきは1つだけです.


 * - beta.


 * : For localisation issues of the and customising the Skins regarding the files ,  ,  ,  ,  ,   respectively.

関連項目

 * システム構成データベース: コメント受付
 * MediaWiki Farmers user group ならびに Wikifarm (ウィキファミリー利用者グループとメーリングリスト)
 * Manual:中央管理 ID — ユーザーのアカウントに「中央管理」用の識別子を与えるメカニズム.
 * MediaWiki Farmers user group ならびに Wikifarm (ウィキファミリー利用者グループとメーリングリスト)
 * Manual:中央管理 ID — ユーザーのアカウントに「中央管理」用の識別子を与えるメカニズム.
 * Manual:中央管理 ID — ユーザーのアカウントに「中央管理」用の識別子を与えるメカニズム.
 * Manual:中央管理 ID — ユーザーのアカウントに「中央管理」用の識別子を与えるメカニズム.