web-dev-qa-db-ja.com

1つのサーバー上のMediaWikiの複数のインスタンス

1つのサーバーで、完全に別個のユーザーアカウントを必要とする複数のMediaWikiWikiを実行する必要があります。より良い解決策は何でしょうか:

  1. 別のソースコードを使用し、データベースで名前空間を使用します。
  2. this の行に沿って同じソースコードを使用します。基本的に、サイト固有の情報を含むサイトごとにカスタマイズされたlocalsettings.phpファイルを作成し、URLに応じてマスターlocalsettings.phpファイルを作成します。関連するサイト固有のlocalsettings.phpにあなたを送ります
  3. Localsettings.phpおよびマスターフォルダーからの他の関連ファイルを除くすべてのソースコードをシンボリックリンクします。

明らかに、アップグレードがはるかに簡単になるため、すべてのインスタンスに同じコードを使用できる方がよいでしょう。

Ubuntuサーバー、nginxとMySQLに散りばめられたApacheで実行する価値があります

4
Jon Rhoades

別のソースコードと別のデータベースを使用します。そうすれば、他の人に影響を与えることなく、拡張機能やカスタムテーマをそれらの1つにインストールできます。

1つのウィキにはカスタム拡張機能/テーマがなく、他のウィキにはないことが本当にわかっている場合は、3が2よりも良い選択のようですが、アップロードフォルダーを覚えておいてください(LocalSettingsに次の設定があります)パスを指定してください)

6
Michael Stum

Mediawikiのアップグレードはとにかく楽勝なので、プラグインディレクトリのコピーとLocalSettings.phpファイルのコピー(シンボリックリンクではない)を含む、2つの完全に別個のインスタンスを実行します。数年前、2つのアップグレードを実行するのに数分節約しようとすると、正しくセットアップするのに数日かかることがわかったので、もう気にしません:)

2つのDB、2つのコードインスタンス。シンプル。その場合、2つを非常に簡単にエクスポートおよびインポートできます。おそらく、1日はそれらをマージする必要があります。

5
gbjbaanb

MediaWikiのインストールは、ディレクトリツリーと関連するデータベースにすぎません。並列インストールはいくつでも実行できます。共有する必要のあるファイルベースの任意の部分は、シンボリックリンクを使用して行うことができます。データベースの一部を共有したい場合にのみ注意が必要です。それは災害への一方通行の道である傾向があるため、データベースに近づかないことをお勧めします。

4
John Gardeniers

さて、これはここでのどの答えよりも新しいです。

https://sharkysoft.com/wiki/how_to_configure_multiple_MediaWiki_instances_on_a_single_Host

基本的に、別のフォルダを作成し、ほとんどのメインファイルへのシンボリックリンクを作成し、一部のシンボリックリンクを削除して、個別のファイルを自分で設定します。

Mediawiki v1.21.2の場合、削除するAdminSettings.phpがなく、configフォルダーの名前は実際にはmw-configです。また、コマンドラインから新しいデータベース用の新しいmysqlユーザーを手動で作成する必要がありました(元のユーザーを使用して作成しました)。

0
B T