Create a “private” wiki using mediawiki

Using mediawiki one can create an elegant collection of resources for a user community. These pages can be open to all, or only available to those logged in, but there is not an easy road to take if you want something in between.

The short solution is to split a wiki with private internal parts and public parts into two wikis. If you are currently creating a wiki that will house pages only for internal use that outside users should not see it would be best to set up two interlinked wikis now, before content gets added.

To create a private wiki that only allows anonymous users to see the main page and login pages add the following to your LocalSettings.php file.

#do not allow anonymous users create an account
$wgGroupPermissions[‘*’][‘createaccount’] = false;

# require that users log in to edit
$wgGroupPermissions[‘*’][‘edit’] = false;

# allow these pages for anonymous users (Main Page and login)
$wgWhitelistRead = array( “Main Page”, “Special:Userlogin”, “-”, “MediaWiki:Monobook.css” );

# remove the link to the talk page for non-logged in users
$wgShowIPinHeader = false;

# require that users log in to read
$wgGroupPermissions[‘*’][‘read’] = false;