Manual:Wiki family/ja

このページでは小規模なウィキ ファミリーのインストールと設定について説明します.

Scenario 1: Using Virtual Directories with shared-hosting provider to Display Multiple Wikis
This approach takes advantage of symlinks on a Unix-based system. This technique can also be used on Windows systems, by installing a program providing symbolic links.

How to use "virtual directories" to operate more than one wiki on a single server, using the same source code (i.e. single set of MediaWiki files), using the same database, on a Unix-based system on a shared host:

See the solution, including step-by-step, detailed instructions: http://www.steverumberg.com/wiki/WikiHelp_-_Method_One

Note that using a language subdomain similar to Wikipedia (en.example.com, fr.example.com and so on) will allow you to produce the capabilities of the above link's Method 2 while providing a simple differentiation of the two wikis through the use of a web server's virtual host capability.

シナリオ 2: クイックセットアップ
同じソースコードと同じデータベースを使用して、一つのサーバで複数のwikiをインストールしたい場合です.


 * 1) 通常通りMediaWikiと追加ツールをインストールします
 * 2) wikiをセットアップします(例えばMyWiki)
 * 3) From browser, browse to the uploaded folder (for example, if your web server is running as   and MediaWiki files were uploaded to   folder, then the URL would be  ) which will lead to a page which gives a link to Please set up the wiki first. Click the link, fill-in the setup form, and install the first wiki (e.g., MyWiki). For details, see Manual:Config script.
 * 4) インストール成功後、LocalSettings.phpをwikiのルートディレクトリに移動させ、追跡しやすいようにリネームします(例えば、myWikiLocalSettings.php)
 * 5) それぞれのwikiに対して上記の作業を繰り返し、ローカルセッティングファイルを適切に合わせます(例えば、anotherWikiLocalSettings.phpなど)
 * 6) If two or more separately installed wikis are to be merged to operate out of files of the main wiki, then after renaming and moving each of your LocalSettings.php files to the main wiki folder, change the variable $wgScriptPath in the each of the LocalSettings.php files to point to the main wiki's folder.
 * 7) グローバル設定のためにLocalSettings.phpファイルを作成し、下記の2つの方法から一つを選択します:


 * If you have different domains/subdomains that link to one directory on your server, use this:


 * To link your subdomains to one directory on your server, you may have to edit the configuration file for your server (cannot be done with a  file, try changing   there in Apache web server setup) or, if your site has its own IP address, modify the DNS configuration for your site.


 * If your wikis are in different directories (e.g.,   etc) linked to the main wiki directory on your server (say  ), use this:


 * 2: サーバ上で一つのディレクトリにリンクする異なるドメインを持つ場合、次のコードを使用します:

それぞれのwikiごとに異なる独自のMySQLデータベース($wgDBnameを参照)もしくは異なるテーブルの接頭辞を使用することが出来ます($wgDBprefixを参照)Postgresに関しては、異なるスキーマを使用することで同様の効果を得ることが出来ます.

サーバ上でサブドメインを一つのディレクトリにリンクするためにサーバのためにコンフィギュレーションファイルを編集する(.htaccessファイルでは出来ません)もしくはDNSコンフィギュレーションを修正します(独自のIPアドレスを持つ場合).

シナリオ 3: Drupalスタイルのサイト
上記において、同じソースコードを使用して単独のサーバ上で複数のwikiをインストールしました. このセットアップはユーザに対して完全に透過的で画像ディレクトリに観点からはかなり安全であるというアドバンテージを持っています.


 * すべてのMediaWikiを含むベースディレクトリを作成します. 例えば です.
 * バージョンを宣言するディレクトリにMediaWikiと追加ツールを通常通りにインストールする(例えば、/home/web/mediawiki/mediawiki-1.10.0)
 * バージョン宣言のディレクトリをコードディレクトリにリンクします. 例えば、
 * 画像と設定を含むsitesディレクトリを作成します:
 * 通常のものとして/codeディレクトリからwikiをセットアップします.
 * インストール成功後に、LocalSettings.phpをサイトがチェックされときにマッチするsitesディレクトリに移動させます. 例えば、http://mysite.com/mywiki を捕らえるために、mysite.com.mywikiディレクトリを作成します. 例えば、 です. Drupalのsettings.phpファイルで詳細な情報を見ることが出来ます.
 * メディアファイルを使用するつもりでしたら. サイトのディレクトリにimagesディレクトリを作成します. 例えば、 です. 必要なら書き込み可能にして下さい.
 * Manual:Wiki family/Drupal-style LocalSettings.phpファイルをメインディレクトリに設置して下さい:
 * LocalSettings.phpを正しい位置を指定するように修正して下さい. 次の修正は特別な注意を払うのに値します:


 * Apache 2のインストールを準備して下さい. 例のサイトです: wiki.mysite.com
 * 適切なVHostコンフィギュレーションを作成して下さい:
 * 適切なVHostコンフィギュレーションを作成して下さい:

 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 #  

これでサイトは動作します. 私の場合、LocalSettings.phpとデータベースをインストールとアップデートするところから他のコードのコピーをしました.

シナリオ 4: 共通のリソースを共有する複数のwiki
異なる言語でwikiを所有し、同じメディアファイルを他の単独のwikiで共有します.

例です:


 * en.yourwiki.org - 英語
 * fr.yourwiki.org - フランス語
 * de.yourwiki.org - ドイツ語
 * pool.yourwiki.org - すべてこれらのためのメディアファイル(Commonsのように)
 * Wikimedia Commonsのために と命名されたインターウィキが既に存在するので、我々のメディアファイルwikiを"pool"と命名します. 
 * 作る前に考えて下さい; メディアファイルウィキを"media"のように呼ぶ場合(例えば、media.example.com)、埋め込みメディア画像のための内部の名前空間と命名方に衝突する可能性があります. ( [[media:file.ext]] )

インストール
ファイルシステム上において、それぞれのwikiのためにフォルダを作成します. それぞれのウィキのためにスクリプトを動作させて下さい. (この解決方法はソースコードを繰り返します. )

インターウィキ
MySQLデータベースを編集してすべてのwiki間のインターウィキリンクを設定しなければなりません


 * Interwikiテーブル
 *  iw_prefix - wikiの言語コードを入力します. ドイツ語は"de"、英語は"en"、"fr"はフランス語、mediapoolwikiは"pool"
 *  iw_url - wikiへの完全なURLのための場所です. 例えば" http://de.yourwiki.org/index.php/$1 "はドイツ語のwikiのためです("$1"を忘れずに!!!)

これで他の言語にある同じ記事にリンクすることが出来ます. Hauptseite を英語のMain_Pageに追加することで、ドイツ語のHauptseiteのページにリンクが作成されます. さらに詳細な情報についてはHelp:Interwiki linking/jaをご覧下さい.

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

"アップロードファイル"を変更しておくと便利です - 言語-wikiへのリンクがpoolwikiのアップロードサイトを指定します. それぞれの言語のwikiの"LocalSettings.php"を開き、以下のコードを追加します:

共有ファイルを使用する
言語wikiでpoolwikiのファイルを使用するために、それぞれのwikiの"LocalSettings.php"を開き、以下の行を追加して下さい:

これで多言語間のwikiで によってpoolのファイルを統合することが出来ます.

画像の説明
それぞれの言語wikiにおいて、(管理者として)MediaWiki:Shareduploadメッセージを開きます.

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

This file is stored in our data-pool. For information and description, please visit the description there.

(ノート : 初めに、そうではない場合、他の言語として解析されます(少なくとも1.9αでは))

PoolWikiで保存されたメディアの説明を出力したい場合、それぞれの言語wikiの"LocalSettings.php"に次のコードを追加して下さい:

共有設定
複数のwikiを所有している場合、おそらくそれらをまたがる同じような設定を共有したいでしょう. それは次のようにします. 下記で説明するように、他の設定よりも拡張機能の設定を他のファイルに分離することをお勧めします. それらに一つの大きなファイルを置くことが出来ますが、特定のニーズに依存していて柔軟性がありません.

ディレクトリ構造の例です: en/ es/ pl/ ja/ pool/ ExtensionSettings.php WikiFamilySettings.php SharedMediaSettings.php

拡張機能の設定

 * ステップ 1
 * 次の内容を持つExtensionSettings.phpと呼ばれるファイルを作成し上記の例と同じように設置します.
 * ステップ 2
 * 共有設定を使用したいそれぞれのwikiのLocalSettings.phpファイルを編集し次の内容を追加します


 * ステップ 3
 * 様々な拡張機能へのすべての参照を追加して下さい

Wikiファミリー設定
wikiファミリー全体に適用したい設定があるとします. 例えば、すべてのwikiを同時にリードオンリーモードに設定できるようにしたいとします. またデータベース(単体もしくは複数)のためにユーザ名/パスワード(すべて同じ)も保存したいとします. また、一つのファイルからwiki全体をまたがってユーザパーミッションをコントロールすることが出来ます.

ノート: Images/Media commonsもしくはpoolを使用する場合、WikiFamilySettings.phpファイルでこれらの設定を適用しないことを推奨します. この情報はリポジトリよりもwikiファミリーですべてのwikiに適用することのみに当てはまります. それを個別のファイルに設定することをお勧めします.

究極の最小解決方法
The "ultimate minimalist solution" consists of symlinks, $ ls -og lrwxrwxrwx 1 16 2008-11-03 06:29 aaa.example.org -> mediawiki lrwxrwxrwx 1 16 2008-11-03 06:29 bbb.example.org -> mediawiki lrwxrwxrwx 1 16 2008-11-03 06:29 ccc.example.org -> mediawiki Let's see a real example of. In real life we must deal with the slight differences in the names and databases of the sites we manage.

個別にメンテナンススクリプトを実行できることに注意して下さい

$ cd aaaa.example.org/maintenance && php update.php

バージョン1.11.0以降で試しました.