一台服务器上有多个MediaWiki实例

我们需要在一台服务器上运行几个需要完全独立用户帐户的MediaWiki Wiki。 什么是更好的解决scheme:

  1. 使用单独的源代码并在数据库中使用名称空间。
  2. 使用相同的源代码沿线,本质上,你创build一个自定义localsettings.php文件的每个网站,包含网站的具体信息,你有一个主要的localsettings.php文件,根据url发送到相关的网站特定LocalSettings.php中
  3. 符号链接除localsettings.php以外的所有源代码以及主文件夹中的任何其他相关文件。

很明显,能够为每个实例使用相同的代码会更好,因为它会使升级变得更容易。

在Ubuntu服务器上,运行在nginx和MySQL上的Apache是​​值得的

使用单独的源代码和单独的数据库。 这样,您可以在其中一个安装扩展或自定义主题,而不会影响其他人。

如果你真的知道你永远不会有一个定制的扩展/主题在一个而不是在其他wiki中,那么3.似乎是比2更好的select,但要记住上传文件夹(LocalSettings中有一个设置为指定path)

Mediawiki升级无论如何都是一件轻而易举的事情,所以我运行了2个完全独立的实例,包括一个plugins目录的副本和一个LocalSettings.php文件的副本(不是符号链接)。 我在几年前发现,试图在运行2次升级时节省几分钟会花费我几天时间才能正确设置,所以我只是不打扰了:)

2个DB,2个代码实例。 简单。 你可以非常容易地在两者之间导出和导入,也许有一天你想把它们合并在一起。

一个MediaWiki安装只不过是一个目录树和关联的数据库。 您可以根据需要运行尽可能多的并行安装。 需要共享的文件库的任何部分都可以使用符号链接来完成。 如果你想分享数据库的一部分,这只会变得棘手,因为这往往是一个单向的灾难之路,所以你最好不要忘记它。

那么,这是比这里的任何答案更新。

https://sharkysoft.com/wiki/how_to_configure_multiple_MediaWiki_instances_on_a_single_host

基本上,你创build另一个文件夹,符号链接到大多数的主要文件,删除一些符号链接,并设置独立的文件自己。

对于mediawiki v1.21.2,我没有AdminSettings.php删除,而config文件夹实际上被命名为mw-config 。 我还必须通过命令行(使用原始用户来执行)手动为新数据库创build一个新的mysql用户。