Manual:Wiki family/zh

下面是如何设置MediaWiki来托管多个wiki的说明.

座落在同一台服务器上的多个wiki被称为wiki家族或wiki农场. 在裏有一個知名wiki农场列表.

How wiki farms are handled in maintenance scripts
MediaWiki维护脚本（例如update.php）接受一个 参数，该参数将作为常数 、 和 传递给你的文件. 参数的全部值是 的值.

本表展示了这如何工作：

Since there is no  argument for web requests, they must be handled differently. 通常情况下，域名和/或URL路径被用来选择一个wiki.

方法


维基农场
以下步骤是在相同版本的MediaWiki中运行多个wiki


 * 1) 正常安装第一个wiki.  更多资料，請看.
 * 2) 启用您的Web服务器用来和所有wiki共享您的MediaWiki安装. 对于多个（子）域，可以侦听多个服务器名称使用. 对于多个子目录，你可以使用重写规则、别名或符号链接.
 * 3) 在 顶部添加如下代码，解析当前wiki.  Note that if the argument to   contains a hyphen, the argument will be split on the hyphen and the resulting two values assigned to   and , respectively. 对于按域名分类的wiki：
 * 4) 設定所有wiki必要的不同的设置. 例如：
 * 5) 設定前一個维基的改写. 这应该包括至少和.  这可以从单独的文件完成，例如：

要创建新的 wiki，请先创建其数据库并添加其设置，然后运行.



单独的设置文件
这种方法是用于操作完全独立的wiki們，但仍共享相同的Web服务器和MediaWiki源代码.


 * 1) 像往常一样，通过Web或CLI安装程序安装第一个wiki，这会设置您的数据库并生成一个文件.
 * 2) 安装后，重命名生成的 文件以包含wiki ID（例如数据库名称），如.
 * 3) 对要创建的每个wiki重复上述步骤1和2.
 * 4) 创建一个新的 文件，该文件将加载正确的文件.  As with the above wiki farm example, a   argument containing a hyphen will be split on the hyphen into two values assigned to   and , respectively.

如果你的wiki在同一个域上，但路径不同（例如 ， 等），你可以这样操作：



Drupal样式的网站
This setup has the advantage of being completely transparent to users and reasonably secure in terms of the images directory.


 * 1) Create a base directory to contain all your MediaWiki files e.g..
 * 2) Install MediaWiki and additional tools as usual to a version-declaring subdirectory (e.g.,  ).
 * 3) Link the version-declaring directory to a code directory. 示例：
 * 4) Create a sites directory to contain our images and settings:
 * 5) Setup the wiki as normal from the /code directory.
 * 6) After successful installation, move   into a sites directory that will be a match when the site is checked. For example, to capture http://example.com/mywiki, one would create the directory example.com.mywiki. 示例：   See the Drupal's   file for more information on this.
 * 7) If you intend to use media files, create an images directory in your site directory. 示例：    Make it writable as necessary.
 * 8) Place the Drupal-style   file in your main directory:
 * 9) Modify the   of each subsite to point to the right places:
 * 10) First comment out the code relating to, (lines 16-20 in 1.15.3) as this is set to the code directory by.
 * 11) Next insert the following two lines to ensure that image files are accessible, e.g.:  and . These need to be put somewhere after the call to   (line 25 in 1.15.3), as the variables will otherwise be reset.
 * 12) Make further modifications as required.
 * 13) Prepare your Apache 2 installation. Example site: wiki.example.com
 * 14) Create a link to the code directory, if required e.g.
 * 15) Create an appropriate VHost configuration:
 * 11. If you are setting the sites up locally, update your  file with the site names. The site should now work.

In my case, I made another copy of the code from which to install and update my  and databases. 注意从命令行运行维护脚本时，配套 Drupal 代码中的 未定义，因此此解决方案不能够在不做修改的情况下使用维护脚本.



Ubuntu 的 Drupal 样式设置方法
A simplified method for multiple wikis and multiple (or nested) subwikis on Ubuntu/Kubuntu that is loosely based on the above method can be found at:


 * Ubuntuguide.org MediaWiki tips



多个维基共享公共资源
你希望在一个单独的维基包含一些不同语言的其它维基，它们共享相同的媒体文件.

例如：


 * en.example.org -
 * fr.example.org -
 * de.example.org -
 * pool.example.org - 所有wiki的共享媒体文件.



共享数据表
请考虑对用户帐户使用共享数据库. 有关设置共享数据库表的说明，请参阅.

跨Wiki
您可以使用在所有wiki之间创建interwiki链接. 如果wiki是语言编辑版本，建议在确切的语言代码之后命名跨维基前缀. 例如，“de”代表您农场中的德语wiki. 这样，您可以使用语言链接连接有关同一主题的页面.

在英文“主页”上添加 de：Hauptseite 将在语言侧边栏中创建一个链接“Deutsch”. 更多信息请参见.

如果你有一个用于文件的中央wiki，也要为此创建一个前缀. 例如， 到 https://pool.example.org/wiki/$1 ，并启用“转发”复选框以将其识别为同一系列中的本地 wiki.

上传
首先确认 pool-wiki 文件夹的“images”权限是可写的.

将language-wikis的"Upload file"链接更改为指向 poolwiki 的上传站点很重要. 打开每种语言维基的“LocalSettings.php”，然后添加：

在1.17中，您还必须设置才能重定向到红色链接上的pool-wiki.

如果想要只允许pool wiki上传，使用以下内容：



共享文件
要在语言维基中使用poolwiki的文件，请为每个语言wiki打开“LocalSettings.php”并添加：

现在，您可以将池的文件与语言维基中的文件（例如 ）集成.



图像描述
在每个languagewiki中打开（以管理员身份）消息 MediaWiki:Sharedupload-desc-here.

将文本更改为：

该文件存储在数据池中（data-pool）. 有关信息和说明，请访问描述.

（请注意行首的“:”，它阻止“pool”包含在页面左侧的跨维基列表中. ）

如果你想输出存储在PoolWiki中的媒体描述，请添加到语言维基的“LocalSettings.php”中：



wiki農場擴充功能
有几个 MediaWiki 扩展试图通过仅使用一个代码库来简化多个 wiki 的托管，但目前只有一个值得参考：


 * - beta.


 * : 用于的本地化问题并分别自定义相关参数, ,  ,  ,  ,  的皮肤.



其它说明

 * — 用户帐户可以有一个额外的'central'标识符的机制.
 * — 用户帐户可以有一个额外的'central'标识符的机制.
 * — 用户帐户可以有一个额外的'central'标识符的机制.
 * — 用户帐户可以有一个额外的'central'标识符的机制.
 * — 用户帐户可以有一个额外的'central'标识符的机制.