Manual:Wiki family/ja

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

基本原則
ウィキファミリーの最も一般的な構成は、全てのウィキを単一のMediaWikiで実行します. このシナリオでは、次の一般的なステップが必要です.
 * 1) 通常のMediaWikiサイトをインストールし、そこからデータベーステンプレートを作成します. このデータベースは、中身が完全に空（どのテーブルにもデータがない）であっても、ウィキファミリーの任意のメンバーウィキ用のデータ (何らかの初期ページや利用者、インターウィキリンク等々) があっても、どちらでも構いません.  詳細は  を参照してください.
 * 2) 複数の場所からのトラフィックを1つのMediaWikiに制御するためにウェブサーバーをセットアップします. これは複数のドメイン、サブドメイン、またはサブディレクトリのためであり、シンボリックリンク、エイリアス、URLリライト、または他のメカニズムで行うことができます.
 * 3) LocalSettings.phpで、大きく4つの部分に分かれてファミリーを設定します. For wikis by domain name:
 * 4) 次に、ウィキ識別子の値を元にした設定変数を設定します. 例えば:
 * 5) さらに、ウィキ毎に値が異なる設定変数を設定します. 例えば: これらは、例えば$codeのような別のファイルからインクルードすることもできます.

ウィキファミリーに新しいウィキをインストールする手順は、データベースを新規作成し、データベーステンプレートをインポートして、 を実行するだけです. アップグレードやその他のメンテナンス作業も同様です.

巨大switch構文
これにより、同じソースコードのチェックアウトを使用して、1つのサーバーに複数のWikiをインストールすることが可能になります.


 * 1) MediaWikiのファイルをウェブサーバーのwebフォルダにアップロードします.
 * 1) インストールに成功したら $LocalSettingsをあなたのウィキのルートディレクトリに移動し、何らかの規則に基く識別しやすい名前に ファイル名を変更 します (例:LocalSettings_myFirstWiki.php).
 * 1) 上記の手順2と手順3を作成するウィキの数だけ繰り返し、各ウィキ用の新しいLocalSettings.phpファイルを作成します(例:LocalSettings_anotherWiki.php等々).
 * 1) グローバル設定用のLocalSettings.phpファイルを1つ作成し、以下のどちらかの設定を行います:

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

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

 ServerAdmin me@myserver.com DocumentRoot /home/web/wiki.mysite.com ServerName wiki.mysite.com CustomLog /var/log/apache2/wiki.mysite.log common # Alias for the site to be accessible Alias /mediawiki/code /home/web/mediawiki/code # Alias for Wiki so images work Alias /images /home/web/mediawiki/sites/wiki.mysite.com/images # If you want to password protect your site #  #   AuthType Basic #   AuthName "My protected Wiki" #   AuthUserFile /etc/apache2/htpasswd/users-mywiki #  require valid-user #  
 * 1) すべてのMediaWikiを含むベースディレクトリを作成します. 例えば です.
 * 2) バージョンを宣言するディレクトリにMediaWikiと追加ツールを通常通りにインストールする (例えば )
 * 3) バージョン宣言のディレクトリをコードディレクトリにリンク.  例
 * 4) 画像と設定を含む「sites 」ディレクトリを作成:
 * 5) ウィキを通常の「/code」ディレクトリからセットアップ.
 * 6) インストール成功後に、LocalSettings.php をサイトチェック時に適合する /site ディレクトリに移動.  例: http://mysite.com/mywiki に対応するため、mysite.com.mywiki ディレクトリを作成.  例   詳細は Drupal の settings.php ファイルを参照.
 * 7) メディアファイルを使用するなら、サイトのディレクトリに images ディレクトリを作成.  例    必要なら書き込み可能に設定.
 * 8) Drupal-style LocalSettings.phpファイルをメインディレクトリに設置:
 * 9) サブサイトごとに LocalSettings.php の位置を修正. 次の修正には特に注意:
 * 10) まず   関連のコードをコメントアウト (1.15.3 では16-20行) 、  で「code」ディレクトリに指定されるのを回避.
 * 11) 続いて以下の2行を挿入、画像ファイルへのアクセスを設定. 例: 、 変数のリセットを防ぐため、2行の挿入位置は   (1.15.3 では25行) 呼び出しより以降にする.
 * 12) 必要に応じて他の調整をする.
 * 13) Apache 2 のインストールを準備. 例: wiki.mysite.com
 * 14) 必要なら「code」ディレクトリにリンクを作成. 例
 * 15) 適切なVHost 構成を作成:
 * 11. サイトをローカルに開設した場合、 ファイル名をサイト名に変更.  これでサイトは動作します.

私の場合、LocalSettings.phpとデータベースをインストールとアップデートするところから他のコードのコピーをしました. 注意点は、付随する Drupal コードに記入した は、コマンドラインからメンテナンスのスクリプトを走らせた場合に定義されないため、この方式を採用すると、加工しない限り、標準のメンテナンスのスクリプトは使えません.

Ubuntu 用に修正した Drupal スタイル方式
Ubuntu/Kubuntu で複数のウィキとサブウィキ (ネスト式を含む) を作成するには、上記の Drupal スタイルと基本的には同じ考え方で修正した、簡略版の方式が利用できます.
 * Ubuntuguide.org MediaWiki のコツ

共通リソースを共有した並列ウィキ
言語毎に複数のウィキを用意し、さらに別に 1 つウィキを用意してここでメディアファイルを共有するのは、よい方法です.

例えば:


 * en.example.org -
 * fr.example.org -
 * de.example.org -
 * pool.example.org - これら全てのウィキ用のメディアファイル（コモンズと同様）

データベース テーブルの共有
共有データベースの設定の手順は Manual:Shared database を参照してください.

ウィキ間リンク
MySQL データベースを編集してすべてのウィキ間のウィキ間リンクを設定しなければなりません (お好みで をインストールしてご使用ください). インターウィキのテーブルには、作成する複数のウィキに対応するレコードをすべて入力します. (例＝日本語版用、英語版用、メディア用等)

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

それから両方のウィキでは共有フォルダを2番目の接頭辞「pool」 http://pool.yourwiki.org/index.php/$1 として追加、チェックボックス「Forward」をオンにします.

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

「Upload file-言語版ウィキ」リンクが poolwiki のアップロードサイトを指すよう、言語版ごとに設定を変更しておくと便利です. それぞれの言語版ウィキの LocalSettings.php を開き、以下のコードを追加.

1.17 の場合は $wgUploadMissingFileUrl を赤字リンクの時に pool-wiki にリダイレクトするように設定が必要.

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

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

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

画像の説明
それぞれの言語ウィキにおいて、(管理者として) 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 — ユーザーのアカウントに「中央管理」用の識別子を与えるメカニズム.