来自新人:一个 mediawiki 安装程序可以有两个 wiki 吗?
From a newby: Can one mediawiki installaiton have two wikis?
我们计划使用 mediawiki 作为我们产品文档的基础。访问控制将用于授予客户对内容的访问权限。
我们还想将 mediawiki 用于我们的一些内部文档,客户不应访问的内容。
是否可以配置 mediawiki 的一个安装,以便一组用户看到某些 wiki 内容而另一组用户看到其他 wiki 内容?如果是这样,请指出相应的文档,因为我什至不确定这将被称为什么(因此我不确定在哪里看)。
谢谢。
如果你的意思是,你想将某些页面的 "view" 权限限制在特定的组中,那么答案是可能的。使用默认的 MediaWiki 安装,这是不可能的,因为 MediaWiki 被设计为 "open" 所有用户(至少是查看权限)。您可以 "just" 限制特定组可以阅读或不能阅读,但这将始终意味着所有页面。
也许您的问题可以通过真正 两个wiki 来解决,而不是在一个 wiki 中持有两个"sections"。为此,您需要:
- 在您的文件系统上安装一个 MediaWiki(解压缩 mediawiki tarball 版本),例如/var/www/html/mediawiki/
- 两个 mysql 数据库(或者您使用两个数据库前缀)
- 两个不同的 url(例如 example.com/wiki1 和 example.com/wiki2 或 wiki1.example.com 和 wiki2.example.com)
- 有点复杂的 MediaWiki 配置
现在,您首先需要在您的网络服务器中创建两个虚拟主机。两者都应指向您的 mediawiki (/var/www/mediawiki/) 的安装目录。在下一步中,您需要创建一个配置,该配置将根据用户请求的 wiki(取决于使用的 url)而有所不同。这有点棘手,而且在 MediaWiki 中几乎没有记录,但实际上它是这样工作的:
- 你create a wgConf object
- 您使用有效的 wiki 填充此 wgConf 对象(通常您使用唯一的名称,例如数据库名称)
- 您让 wgConf 提取所有设置(使用 wiki 的名称,例如 dbname)
wgConf 手册页中或多或少地记录了这部分内容。更棘手的方法是正确解析 url 并设置您需要的所有信息。 Wikimedia 基金会使用一个名为 MultiVersion. This tool does a bit more as just parsing the url to indentify the wiki, but ok. With MultiVersion you would then set the configuration variable wgDBname which you then use to load the wgConf data. For more information, you should ask specific questions and look into the git repository of the Wikimedia foundations configuration. I use a similar approach with just 2 wikis 的脚本,以及更小的 MultiVersion(但它基于 WMF 的思想),因此也许这也能帮助您了解配置 wiki 的方法。
例如,您还需要确保维基能够 create inter-wiki links to link, e.g., a documentation of your public wiki in your internal wiki and vice versa. And you probably want to make sure, that some database tables are shared by one wiki, so your users just need to register once to access both wikis (and set the internal read permission for users to false, so that you have to give access to users ecplicitly). See $wgSharedDB and the manual for shared databases。我的两个wiki的配置使用了这个功能来共享用户表。
如果一个安装是指一个数据库,这是可能的,但非常不明智。如果您仍然决定尝试,请参阅 this section of the manual for explanation and Category:Page specific user rights extensions (especially the Lockdown 扩展名。
使用相同的安装目录(即 PHP 文件)但不同的数据库就可以了。关于 wiki farms 的手册页描述了几种方法。
我们计划使用 mediawiki 作为我们产品文档的基础。访问控制将用于授予客户对内容的访问权限。
我们还想将 mediawiki 用于我们的一些内部文档,客户不应访问的内容。
是否可以配置 mediawiki 的一个安装,以便一组用户看到某些 wiki 内容而另一组用户看到其他 wiki 内容?如果是这样,请指出相应的文档,因为我什至不确定这将被称为什么(因此我不确定在哪里看)。
谢谢。
如果你的意思是,你想将某些页面的 "view" 权限限制在特定的组中,那么答案是可能的。使用默认的 MediaWiki 安装,这是不可能的,因为 MediaWiki 被设计为 "open" 所有用户(至少是查看权限)。您可以 "just" 限制特定组可以阅读或不能阅读,但这将始终意味着所有页面。
也许您的问题可以通过真正 两个wiki 来解决,而不是在一个 wiki 中持有两个"sections"。为此,您需要:
- 在您的文件系统上安装一个 MediaWiki(解压缩 mediawiki tarball 版本),例如/var/www/html/mediawiki/
- 两个 mysql 数据库(或者您使用两个数据库前缀)
- 两个不同的 url(例如 example.com/wiki1 和 example.com/wiki2 或 wiki1.example.com 和 wiki2.example.com)
- 有点复杂的 MediaWiki 配置
现在,您首先需要在您的网络服务器中创建两个虚拟主机。两者都应指向您的 mediawiki (/var/www/mediawiki/) 的安装目录。在下一步中,您需要创建一个配置,该配置将根据用户请求的 wiki(取决于使用的 url)而有所不同。这有点棘手,而且在 MediaWiki 中几乎没有记录,但实际上它是这样工作的:
- 你create a wgConf object
- 您使用有效的 wiki 填充此 wgConf 对象(通常您使用唯一的名称,例如数据库名称)
- 您让 wgConf 提取所有设置(使用 wiki 的名称,例如 dbname)
wgConf 手册页中或多或少地记录了这部分内容。更棘手的方法是正确解析 url 并设置您需要的所有信息。 Wikimedia 基金会使用一个名为 MultiVersion. This tool does a bit more as just parsing the url to indentify the wiki, but ok. With MultiVersion you would then set the configuration variable wgDBname which you then use to load the wgConf data. For more information, you should ask specific questions and look into the git repository of the Wikimedia foundations configuration. I use a similar approach with just 2 wikis 的脚本,以及更小的 MultiVersion(但它基于 WMF 的思想),因此也许这也能帮助您了解配置 wiki 的方法。
例如,您还需要确保维基能够 create inter-wiki links to link, e.g., a documentation of your public wiki in your internal wiki and vice versa. And you probably want to make sure, that some database tables are shared by one wiki, so your users just need to register once to access both wikis (and set the internal read permission for users to false, so that you have to give access to users ecplicitly). See $wgSharedDB and the manual for shared databases。我的两个wiki的配置使用了这个功能来共享用户表。
如果一个安装是指一个数据库,这是可能的,但非常不明智。如果您仍然决定尝试,请参阅 this section of the manual for explanation and Category:Page specific user rights extensions (especially the Lockdown 扩展名。
使用相同的安装目录(即 PHP 文件)但不同的数据库就可以了。关于 wiki farms 的手册页描述了几种方法。