是否有任何角色来管理或创建多个wiki?我已经检查了手册:维基家族,并了解在MediaWiki中创建多个wiki的正常方式。
手册之外,我还想分享我得到的东西。
除了多个域/子域之外,您还可以获得多个wiki的多个路径。每个设置文件都将采用不同的配置设置,方法是在每个设置文件的末尾行添加操作路径,如下所示:
# End of automatically generated settings.
# Add more configuration options below.
$wgArticlePath = "/map/$1";
$actions = array( 'edit', 'watch', 'unwatch', 'delete','revert', 'rollback',
'protect', 'unprotect', 'markpatrolled', 'render', 'submit', 'history',
'purge', 'info' );
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "$wgArticlePath/$action";
}
$wgActionPaths['view'] = "$wgArticlePath";
将 map
变量更改为每个设置文件上的路径,然后将它们放在完全遵循您的路径的文件夹下。
因此,您可以在本地设置中修改代码.php如下所示:
<?php
// Include common settings to all wikis before this line (eg. database configuration)
$paths = explode('/' , $_SERVER['REQUEST_URI']);
if($paths[2] === NULL) {$path = 'map';} else {$path = $paths[1];}
switch ( $_SERVER['SERVER_NAME'] ) {
case 'wiki.tophyips.info':
require_once "settings/$path/tophyips.php";
break;
case 'wiki.hyipscript.info':
require_once "settings/$path/hyipscript.php";
break;
case 'wiki.hyipmonitors.info':
require_once "settings/$path/hyipmonitors.php";
break;
default:
header( 'HTTP/1.1 404 Not Found' );
echo 'This wiki is not available. Check configuration.';
exit( 0 );
}
将 $path = 'map';
上的 map
变量更改为您在上述设置文件上放置的所有路径中选择的默认路径之一。
您可以在我的维基家族页面上查看上述配置的结果。
mediawiki::wiki
模块用于创建wiki。使用它的一些角色是commons
和private
(肯定还有更多)。如果您只想创建没有任何额外配置的 wiki,您只需编写mediawiki::wiki{<wikiname>:}
并将其放入puppet/modules/role/manifests/my_role.pp
(在角色块内 - 有关格式,请参阅其他角色文件),然后您可以通过 vagrant roles
启用/禁用。